Contract 0x189b5b4e6a51cf7c4e344574633cab8b5578d581

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x78b79636a0e0e6141477b35133c64cc45794d152dbf0f51fbd3a01cf4ff81d89Approve123191842021-11-03 0:53:5526 days 2 hrs ago0x15b4075bf10dfa20ffdcdb7eb3ec71170ba2e829 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0x8a0f11531b14116dd2c13814cc9989beb474955d856724317b33d6a803131231Approve121735492021-10-28 20:54:0431 days 6 hrs ago0xbb88e840605eaf50f1af478c21b3a1e737585057 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0xf41dbe68d5ef4c97554dd994bf9f70f0ae0cb818d675a7a98557ee736f66c9d6Approve120300492021-10-23 19:49:2536 days 7 hrs ago0xcff6aa4a3fc00c494a03c091b89b60fc416d1082 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0x88c12ad30e366b43356d99257e28c9abafb48a6a79d4edec6b0a080d5e0eb5edApprove118656572021-10-18 0:44:4242 days 2 hrs ago0xaac78e52be2ebcb3dae425f6c74730184c85e6fc IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0x93e99d77c000237e8cc0476fa5748bbede5abf9b8b47b0315ff41e61782bb7b4Approve116527572021-10-10 13:29:1349 days 13 hrs ago0x309397c3dcaccf09d1f38aaa0e0056bdc2b8f2c9 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0xf5dde7f7ea568bfbb41d6162ff9111845fc76b5f0d3ef634f0a491dc88f69607Transfer113125212021-09-28 16:29:1261 days 10 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0x85a845d35d1d791fc304d24d91da06f5108cda052aa41efaa14d276ec88093beTransfer112534512021-09-26 14:42:4763 days 12 hrs ago0xf0619206384e842cea4016ff08ed3016af8a4d38 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0x8b8daad3835bce52355f6513b0d79879b9d1467ab5d4aeb3c61aadb65e42ce00Transfer112532612021-09-26 14:33:1763 days 12 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0x77fc6289a500e6c9f80bb9ffb8ef5040648e124f77214edcf526c47319f7b742Transfer112531852021-09-26 14:29:2163 days 12 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0xe7111563400ba4538df876fa687a6412dc4def6f55e13502b4b1df3657a56aa7Transfer112366292021-09-26 0:34:5764 days 2 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0x64a38f6578fd7e2a8dad746431162bda3dfa991bcc528e2360cc88486802415cTransfer111720432021-09-23 18:32:4766 days 8 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0xf106afe709ddfe7280875d6f463da21dcffff7b22c8e7becf891de3a1af9f8b8Transfer111720212021-09-23 18:31:4166 days 8 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000277225
0x7de3797c787399a058f64970765b8e49bbe2e1f8e74c5d87b884bd0e2f68abbbTransfer111714572021-09-23 18:03:1666 days 9 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202285
0x5ebb4b4924ca14e4c2bbec77ca3ccc2d8fe9a4d293d52a2a6c457aa5fc6735abApprove108538362021-09-12 16:12:3277 days 11 hrs ago0x069fc192e0b2031f3e19084a0717779c41e67854 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0xa4623c7c5400d9fb8ff60f16b7056e281c79b2d28573b524cc47f1cad85fbd0eApprove106877802021-09-06 20:11:3583 days 7 hrs ago0x6eca5e7437faa4ffb39915545965c85fd509e73b IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0x9a2d238e4fafecb56ac003ffcb155db3d34d1c7511af6937a93e9f687c0dffbaApprove102802212021-08-23 12:54:3897 days 14 hrs ago0xee459c9e50f5e2cb58d4d76f0b68f75c66a86650 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000330869
0x920934df1a41ed2f61257ee6ba5b77b81445bdfe1ad63ee0aea197d9f49b4464Approve102156192021-08-21 6:47:5499 days 20 hrs ago0xd250cae71373f055f326173c12c6b0ad6ccb60ab IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0xb8eaf70d15115403c99519a2128f47eeae5a1179b5e5a2a4e74b07ed2964dcdfApprove101021582021-08-17 7:44:43103 days 19 hrs ago0x89e731267e99edd90b4632ccfc34df6bb7725f23 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000330869
0xc8a6a6231776d9a44549a280b31857dccbb0029018d4479ace1025119c545c76Approve98842022021-08-09 15:20:04111 days 11 hrs ago0x8127b61fec51519a27fc02fdea7c5acebbca3de8 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0x8fed836593ee0bb968c3c7fa0d437454817e3fe4750df7170c3f6a8d78201e39Transfer98582712021-08-08 17:03:51112 days 10 hrs ago0x280d9190ab9064cb4f010d787518da0a6782d7dd IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000127405
0x4889f65a28ad25b08c725afc52424dad9a530681fafa49ee2dc351b00883cea2Transfer98582312021-08-08 17:01:51112 days 10 hrs ago0x280d9190ab9064cb4f010d787518da0a6782d7dd IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202225
0xbdda5cd7472052e81d9a8cb3d49d0b632d7f707bdab5fcaae1e1520197f077fdTransfer98582172021-08-08 17:01:09112 days 10 hrs ago0x280d9190ab9064cb4f010d787518da0a6782d7dd IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202225
0xbdce5363d025891ee30b643ad946a9cafa1c77769710b64e94cbfd4725f95b63Transfer98581922021-08-08 16:59:54112 days 10 hrs ago0x280d9190ab9064cb4f010d787518da0a6782d7dd IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000202225
0xba45a841bfa0227491cdbed10bde3a28b60a08b3d33d5a06f6f4e38de20cc201Approve98137702021-08-07 3:02:10114 days 14 mins ago0xd8107a8b108593dcd743b05affe8a5722eb4a743 IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
0xb72bf3f63cd07d2423ff3f34faef3d191c4ed58964e145dc00a7accbae3e1f21Approve98131742021-08-07 2:31:01114 days 45 mins ago0xcadf0ee725a1852fc397a907b289a665efa9f7bc IN  0x189b5b4e6a51cf7c4e344574633cab8b5578d5810 BNB0.000236335
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x965713e7a4930cf7911d3babe5b53164669ff232247e6c96283a3842cb62859395076132021-07-27 0:21:17125 days 2 hrs ago 0xbc1357fa1b7577025c0e2a3dd23056d69bbd48d5  Contract Creation0 BNB
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x9b7f1e0005d0352160ef3ed768010581df088380

