Contract 0xb6ae016AA00BDFA0A491F16262D09e45067dA8e8

Contract Overview

Balance:
0 MATIC
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x003bed6e37e031f68f7e0ee5b9c5965859eef4414b66595f1c0e7b3746412ab10x60806040336395622023-03-27 17:39:1573 days 8 hrs ago0xdead1426ed8b637ae26fe55f4fb71e65f90374a1 IN  Create: SubscriptionRouter0 MATIC0.000521016005 1.500000016
[ Download CSV Export 
Parent Txn Hash Block From To Value
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 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
File 1 of 1 : SubscriptionRouter.sol
//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())
            }
        }
    }
}

Settings
{
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"bytes4","name":"sel","type":"bytes4"}],"name":"UnknownSelector","type":"error"},{"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b50610555806100206000396000f3fe6080604052600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060008160e01c610426565b60006370a0823182101561023557633659cfe682101561014357816301ffc9a78114610099576306fdde0381146100b55763081812fc81146100d15763095ea7b381146100ed57631627540c8114610109576323b872dd81146101255761013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b7379e295d17996261da481bdc78b970d5fd6185294915061013d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061013d565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b81633659cfe6811461018b576342842e0e81146101a7576353a47bb781146101c357635618923681146101df57636352211e81146101fb57636a62784281146102175761022f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b7379e295d17996261da481bdc78b970d5fd6185294915061022f565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b63a6487c5382101561033357816370a0823181146102895763718fe92881146102a5576379ba509781146102c157638da5cb5b81146102dd576395d89b4181146102f95763a22cb46581146103155761032d565b7379e295d17996261da481bdc78b970d5fd6185294915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061032d565b7379e295d17996261da481bdc78b970d5fd6185294915061032d565b7379e295d17996261da481bdc78b970d5fd618529491505b50610421565b8163a6487c53811461037b5763aaf10f4281146103975763b88d4fde81146103b35763c7f62cda81146103cf5763c87b56dd81146103eb5763e985e9c581146104075761041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b737bf5de9dfc62e9958f5e45bba4b09d4aa59baed4915061041f565b7379e295d17996261da481bdc78b970d5fd6185294915061041f565b7379e295d17996261da481bdc78b970d5fd618529491505b505b919050565b61042f81610037565b915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104a357816040517fc2a825f500000000000000000000000000000000000000000000000000000000815260040161049a9190610504565b60405180910390fd5b3660008037600080366000845af43d6000803e80600081146104c4573d6000f35b3d6000fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6104fe816104c9565b82525050565b600060208201905061051960008301846104f5565b9291505056fea2646970667358221220a96574a33b5ffe22b38492e5e62110b4f5a6b556799219468f5931fe3430746864736f6c63430008130033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading