More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 50 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Pay ERC20Benefic... | 21039604 | 10 days ago | IN | 0 ETH | 0.00018651 | ||||
Pay ETH Benefici... | 20874528 | 34 days ago | IN | 0 ETH | 0.00024226 | ||||
Pay ERC20Benefic... | 20846426 | 37 days ago | IN | 0 ETH | 0.00030318 | ||||
Pay ERC20Benefic... | 20632739 | 67 days ago | IN | 0 ETH | 0.00004643 | ||||
Pay ERC20Benefic... | 20438066 | 94 days ago | IN | 0 ETH | 0.0001032 | ||||
Pay ERC20Benefic... | 20251347 | 121 days ago | IN | 0 ETH | 0.00005823 | ||||
Pay ERC20Benefic... | 20036300 | 151 days ago | IN | 0 ETH | 0.00035678 | ||||
Pay ERC20Benefic... | 19832738 | 179 days ago | IN | 0 ETH | 0.00014743 | ||||
Pay ERC20Benefic... | 19635347 | 207 days ago | IN | 0 ETH | 0.00050445 | ||||
Pay ERC20Benefic... | 19437063 | 235 days ago | IN | 0 ETH | 0.00141246 | ||||
Pay ERC20Benefic... | 19237102 | 263 days ago | IN | 0 ETH | 0.00080754 | ||||
Pay ERC20Benefic... | 19038200 | 290 days ago | IN | 0 ETH | 0.00105054 | ||||
Pay ERC20Benefic... | 18838705 | 318 days ago | IN | 0 ETH | 0.00105124 | ||||
Pay ERC20Benefic... | 18642137 | 346 days ago | IN | 0 ETH | 0.00124885 | ||||
Pay ERC20Benefic... | 18460269 | 371 days ago | IN | 0 ETH | 0.00042843 | ||||
Pay ERC20Benefic... | 18253077 | 400 days ago | IN | 0 ETH | 0.00022188 | ||||
Pay ETH Benefici... | 18210511 | 406 days ago | IN | 0 ETH | 0.00026 | ||||
Pay ETH Benefici... | 18170187 | 412 days ago | IN | 0 ETH | 0.00061923 | ||||
Pay ETH Benefici... | 18153286 | 414 days ago | IN | 0 ETH | 0.0003051 | ||||
Pay ERC20Benefic... | 18036455 | 431 days ago | IN | 0 ETH | 0.00118636 | ||||
Pay ETH Benefici... | 17881970 | 452 days ago | IN | 0 ETH | 0.00061483 | ||||
Pay ERC20Benefic... | 17837249 | 459 days ago | IN | 0 ETH | 0.00068415 | ||||
Pay ERC20Benefic... | 17634872 | 487 days ago | IN | 0 ETH | 0.00117887 | ||||
Pay ERC20Benefic... | 17435890 | 515 days ago | IN | 0 ETH | 0.00116623 | ||||
Pay ETH Benefici... | 17319426 | 531 days ago | IN | 0 ETH | 0.00134586 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21108542 | 32 hrs ago | 7.21744043 ETH | ||||
21108485 | 32 hrs ago | 5.84072157 ETH | ||||
21105443 | 42 hrs ago | 7.53915246 ETH | ||||
21105385 | 42 hrs ago | 5.9793932 ETH | ||||
21053126 | 9 days ago | 0.59807624 ETH | ||||
21053125 | 9 days ago | 0.57815535 ETH | ||||
21053124 | 9 days ago | 0.57582706 ETH | ||||
21053039 | 9 days ago | 0.57612853 ETH | ||||
21053038 | 9 days ago | 0.57801821 ETH | ||||
21053037 | 9 days ago | 0.57770312 ETH | ||||
21053036 | 9 days ago | 0.60167656 ETH | ||||
21053035 | 9 days ago | 0.57957473 ETH | ||||
21053034 | 9 days ago | 0.57734705 ETH | ||||
21053033 | 9 days ago | 0.57762338 ETH | ||||
21053032 | 9 days ago | 0.57658861 ETH | ||||
21053031 | 9 days ago | 0.57553986 ETH | ||||
21053030 | 9 days ago | 0.57543409 ETH | ||||
21052998 | 9 days ago | 0.57721561 ETH | ||||
21052997 | 9 days ago | 0.57753084 ETH | ||||
21052996 | 9 days ago | 0.57803235 ETH | ||||
21052995 | 9 days ago | 0.57593995 ETH | ||||
21052994 | 9 days ago | 0.60427101 ETH | ||||
21052993 | 9 days ago | 0.57526736 ETH | ||||
21052992 | 9 days ago | 0.60129951 ETH | ||||
21052926 | 9 days ago | 0.58336013 ETH |
Loading...
Loading
Contract Name:
TokenTypeSplitter
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.13; import {ERC20} from 'ERC20.sol'; import {SafeTransferLib} from "SafeTransferLib.sol"; contract TokenTypeSplitter { /// ------------------------------------------------------------------- /// libraries /// ------------------------------------------------------------------- using SafeTransferLib for address; using SafeTransferLib for ERC20; /// ------------------------------------------------------------------- /// storage /// ------------------------------------------------------------------- /// Address to receive funds eth funds address public immutable ethBeneficiary; /// Address to receive funds eth funds address public immutable erc20Beneficiary; /// ------------------------------------------------------------------- /// constructor /// ------------------------------------------------------------------- constructor(address _ethBeneficiary, address _erc20Beneficiary) { ethBeneficiary = _ethBeneficiary; erc20Beneficiary = _erc20Beneficiary; } /// ------------------------------------------------------------------- /// functions /// ------------------------------------------------------------------- /// ------------------------------------------------------------------- /// functions - public & external /// ------------------------------------------------------------------- /// @notice receive ETH receive() external payable {} /// pay eth in contract to `ethBeneficiary` function payETHBeneficiary() external { ethBeneficiary.safeTransferETH(address(this).balance); } /// pay erc20 `token` in contract to `ethBeneficiary` function payERC20Beneficiary(ERC20 token) external { token.safeTransfer(erc20Beneficiary, token.balanceOf(address(this))); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Modern and gas efficient ERC20 + EIP-2612 implementation. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol) /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) /// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it. abstract contract ERC20 { /*/////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); /*/////////////////////////////////////////////////////////////// METADATA STORAGE //////////////////////////////////////////////////////////////*/ string public name; string public symbol; uint8 public immutable decimals; /*/////////////////////////////////////////////////////////////// ERC20 STORAGE //////////////////////////////////////////////////////////////*/ uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; /*/////////////////////////////////////////////////////////////// EIP-2612 STORAGE //////////////////////////////////////////////////////////////*/ bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); uint256 internal immutable INITIAL_CHAIN_ID; bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR; mapping(address => uint256) public nonces; /*/////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor( string memory _name, string memory _symbol, uint8 _decimals ) { name = _name; symbol = _symbol; decimals = _decimals; INITIAL_CHAIN_ID = block.chainid; INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator(); } /*/////////////////////////////////////////////////////////////// ERC20 LOGIC //////////////////////////////////////////////////////////////*/ function approve(address spender, uint256 amount) public virtual returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address to, uint256 amount) public virtual returns (bool) { balanceOf[msg.sender] -= amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(msg.sender, to, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals. if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount; balanceOf[from] -= amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(from, to, amount); return true; } /*/////////////////////////////////////////////////////////////// EIP-2612 LOGIC //////////////////////////////////////////////////////////////*/ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) public virtual { require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED"); // Unchecked because the only math done is incrementing // the owner's nonce which cannot realistically overflow. unchecked { bytes32 digest = keccak256( abi.encodePacked( "\x19\x01", DOMAIN_SEPARATOR(), keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)) ) ); address recoveredAddress = ecrecover(digest, v, r, s); require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER"); allowance[recoveredAddress][spender] = value; } emit Approval(owner, spender, value); } function DOMAIN_SEPARATOR() public view virtual returns (bytes32) { return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator(); } function computeDomainSeparator() internal view virtual returns (bytes32) { return keccak256( abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256(bytes(name)), keccak256("1"), block.chainid, address(this) ) ); } /*/////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 amount) internal virtual { totalSupply += amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(address(0), to, amount); } function _burn(address from, uint256 amount) internal virtual { balanceOf[from] -= amount; // Cannot underflow because a user's balance // will never be larger than the total supply. unchecked { totalSupply -= amount; } emit Transfer(from, address(0), amount); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; import {ERC20} from "ERC20.sol"; /// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/SafeTransferLib.sol) /// @author Modified from Gnosis (https://github.com/gnosis/gp-v2-contracts/blob/main/src/contracts/libraries/GPv2SafeERC20.sol) /// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer. library SafeTransferLib { /*/////////////////////////////////////////////////////////////// ETH OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferETH(address to, uint256 amount) internal { bool callStatus; assembly { // Transfer the ETH and store if it succeeded or not. callStatus := call(gas(), to, amount, 0, 0, 0, 0) } require(callStatus, "ETH_TRANSFER_FAILED"); } /*/////////////////////////////////////////////////////////////// ERC20 OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferFrom( ERC20 token, address from, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(from, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "from" argument. mstore(add(freeMemoryPointer, 36), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 68), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 100 because the calldata length is 4 + 32 * 3. callStatus := call(gas(), token, 0, freeMemoryPointer, 100, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FROM_FAILED"); } function safeTransfer( ERC20 token, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FAILED"); } function safeApprove( ERC20 token, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "APPROVE_FAILED"); } /*/////////////////////////////////////////////////////////////// INTERNAL HELPER LOGIC //////////////////////////////////////////////////////////////*/ function didLastOptionalReturnCallSucceed(bool callStatus) private pure returns (bool success) { assembly { // Get how many bytes the call returned. let returnDataSize := returndatasize() // If the call reverted: if iszero(callStatus) { // Copy the revert message into memory. returndatacopy(0, 0, returnDataSize) // Revert with the same message. revert(0, returnDataSize) } switch returnDataSize case 32 { // Copy the return data into memory. returndatacopy(0, 0, returnDataSize) // Set success to whether it returned true. success := iszero(iszero(mload(0))) } case 0 { // There was no return data. success := 1 } default { // It returned some malformed input. success := 0 } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_ethBeneficiary","type":"address"},{"internalType":"address","name":"_erc20Beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"erc20Beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"token","type":"address"}],"name":"payERC20Beneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"payETHBeneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405234801561001057600080fd5b5060405161074538038061074583398181016040528101906100329190610104565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050610144565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d1826100a6565b9050919050565b6100e1816100c6565b81146100ec57600080fd5b50565b6000815190506100fe816100d8565b92915050565b6000806040838503121561011b5761011a6100a1565b5b6000610129858286016100ef565b925050602061013a858286016100ef565b9150509250929050565b60805160a0516105cf6101766000396000818160ea01526101d20152600081816101ae01526101fa01526105cf6000f3fe6080604052600436106100435760003560e01c8063289af1461461004f5780634cfe72e61461007857806372e5ab02146100a3578063b8b248f9146100ce5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b50610076600480360381019061007191906103f6565b6100e5565b005b34801561008457600080fd5b5061008d6101ac565b60405161009a9190610432565b60405180910390f35b3480156100af57600080fd5b506100b86101d0565b6040516100c59190610432565b60405180910390f35b3480156100da57600080fd5b506100e36101f4565b005b6101a97f00000000000000000000000000000000000000000000000000000000000000008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101429190610432565b602060405180830381865afa15801561015f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101839190610483565b8373ffffffffffffffffffffffffffffffffffffffff1661023f9092919063ffffffff16565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b61023d477f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102e590919063ffffffff16565b565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af19150506102a081610338565b6102df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d69061050d565b60405180910390fd5b50505050565b600080600080600085875af1905080610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a90610579565b60405180910390fd5b505050565b60003d8261034a57806000803e806000fd5b80602081146103645760008114610375576000925061037a565b816000803e6000511515925061037a565b600192505b5050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103b182610386565b9050919050565b60006103c3826103a6565b9050919050565b6103d3816103b8565b81146103de57600080fd5b50565b6000813590506103f0816103ca565b92915050565b60006020828403121561040c5761040b610381565b5b600061041a848285016103e1565b91505092915050565b61042c816103a6565b82525050565b60006020820190506104476000830184610423565b92915050565b6000819050919050565b6104608161044d565b811461046b57600080fd5b50565b60008151905061047d81610457565b92915050565b60006020828403121561049957610498610381565b5b60006104a78482850161046e565b91505092915050565b600082825260208201905092915050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b60006104f7600f836104b0565b9150610502826104c1565b602082019050919050565b60006020820190508181036000830152610526816104ea565b9050919050565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b60006105636013836104b0565b915061056e8261052d565b602082019050919050565b6000602082019050818103600083015261059281610556565b905091905056fea26469706673582212209751415643f77a4f83b056a3ea8514f79d21f6e0f54cf5f78cc08720c408104064736f6c634300080d0033000000000000000000000000cb915b7e689bcecd5de2c1d863a77fb187f713a700000000000000000000000057757e3d981446d585af0d9ae4d7df6d64647806
Deployed Bytecode
0x6080604052600436106100435760003560e01c8063289af1461461004f5780634cfe72e61461007857806372e5ab02146100a3578063b8b248f9146100ce5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b50610076600480360381019061007191906103f6565b6100e5565b005b34801561008457600080fd5b5061008d6101ac565b60405161009a9190610432565b60405180910390f35b3480156100af57600080fd5b506100b86101d0565b6040516100c59190610432565b60405180910390f35b3480156100da57600080fd5b506100e36101f4565b005b6101a97f00000000000000000000000057757e3d981446d585af0d9ae4d7df6d646478068273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101429190610432565b602060405180830381865afa15801561015f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101839190610483565b8373ffffffffffffffffffffffffffffffffffffffff1661023f9092919063ffffffff16565b50565b7f000000000000000000000000cb915b7e689bcecd5de2c1d863a77fb187f713a781565b7f00000000000000000000000057757e3d981446d585af0d9ae4d7df6d6464780681565b61023d477f000000000000000000000000cb915b7e689bcecd5de2c1d863a77fb187f713a773ffffffffffffffffffffffffffffffffffffffff166102e590919063ffffffff16565b565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af19150506102a081610338565b6102df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d69061050d565b60405180910390fd5b50505050565b600080600080600085875af1905080610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a90610579565b60405180910390fd5b505050565b60003d8261034a57806000803e806000fd5b80602081146103645760008114610375576000925061037a565b816000803e6000511515925061037a565b600192505b5050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103b182610386565b9050919050565b60006103c3826103a6565b9050919050565b6103d3816103b8565b81146103de57600080fd5b50565b6000813590506103f0816103ca565b92915050565b60006020828403121561040c5761040b610381565b5b600061041a848285016103e1565b91505092915050565b61042c816103a6565b82525050565b60006020820190506104476000830184610423565b92915050565b6000819050919050565b6104608161044d565b811461046b57600080fd5b50565b60008151905061047d81610457565b92915050565b60006020828403121561049957610498610381565b5b60006104a78482850161046e565b91505092915050565b600082825260208201905092915050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b60006104f7600f836104b0565b9150610502826104c1565b602082019050919050565b60006020820190508181036000830152610526816104ea565b9050919050565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b60006105636013836104b0565b915061056e8261052d565b602082019050919050565b6000602082019050818103600083015261059281610556565b905091905056fea26469706673582212209751415643f77a4f83b056a3ea8514f79d21f6e0f54cf5f78cc08720c408104064736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cb915b7e689bcecd5de2c1d863a77fb187f713a700000000000000000000000057757e3d981446d585af0d9ae4d7df6d64647806
-----Decoded View---------------
Arg [0] : _ethBeneficiary (address): 0xcB915b7E689bcEcD5De2C1d863A77fb187f713a7
Arg [1] : _erc20Beneficiary (address): 0x57757E3D981446D585Af0D9Ae4d7DF6D64647806
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cb915b7e689bcecd5de2c1d863a77fb187f713a7
Arg [1] : 00000000000000000000000057757e3d981446d585af0d9ae4d7df6d64647806
Deployed Bytecode Sourcemap
157:1750:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1769:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;650:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;738:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1597:108;;;;;;;;;;;;;:::i;:::-;;1769:136;1830:68;1849:16;1867:5;:15;;;1891:4;1867:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1830:5;:18;;;;:68;;;;;:::i;:::-;1769:136;:::o;650:39::-;;;:::o;738:41::-;;;:::o;1597:108::-;1645:53;1676:21;1645:14;:30;;;;:53;;;;:::i;:::-;1597:108::o;2493:1043:1:-;2605:15;2735:4;2729:11;2852:66;2833:17;2826:93;3011:42;3007:2;3003:51;2999:1;2980:17;2976:25;2969:86;3141:6;3136:2;3117:17;3113:26;3106:42;3435:1;3432;3428:2;3409:17;3406:1;3399:5;3392;3387:50;3373:64;;2640:807;3465:44;3498:10;3465:32;:44::i;:::-;3457:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2595:941;2493:1043;;;:::o;774:305::-;846:15;1008:1;1005;1002;999;991:6;987:2;980:5;975:35;961:49;;1038:10;1030:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;836:243;774:305;;:::o;4776:1041::-;4857:12;4979:16;5056:10;5046:238;;5163:14;5160:1;5157;5142:36;5255:14;5252:1;5245:25;5046:238;5305:14;5337:2;5332:242;;;;5592:1;5587:96;;;;5786:1;5775:12;;5298:503;;5332:242;5432:14;5429:1;5426;5411:36;5556:1;5550:8;5543:16;5536:24;5525:35;;5332:242;;5587:96;5668:1;5657:12;;5298:503;;4890:921;4776:1041;;;:::o;88:117:3:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:109::-;618:7;647:24;665:5;647:24;:::i;:::-;636:35;;568:109;;;:::o;683:148::-;769:37;800:5;769:37;:::i;:::-;762:5;759:48;749:76;;821:1;818;811:12;749:76;683:148;:::o;837:165::-;896:5;934:6;921:20;912:29;;950:46;990:5;950:46;:::i;:::-;837:165;;;;:::o;1008:355::-;1080:6;1129:2;1117:9;1108:7;1104:23;1100:32;1097:119;;;1135:79;;:::i;:::-;1097:119;1255:1;1280:66;1338:7;1329:6;1318:9;1314:22;1280:66;:::i;:::-;1270:76;;1226:130;1008:355;;;;:::o;1369:118::-;1456:24;1474:5;1456:24;:::i;:::-;1451:3;1444:37;1369:118;;:::o;1493:222::-;1586:4;1624:2;1613:9;1609:18;1601:26;;1637:71;1705:1;1694:9;1690:17;1681:6;1637:71;:::i;:::-;1493:222;;;;:::o;1721:77::-;1758:7;1787:5;1776:16;;1721:77;;;:::o;1804:122::-;1877:24;1895:5;1877:24;:::i;:::-;1870:5;1867:35;1857:63;;1916:1;1913;1906:12;1857:63;1804:122;:::o;1932:143::-;1989:5;2020:6;2014:13;2005:22;;2036:33;2063:5;2036:33;:::i;:::-;1932:143;;;;:::o;2081:351::-;2151:6;2200:2;2188:9;2179:7;2175:23;2171:32;2168:119;;;2206:79;;:::i;:::-;2168:119;2326:1;2351:64;2407:7;2398:6;2387:9;2383:22;2351:64;:::i;:::-;2341:74;;2297:128;2081:351;;;;:::o;2438:169::-;2522:11;2556:6;2551:3;2544:19;2596:4;2591:3;2587:14;2572:29;;2438:169;;;;:::o;2613:165::-;2753:17;2749:1;2741:6;2737:14;2730:41;2613:165;:::o;2784:366::-;2926:3;2947:67;3011:2;3006:3;2947:67;:::i;:::-;2940:74;;3023:93;3112:3;3023:93;:::i;:::-;3141:2;3136:3;3132:12;3125:19;;2784:366;;;:::o;3156:419::-;3322:4;3360:2;3349:9;3345:18;3337:26;;3409:9;3403:4;3399:20;3395:1;3384:9;3380:17;3373:47;3437:131;3563:4;3437:131;:::i;:::-;3429:139;;3156:419;;;:::o;3581:169::-;3721:21;3717:1;3709:6;3705:14;3698:45;3581:169;:::o;3756:366::-;3898:3;3919:67;3983:2;3978:3;3919:67;:::i;:::-;3912:74;;3995:93;4084:3;3995:93;:::i;:::-;4113:2;4108:3;4104:12;4097:19;;3756:366;;;:::o;4128:419::-;4294:4;4332:2;4321:9;4317:18;4309:26;;4381:9;4375:4;4371:20;4367:1;4356:9;4352:17;4345:47;4409:131;4535:4;4409:131;:::i;:::-;4401:139;;4128:419;;;:::o
Swarm Source
ipfs://9751415643f77a4f83b056a3ea8514f79d21f6e0f54cf5f78cc08720c4081040
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,386.86 | 111.8916 | $267,070.02 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.