Contract Name:
TokenProxy

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at BscScan.com on 2021-05-16
*/

// File: contracts/upgradeability/Proxy.sol

pragma solidity 0.7.5;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
abstract contract Proxy {
    /**
     * @dev Tells the address of the implementation where every call will be delegated.
     * @return address of the implementation to which it will be delegated
     */
    function implementation() public view virtual returns (address);

    /**
     * @dev Fallback function allowing to perform a delegatecall to the given implementation.
     * This function will return whatever the implementation call returns
     */
    fallback() external payable {
        // solhint-disable-previous-line no-complex-fallback
        address _impl = implementation();
        require(_impl != address(0));
        assembly {
            /*
                0x40 is the "free memory slot", meaning a pointer to next slot of empty memory. mload(0x40)
                loads the data in the free memory slot, so `ptr` is a pointer to the next slot of empty
                memory. It's needed because we're going to write the return data of delegatecall to the
                free memory slot.
            */
            let ptr := mload(0x40)
            /*
                `calldatacopy` is copy calldatasize bytes from calldata
                First argument is the destination to which data is copied(ptr)
                Second argument specifies the start position of the copied data.
                    Since calldata is sort of its own unique location in memory,
                    0 doesn't refer to 0 in memory or 0 in storage - it just refers to the zeroth byte of calldata.
                    That's always going to be the zeroth byte of the function selector.
                Third argument, calldatasize, specifies how much data will be copied.
                    calldata is naturally calldatasize bytes long (same thing as msg.data.length)
            */
            calldatacopy(ptr, 0, calldatasize())
            /*
                delegatecall params explained:
                gas: the amount of gas to provide for the call. `gas` is an Opcode that gives
                    us the amount of gas still available to execution

                _impl: address of the contract to delegate to

                ptr: to pass copied data

                calldatasize: loads the size of `bytes memory data`, same as msg.data.length

                0, 0: These are for the `out` and `outsize` params. Because the output could be dynamic,
                        these are set to 0, 0 so the output data will not be written to memory. The output
                        data will be read using `returndatasize` and `returdatacopy` instead.

                result: This will be 0 if the call fails and 1 if it succeeds
            */
            let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
            /*

            */
            /*
                ptr current points to the value stored at 0x40,
                because we assigned it like ptr := mload(0x40).
                Because we use 0x40 as a free memory pointer,
                we want to make sure that the next time we want to allocate memory,
                we aren't overwriting anything important.
                So, by adding ptr and returndatasize,
                we get a memory location beyond the end of the data we will be copying to ptr.
                We place this in at 0x40, and any reads from 0x40 will now read from free memory
            */
            mstore(0x40, add(ptr, returndatasize()))
            /*
                `returndatacopy` is an Opcode that copies the last return data to a slot. `ptr` is the
                    slot it will copy to, 0 means copy from the beginning of the return data, and size is
                    the amount of data to copy.
                `returndatasize` is an Opcode that gives us the size of the last return data. In this case, that is the size of the data returned from delegatecall
            */
            returndatacopy(ptr, 0, returndatasize())

            /*
                if `result` is 0, revert.
                if `result` is 1, return `size` amount of data from `ptr`. This is the data that was
                copied to `ptr` from the delegatecall return data
            */
            switch result
                case 0 {
                    revert(ptr, returndatasize())
                }
                default {
                    return(ptr, returndatasize())
                }
        }
    }
}

// File: contracts/upgradeable_contracts/modules/factory/TokenProxy.sol

pragma solidity 0.7.5;


interface IPermittableTokenVersion {
    function version() external pure returns (string memory);
}

