0x5fb1d86a48251f6163af5e9cc68a501e11ac3e58
deployer: unknown
relevance score: 20
status: partially_identified
bytecode: 3483 bytes
DECOMPILED SOLIDITY (Heimdall)
VERIFY
// SPDX-License-Identifier: MIT
pragma solidity > = 0.8 . 0 ;
/// @title Decompiled Contract
/// @author Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version heimdall-rs v0.9.2
///
/// @notice This contract was decompiled using the heimdall-rs decompiler.
/// It was generated directly by tracing the EVM opcodes from this contract.
/// As a result, it may not compile or even be valid solidity code.
/// Despite this, it should be obvious what each function does. Overall
/// logic should have been preserved throughout decompiling.
///
/// @custom:github You can find the open-source decompiler here:
/// https://heimdall.rs
contract DecompiledContract {
uint256 public unresolved_f02bf6c9;
event ContractDeployed( address , bytes32 , address ) ;
/// @custom:selector 0xb61d27f6
/// @custom:signature Unresolved_b61d27f6(address arg0, uint256 arg1, uint256 arg2) public payable returns (bytes memory)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function Unresolved_b61d27f6( address arg0, uint256 arg1, uint256 arg2) public payable returns ( bytes memory ) {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
require ( ! arg2 > 0xffffffffffffffff ) ;
require ( ! ( arg2) > 0xffffffffffffffff ) ;
require ( address ( tx. origin) = = 0x98c89980d1eae247ada3636ae27648f78e66e121 , "External call failed" ) ;
( bool success, bytes memory ret0) = address ( arg0) . transfer( arg1) ;
require ( ret0. length = = 0 , "External call failed" ) ;
return abi. encodePacked( ( var_d + 0x20 ) - var_d, var_h) ;
uint256 var_d = var_d + ( uint248 ( ret0. length + 0x3f ) ) ;
return abi. encodePacked( ( var_d + 0x20 ) - var_d, var_d. length) ;
}
/// @custom:selector 0xc7aeef0f
/// @custom:signature Unresolved_c7aeef0f(uint256 arg0, uint256 arg1, uint256 arg2) public payable returns (address)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function Unresolved_c7aeef0f( uint256 arg0, uint256 arg1, uint256 arg2) public payable returns ( address ) {
require ( arg0 = = arg0) ;
require ( ! arg1 > 0xffffffffffffffff ) ;
require ( ! ( arg1) > 0xffffffffffffffff ) ;
require ( arg2 = = arg2) ;
var_a = 0x40 + var_a;
var_a = ( ( ( 0x20 + var_a) + var_a. length) + 0x14 ) + var_a. length;
require ( address ( keccak256( var_m) > > 0 ) . code. length = = 0 , "fail to create2 contract" ) ;
require ( arg2 > 0 , "fail to create2 contract" ) ;
unresolved_f02bf6c9 = arg2;
require ( ! ( 0 < arg2) , "fail to create2 contract" ) ;
require ( address ( this) . balance > 0x01 , "fail to create2 contract" ) ;
require ( ! ( ( address ( this) . balance - 0x01 ) > address ( this) . balance) , "fail to create2 contract" ) ;
var_a = 0x40 + var_a;
var_a = ( ( ( 0x20 + var_a) + var_a. length) + 0x14 ) + var_a. length;
assembly { addr : = create( address ( this) . balance - 0x01 , var_a + 0x20 , var_a. length, arg0) }
require ( ! ( address ( 245 ) = = ( address ( keccak256( var_m) > > 0 ) ) ) , "fail to create2 contract" ) ;
require ( ! ( address ( 245 ) = = 0 ) , "fail to create2 contract" ) ;
emit ContractDeployed( address ( msg. sender) , arg0, address ( 245 ) ) ;
return address ( 245 ) ;
require ( address ( 245 ) = = ( address ( keccak256( var_m) > > 0 ) ) , "fail to create2 contract" ) ;
emit ContractDeployed( address ( msg. sender) , arg0, address ( 245 ) ) ;
return address ( 245 ) ;
}
/// @custom:selector 0x93757745
/// @custom:signature deployAddress(bytes32 arg0, address arg1) public pure returns (address)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function deployAddress( bytes32 arg0, address arg1) public pure returns ( address ) {
require ( arg0 = = arg0) ;
require ( arg1 = = ( address ( arg1) ) ) ;
var_a = 0x40 + var_a;
var_a = ( ( ( 0x20 + var_a) + var_a. length) + 0x14 ) + var_a. length;
return address ( keccak256( var_m) > > 0 ) ;
}
}
ABI
[
{
"type": "function",
"name": "Unresolved_b61d27f6",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_c7aeef0f",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_f02bf6c9",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "deployAddress",
"inputs": [
{
"name": "arg0",
"type": "bytes32"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "pure"
},
{
"type": "event",
"name": "ContractDeployed",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "bytes32",
"indexed": false
},
{
"name": "arg2",
"type": "address",
"indexed": false
}
],
"anonymous": false
}
]
KNOWN CLUSTER ADDRESSES IN THIS BYTECODE (1)
0x98c89980d1eae247ada3636ae27648f78e66e121 (Pioneer_E121)
VERIFY
CSV
on-chain verify terminal
ⓘ
Query any address live from your own browser. code/owner/symbol/supply/storage/impl read directly from the PulseChain RPC - these are live on-chain facts anyone can reproduce. An address can be a wallet (EOA) or a contract ; use code <addr> to tell them apart (no code = wallet). The trace command is different: it uses a pre-scanned dataset (not live), still being expanded block-by-block, so some addresses aren't in it yet. Nothing is sent or logged.
✕
pDAI-1$