Contract Overview
Balance:
0 MATIC
My Name Tag:
Not Available
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x003bed6e37e031f68f7e0ee5b9c5965859eef4414b66595f1c0e7b3746412ab1 | 0x60806040 | 33639562 | 73 days 8 hrs ago | 0xdead1426ed8b637ae26fe55f4fb71e65f90374a1 | IN | Create: SubscriptionRouter | 0 MATIC | 0.000521016005 |
[ Download CSV Export ]
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 Source Code Verified (Exact Match)
Contract Name:
SubscriptionRouter
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: Unlicense pragma solidity ^0.8.0; // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // GENERATED CODE - do not edit manually!! // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- contract SubscriptionRouter { error UnknownSelector(bytes4 sel); address private constant _MAIN_CORE_MODULE = 0x7Bf5DE9dFC62E9958F5e45bBa4B09d4aa59BaeD4; address private constant _GRATEFUL_SUBSCRIPTION = 0x79e295d17996261Da481bDc78B970d5Fd6185294; fallback() external payable { // Lookup table: Function selector => implementation contract bytes4 sig4 = msg.sig; address implementation; assembly { let sig32 := shr(224, sig4) function findImplementation(sig) -> result { if lt(sig,0x70a08231) { if lt(sig,0x3659cfe6) { switch sig case 0x01ffc9a7 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.supportsInterface() case 0x06fdde03 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.name() case 0x081812fc { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.getApproved() case 0x095ea7b3 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.approve() case 0x1627540c { result := _MAIN_CORE_MODULE } // MainCoreModule.nominateNewOwner() case 0x23b872dd { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.transferFrom() leave } switch sig case 0x3659cfe6 { result := _MAIN_CORE_MODULE } // MainCoreModule.upgradeTo() case 0x42842e0e { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.safeTransferFrom() case 0x53a47bb7 { result := _MAIN_CORE_MODULE } // MainCoreModule.nominatedOwner() case 0x56189236 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.getCurrentTokenId() case 0x6352211e { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.ownerOf() case 0x6a627842 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.mint() leave } if lt(sig,0xa6487c53) { switch sig case 0x70a08231 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.balanceOf() case 0x718fe928 { result := _MAIN_CORE_MODULE } // MainCoreModule.renounceNomination() case 0x79ba5097 { result := _MAIN_CORE_MODULE } // MainCoreModule.acceptOwnership() case 0x8da5cb5b { result := _MAIN_CORE_MODULE } // MainCoreModule.owner() case 0x95d89b41 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.symbol() case 0xa22cb465 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.setApprovalForAll() leave } switch sig case 0xa6487c53 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.initialize() case 0xaaf10f42 { result := _MAIN_CORE_MODULE } // MainCoreModule.getImplementation() case 0xb88d4fde { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.safeTransferFrom() case 0xc7f62cda { result := _MAIN_CORE_MODULE } // MainCoreModule.simulateUpgradeTo() case 0xc87b56dd { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.tokenURI() case 0xe985e9c5 { result := _GRATEFUL_SUBSCRIPTION } // GratefulSubscription.isApprovedForAll() leave } implementation := findImplementation(sig32) } if (implementation == address(0)) { revert UnknownSelector(sig4); } // Delegatecall to the implementation contract assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } }
{ "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
[{"inputs":[{"internalType":"bytes4","name":"sel","type":"bytes4"}],"name":"UnknownSelector","type":"error"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
608060405234801561001057600080fd5b50610555806100206000396000f3fe6080604052600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060008160e01c610426565b60006370a0823182101561023557633659cfe682101561014357816301ffc9a78114610099576306fdde0381146100b55763081812fc81146100d15763095ea7b381146100ed57631627540c8114610109576323b872dd81146101255761013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061013d565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b81633659cfe6811461018b576342842e0e81146101a7576353a47bb781146101c357635618923681146101df57636352211e81146101fb57636a62784281146102175761022f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b63a6487c5382101561033357816370a0823181146102895763718fe92881146102a5576379ba509781146102c157638da5cb5b81146102dd576395d89b4181146102f95763a22cb46581146103155761032d565b7379e295d17996261da481bdc78b970d5fd6185294915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b7379e295d17996261da481bdc78b970d5fd6185294915061032d565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b8163a6487c53811461037b5763aaf10f4281146103975763b88d4fde81146103b35763c7f62cda81146103cf5763c87b56dd81146103eb5763e985e9c581146104075761041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b7379e295d17996261da481bdc78b970d5fd618529491505b505b919050565b61042f81610037565b915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104a357816040517fc2a825f500000000000000000000000000000000000000000000000000000000815260040161049a9190610504565b60405180910390fd5b3660008037600080366000845af43d6000803e80600081146104c4573d6000f35b3d6000fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6104fe816104c9565b82525050565b600060208201905061051960008301846104f5565b9291505056fea2646970667358221220a96574a33b5ffe22b38492e5e62110b4f5a6b556799219468f5931fe3430746864736f6c63430008130033
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|