/**
 * @title TokenProxy
 * @dev Helps to reduces the size of the deployed bytecode for automatically created tokens, by using a proxy contract.
 */
contract TokenProxy is Proxy {
    // storage layout is copied from PermittableToken.sol
    string internal name;
    string internal symbol;
    uint8 internal decimals;
    mapping(address => uint256) internal balances;
    uint256 internal totalSupply;
    mapping(address => mapping(address => uint256)) internal allowed;
    address internal owner;
    bool internal mintingFinished;
    address internal bridgeContractAddr;
    // string public constant version = "1";
    bytes32 internal DOMAIN_SEPARATOR;
    // bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;
    mapping(address => uint256) internal nonces;
    mapping(address => mapping(address => uint256)) internal expirations;

    /**
     * @dev Creates a non-upgradeable token proxy for PermitableToken.sol, initializes its eternalStorage.
     * @param _tokenImage address of the token image used for mirroring all functions.
     * @param _name token name.
     * @param _symbol token symbol.
     * @param _decimals token decimals.
     * @param _chainId chain id for current network.
     * @param _owner address of the owner for this contract.
     */
    constructor(
        address _tokenImage,
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _chainId,
        address _owner
    ) {
        string memory version = IPermittableTokenVersion(_tokenImage).version();

        assembly {
            // EIP 1967
            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
            sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, _tokenImage)
        }
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        owner = _owner; // _owner == HomeOmnibridge/ForeignOmnibridge mediator
        bridgeContractAddr = _owner;
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(_name)),
                keccak256(bytes(version)),
                _chainId,
                address(this)
            )
        );
    }

    /**
     * @dev Retrieves the implementation contract address, mirrored token image.
     * @return impl token image address.
     */
    function implementation() public view override returns (address impl) {
        assembly {
            impl := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_tokenImage","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_chainId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060405161057d38038061057d833981810160405260c081101561003357600080fd5b81516020830180516040519294929383019291908464010000000082111561005a57600080fd5b90830190602082018581111561006f57600080fd5b825164010000000081118282018810171561008957600080fd5b82525081516020918201929091019080838360005b838110156100b657818101518382015260200161009e565b50505050905090810190601f1680156100e35780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010657600080fd5b90830190602082018581111561011b57600080fd5b825164010000000081118282018810171561013557600080fd5b82525081516020918201929091019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b50604081815260208301518382015160609485015163054fd4d560e41b8552925191965094509092916001600160a01b038916916354fd4d5091600480820192600092909190829003018186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561022657600080fd5b810190808051604051939291908464010000000082111561024657600080fd5b90830190602082018581111561025b57600080fd5b825164010000000081118282018810171561027557600080fd5b82525081516020918201929091019080838360005b838110156102a257818101518382015260200161028a565b50505050905090810190601f1680156102cf5780820380516001836020036101000a031916815260200191505b506040525050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc88905586519091506103109060009060208901906103e4565b5084516103249060019060208801906103e4565b506002805460ff90951660ff1990951694909417909355600680546001600160a01b039092166001600160a01b03199283168117909155600780549092161790558351602094850120825192850192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8188015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c090920190528051920191909120600855506104859050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261041a5760008555610460565b82601f1061043357805160ff1916838001178555610460565b82800160010185558215610460579182015b82811115610460578251825591602001919060010190610445565b5061046c929150610470565b5090565b5b8082111561046c5760008155600101610471565b60ea806104936000396000f3fe608060405260043610601c5760003560e01c80635c60da1b146061575b60006024608f565b90506001600160a01b038116603857600080fd5b60405136600082376000803683855af43d82016040523d6000833e808015605d573d83f35b3d83fd5b348015606c57600080fd5b506073608f565b604080516001600160a01b039092168252519081900360200190f35b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc549056fea26469706673582212206a38204d0bcf2b568461c05b235d51263dda2d5fe518b4225a28ef7c50fd264964736f6c63430007050033000000000000000000000000a126c73d1bdf3a3d5f719a8d38a4692186e7503f00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000038000000000000000000000000d83893f31aa1b6b9d97c9c70d3492fe38d24d218000000000000000000000000000000000000000000000000000000000000002044616920537461626c65636f696e2076312e302066726f6d204d61696e6e657400000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

5055:2641:0:-:0;;;;;;;;;;;;;;;;;;756:13;772:16;:14;:16::i;:::-;756:32;-1:-1:-1;;;;;;807:19:0;;799:28;;;;;;1265:4;1259:11;2046:14;2043:1;2038:3;2025:36;2983:1;2980;2964:14;2959:3;2952:5;2945;2932:53;3673:16;3668:3;3664:26;3658:4;3651:40;4185:16;4182:1;4177:3;4162:40;4469:6;4493:78;;;;4632:16;4627:3;4620:29;4493:78;4535:16;4530:3;4523:29;7489:204;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;7489:204:0;;;;;;;;;;;;;;;7608:66;7602:73;;7579:107::o

Swarm Source

ipfs://6a38204d0bcf2b568461c05b235d51263dda2d5fe518b4225a28ef7c50fd2649
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.