Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
PEPERegistry
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/Create2.sol"; import "./interfaces/IERC6551Registry.sol"; import "./lib/ERC6551BytecodeLib.sol"; contract PEPERegistry is IERC6551Registry { error InitializationFailed(); address public _nft; address public owner; constructor(address _nftContract, address _owner) { _nft = _nftContract; owner = _owner; } function createAccount( address implementation, uint256 chainId, address tokenContract, uint256 tokenId, uint256 salt, bytes calldata initData ) external returns (address) { require(_nft == tokenContract, "Invalid NFT"); bytes memory code = ERC6551BytecodeLib.getCreationCode( implementation, chainId, tokenContract, tokenId, salt ); address _account = Create2.computeAddress( bytes32(salt), keccak256(code) ); if (_account.code.length != 0) return _account; emit AccountCreated( _account, implementation, chainId, tokenContract, tokenId, salt ); _account = Create2.deploy(0, bytes32(salt), code); if (initData.length != 0) { (bool success, ) = _account.call(initData); if (!success) revert InitializationFailed(); } return _account; } function account( address implementation, uint256 chainId, address tokenContract, uint256 tokenId, uint256 salt ) external view returns (address) { bytes32 bytecodeHash = keccak256( ERC6551BytecodeLib.getCreationCode( implementation, chainId, tokenContract, tokenId, salt ) ); return Create2.computeAddress(bytes32(salt), bytecodeHash); } function updateNFT(address _nftAddr) external { require(msg.sender == owner, "Not Owner"); _nft = _nftAddr; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (utils/Create2.sol) pragma solidity ^0.8.0; /** * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer. * `CREATE2` can be used to compute in advance the address where a smart * contract will be deployed, which allows for interesting new mechanisms known * as 'counterfactual interactions'. * * See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more * information. */ library Create2 { /** * @dev Deploys a contract using `CREATE2`. The address where the contract * will be deployed can be known in advance via {computeAddress}. * * The bytecode for a contract can be obtained from Solidity with * `type(contractName).creationCode`. * * Requirements: * * - `bytecode` must not be empty. * - `salt` must have not been used for `bytecode` already. * - the factory must have a balance of at least `amount`. * - if `amount` is non-zero, `bytecode` must have a `payable` constructor. */ function deploy(uint256 amount, bytes32 salt, bytes memory bytecode) internal returns (address addr) { require(address(this).balance >= amount, "Create2: insufficient balance"); require(bytecode.length != 0, "Create2: bytecode length is zero"); /// @solidity memory-safe-assembly assembly { addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt) } require(addr != address(0), "Create2: Failed on deploy"); } /** * @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the * `bytecodeHash` or `salt` will result in a new destination address. */ function computeAddress(bytes32 salt, bytes32 bytecodeHash) internal view returns (address) { return computeAddress(salt, bytecodeHash, address(this)); } /** * @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at * `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}. */ function computeAddress(bytes32 salt, bytes32 bytecodeHash, address deployer) internal pure returns (address addr) { /// @solidity memory-safe-assembly assembly { let ptr := mload(0x40) // Get free memory pointer // | | ↓ ptr ... ↓ ptr + 0x0B (start) ... ↓ ptr + 0x20 ... ↓ ptr + 0x40 ... | // |-------------------|---------------------------------------------------------------------------| // | bytecodeHash | CCCCCCCCCCCCC...CC | // | salt | BBBBBBBBBBBBB...BB | // | deployer | 000000...0000AAAAAAAAAAAAAAAAAAA...AA | // | 0xFF | FF | // |-------------------|---------------------------------------------------------------------------| // | memory | 000000...00FFAAAAAAAAAAAAAAAAAAA...AABBBBBBBBBBBBB...BBCCCCCCCCCCCCC...CC | // | keccak(start, 85) | ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ | mstore(add(ptr, 0x40), bytecodeHash) mstore(add(ptr, 0x20), salt) mstore(ptr, deployer) // Right-aligned with 12 preceding garbage bytes let start := add(ptr, 0x0b) // The hashed data starts at the final garbage byte which we will set to 0xff mstore8(start, 0xff) addr := keccak256(start, 85) } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC6551Registry { event AccountCreated( address account, address implementation, uint256 chainId, address tokenContract, uint256 tokenId, uint256 salt ); function createAccount( address implementation, uint256 chainId, address tokenContract, uint256 tokenId, uint256 seed, bytes calldata initData ) external returns (address); function account( address implementation, uint256 chainId, address tokenContract, uint256 tokenId, uint256 salt ) external view returns (address); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; library ERC6551BytecodeLib { function getCreationCode( address implementation_, uint256 chainId_, address tokenContract_, uint256 tokenId_, uint256 salt_ ) internal pure returns (bytes memory) { return abi.encodePacked( hex"3d60ad80600a3d3981f3363d3d373d3d3d363d73", implementation_, hex"5af43d82803e903d91602b57fd5bf3", abi.encode(salt_, chainId_, tokenContract_, tokenId_) ); } }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "berlin", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_nftContract","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InitializationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"implementation","type":"address"},{"indexed":false,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenContract","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"salt","type":"uint256"}],"name":"AccountCreated","type":"event"},{"inputs":[],"name":"_nft","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salt","type":"uint256"}],"name":"account","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"initData","type":"bytes"}],"name":"createAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nftAddr","type":"address"}],"name":"updateNFT","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161076c38038061076c83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106ae806100be6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635be68e931461005c5780635e9bc536146100715780638da5cb5b146100a057806398300e18146100b3578063da7323b3146100c6575b600080fd5b61006f61006a3660046104cd565b6100d9565b005b61008461007f3660046104e8565b610146565b6040516001600160a01b03909116815260200160405180910390f35b600154610084906001600160a01b031681565b600054610084906001600160a01b031681565b6100846100d4366004610536565b610175565b6001546001600160a01b031633146101245760405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b60448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806101568787878787610306565b8051602090910120905061016a838261036f565b979650505050505050565b600080546001600160a01b038781169116146101c15760405162461bcd60e51b815260206004820152600b60248201526a125b9d985b1a590813919560aa1b604482015260640161011b565b60006101d08989898989610306565b905060006101e88660001b838051906020012061036f565b90506001600160a01b0381163b1561020357915061016a9050565b604080516001600160a01b0383811682528c811660208301528183018c90528a1660608201526080810189905260a0810188905290517f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9181900360c00190a161026f60008784610383565b905083156102f9576000816001600160a01b031686866040516102939291906105e7565b6000604051808303816000865af19150503d80600081146102d0576040519150601f19603f3d011682016040523d82523d6000602084013e6102d5565b606091505b50509050806102f757604051630337323560e31b815260040160405180910390fd5b505b9998505050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f198184030181529082905261035592916020016105f7565b604051602081830303815290604052905095945050505050565b600061037c838330610487565b9392505050565b6000834710156103d55760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161011b565b81516000036104265760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161011b565b8282516020840186f590506001600160a01b03811661037c5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161011b565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b03811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b61037c826104b1565b600080600080600060a0868803121561050057600080fd5b610509866104b1565b94506020860135935061051e604087016104b1565b94979396509394606081013594506080013592915050565b600080600080600080600060c0888a03121561055157600080fd5b61055a886104b1565b96506020880135955061056f604089016104b1565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561059a57600080fd5b818a0191508a601f8301126105ae57600080fd5b8135818111156105bd57600080fd5b8b60208285010111156105cf57600080fd5b60208301945080935050505092959891949750929550565b8183823760009101908152919050565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b60288201528151600090815b818110156106665760208186018101516037868401015201610649565b5060009201603701918252509291505056fea2646970667358221220ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c662064736f6c63430008120033000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80635be68e931461005c5780635e9bc536146100715780638da5cb5b146100a057806398300e18146100b3578063da7323b3146100c6575b600080fd5b61006f61006a3660046104cd565b6100d9565b005b61008461007f3660046104e8565b610146565b6040516001600160a01b03909116815260200160405180910390f35b600154610084906001600160a01b031681565b600054610084906001600160a01b031681565b6100846100d4366004610536565b610175565b6001546001600160a01b031633146101245760405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b60448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806101568787878787610306565b8051602090910120905061016a838261036f565b979650505050505050565b600080546001600160a01b038781169116146101c15760405162461bcd60e51b815260206004820152600b60248201526a125b9d985b1a590813919560aa1b604482015260640161011b565b60006101d08989898989610306565b905060006101e88660001b838051906020012061036f565b90506001600160a01b0381163b1561020357915061016a9050565b604080516001600160a01b0383811682528c811660208301528183018c90528a1660608201526080810189905260a0810188905290517f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9181900360c00190a161026f60008784610383565b905083156102f9576000816001600160a01b031686866040516102939291906105e7565b6000604051808303816000865af19150503d80600081146102d0576040519150601f19603f3d011682016040523d82523d6000602084013e6102d5565b606091505b50509050806102f757604051630337323560e31b815260040160405180910390fd5b505b9998505050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f198184030181529082905261035592916020016105f7565b604051602081830303815290604052905095945050505050565b600061037c838330610487565b9392505050565b6000834710156103d55760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161011b565b81516000036104265760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161011b565b8282516020840186f590506001600160a01b03811661037c5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161011b565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b03811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b61037c826104b1565b600080600080600060a0868803121561050057600080fd5b610509866104b1565b94506020860135935061051e604087016104b1565b94979396509394606081013594506080013592915050565b600080600080600080600060c0888a03121561055157600080fd5b61055a886104b1565b96506020880135955061056f604089016104b1565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561059a57600080fd5b818a0191508a601f8301126105ae57600080fd5b8135818111156105bd57600080fd5b8b60208285010111156105cf57600080fd5b60208301945080935050505092959891949750929550565b8183823760009101908152919050565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b60288201528151600090815b818110156106665760208186018101516037868401015201610649565b5060009201603701918252509291505056fea2646970667358221220ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c662064736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9
-----Decoded View---------------
Arg [0] : _nftContract (address): 0x886A4685dB071acA57427B6835f38fbBEA08Dd10
Arg [1] : _owner (address): 0xE87343eD0a37edbC016de6A62CbD85e4150526a9
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000886a4685db071aca57427b6835f38fbbea08dd10
Arg [1] : 000000000000000000000000e87343ed0a37edbc016de6a62cbd85e4150526a9
Deployed Bytecode Sourcemap
194:1982:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2045:129;;;;;;:::i;:::-;;:::i;:::-;;1524:515;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1018:32:4;;;1000:51;;988:2;973:18;1524:515:1;;;;;;;302:20;;;;;-1:-1:-1;;;;;302:20:1;;;277:19;;;;;-1:-1:-1;;;;;277:19:1;;;445:1073;;;;;;:::i;:::-;;:::i;2045:129::-;2123:5;;-1:-1:-1;;;;;2123:5:1;2109:10;:19;2101:41;;;;-1:-1:-1;;;2101:41:1;;2215:2:4;2101:41:1;;;2197:21:4;2254:1;2234:18;;;2227:29;-1:-1:-1;;;2272:18:4;;;2265:39;2321:18;;2101:41:1;;;;;;;;;2152:4;:15;;-1:-1:-1;;;;;;2152:15:1;-1:-1:-1;;;;;2152:15:1;;;;;;;;;;2045:129::o;1524:515::-;1705:7;1724:20;1770:183;1822:14;1854:7;1879:13;1910:7;1935:4;1770:34;:183::i;:::-;1747:216;;;;;;;;-1:-1:-1;1981:51:1;2012:4;1747:216;1981:22;:51::i;:::-;1974:58;1524:515;-1:-1:-1;;;;;;;1524:515:1:o;445:1073::-;660:7;687:4;;-1:-1:-1;;;;;687:21:1;;;:4;;:21;679:45;;;;-1:-1:-1;;;679:45:1;;2552:2:4;679:45:1;;;2534:21:4;2591:2;2571:18;;;2564:30;-1:-1:-1;;;2610:18:4;;;2603:41;2661:18;;679:45:1;2350:335:4;679:45:1;734:17;754:159;802:14;830:7;851:13;878:7;899:4;754:34;:159::i;:::-;734:179;;924:16;943:88;987:4;979:13;;1016:4;1006:15;;;;;;943:22;:88::i;:::-;924:107;-1:-1:-1;;;;;;1046:20:1;;;:25;1042:46;;1080:8;-1:-1:-1;1073:15:1;;-1:-1:-1;1073:15:1;1042:46;1104:161;;;-1:-1:-1;;;;;3033:15:4;;;3015:34;;3085:15;;;3080:2;3065:18;;3058:43;3117:18;;;3110:34;;;3180:15;;3175:2;3160:18;;3153:43;3227:3;3212:19;;3205:35;;;2995:3;3256:19;;3249:35;;;1104:161:1;;;;;;;2964:3:4;1104:161:1;;;1287:38;1302:1;1313:4;1320;1287:14;:38::i;:::-;1276:49;-1:-1:-1;1340:20:1;;1336:150;;1377:12;1395:8;-1:-1:-1;;;;;1395:13:1;1409:8;;1395:23;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1376:42;;;1437:7;1432:43;;1453:22;;-1:-1:-1;;;1453:22:1;;;;;;;;;;;1432:43;1362:124;1336:150;1503:8;445:1073;-1:-1:-1;;;;;;;;;445:1073:1:o;90:494:3:-;510:53;;;;;;3802:25:4;;;3843:18;;;3836:34;;;-1:-1:-1;;;;;3906:32:4;;284:12:3;3886:18:4;;;3879:60;;;;3955:18;;;3948:34;;;284:12:3;424:15;;3774:19:4;;510:53:3;;;-1:-1:-1;;510:53:3;;;;;;;;;;327:250;;;510:53;327:250;;:::i;:::-;;;;;;;;;;;;;308:269;;90:494;;;;;;;:::o;1769:165:0:-;1852:7;1878:49;1893:4;1899:12;1921:4;1878:14;:49::i;:::-;1871:56;1769:165;-1:-1:-1;;;1769:165:0:o;1081:484::-;1168:12;1225:6;1200:21;:31;;1192:73;;;;-1:-1:-1;;;1192:73:0;;5090:2:4;1192:73:0;;;5072:21:4;5129:2;5109:18;;;5102:30;5168:31;5148:18;;;5141:59;5217:18;;1192:73:0;4888:353:4;1192:73:0;1283:8;:15;1302:1;1283:20;1275:65;;;;-1:-1:-1;;;1275:65:0;;5448:2:4;1275:65:0;;;5430:21:4;;;5467:18;;;5460:30;5526:34;5506:18;;;5499:62;5578:18;;1275:65:0;5246:356:4;1275:65:0;1478:4;1467:8;1461:15;1454:4;1444:8;1440:19;1432:6;1424:59;1416:67;-1:-1:-1;;;;;;1510:18:0;;1502:56;;;;-1:-1:-1;;;1502:56:0;;5809:2:4;1502:56:0;;;5791:21:4;5848:2;5828:18;;;5821:30;5887:27;5867:18;;;5860:55;5932:18;;1502:56:0;5607:349:4;2177:1772:0;2278:12;2385:4;2379:11;3604:12;3597:4;3592:3;3588:14;3581:36;3653:4;3646;3641:3;3637:14;3630:28;3683:8;3678:3;3671:21;3776:4;3771:3;3767:14;3754:27;;3887:4;3880:5;3872:20;3930:2;3913:20;;;2177:1772;-1:-1:-1;;;;2177:1772:0:o;14:173:4:-;82:20;;-1:-1:-1;;;;;131:31:4;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:466::-;478:6;486;494;502;510;563:3;551:9;542:7;538:23;534:33;531:53;;;580:1;577;570:12;531:53;603:29;622:9;603:29;:::i;:::-;593:39;;679:2;668:9;664:18;651:32;641:42;;702:38;736:2;725:9;721:18;702:38;:::i;:::-;383:466;;;;-1:-1:-1;692:48:4;;787:2;772:18;;759:32;;-1:-1:-1;838:3:4;823:19;810:33;;383:466;-1:-1:-1;;383:466:4:o;1062:946::-;1177:6;1185;1193;1201;1209;1217;1225;1278:3;1266:9;1257:7;1253:23;1249:33;1246:53;;;1295:1;1292;1285:12;1246:53;1318:29;1337:9;1318:29;:::i;:::-;1308:39;;1394:2;1383:9;1379:18;1366:32;1356:42;;1417:38;1451:2;1440:9;1436:18;1417:38;:::i;:::-;1407:48;;1502:2;1491:9;1487:18;1474:32;1464:42;;1553:3;1542:9;1538:19;1525:33;1515:43;;1609:3;1598:9;1594:19;1581:33;1633:18;1674:2;1666:6;1663:14;1660:34;;;1690:1;1687;1680:12;1660:34;1728:6;1717:9;1713:22;1703:32;;1773:7;1766:4;1762:2;1758:13;1754:27;1744:55;;1795:1;1792;1785:12;1744:55;1835:2;1822:16;1861:2;1853:6;1850:14;1847:34;;;1877:1;1874;1867:12;1847:34;1922:7;1917:2;1908:6;1904:2;1900:15;1896:24;1893:37;1890:57;;;1943:1;1940;1933:12;1890:57;1974:2;1970;1966:11;1956:21;;1996:6;1986:16;;;;;1062:946;;;;;;;;;;:::o;3295:271::-;3478:6;3470;3465:3;3452:33;3434:3;3504:16;;3529:13;;;3504:16;3295:271;-1:-1:-1;3295:271:4:o;3993:890::-;-1:-1:-1;;;4370:64:4;;4386:2;4468:15;;;-1:-1:-1;;4464:53:4;4459:2;4450:12;;4443:75;-1:-1:-1;;;4543:2:4;4534:12;;4527:64;4614:13;;-1:-1:-1;;;4655:138:4;4669:6;4666:1;4663:13;4655:138;;;4776:4;4760:14;;;4756:25;;4750:32;4745:2;4732:11;;;4728:20;4721:62;4684:12;4655:138;;;-1:-1:-1;4857:1:4;4816:16;;4834:2;4812:25;4846:13;;;-1:-1:-1;4812:25:4;3993:890;-1:-1:-1;;3993:890:4:o
Swarm Source
ipfs://ca5015951c593cad338af138820c91092d1b4a7cd32a79723a5590be6a6c6620
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.