Contract 0x2a93172c8dccbfbc60a39d56183b7279a2f647b4 3

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xba8b20ff993859c91e69b6353318c7b643a661d4229750b436a38c3973f828d7Approve221983172021-12-06 10:34:2713 mins ago0x072c3ee4e4c5e4eabb7f484738797fbf260f056b IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0xb1b54302162691dc965e8b0a3722acc6a7548a283ac2951168206316a6661208Execute Meta Tra...221971242021-12-06 9:46:561 hr 1 min ago0xe9646a568dfae379620e77ab2aade28bb7d1548c IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011933292
0x26d86e4a5e7b792def39170aa12d7d3bfe0ce7d31003991f1c3c263186e8e512Approve221965562021-12-06 9:23:071 hr 24 mins ago0x451bbcb87ef1042b9b190ddf2719e309f20fa1c7 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.0026036
0x86d48e63a8dc64401328bd311e7babfacb20feb0c5e3b8ce0d6debdf1aec273fExecute Meta Tra...221964942021-12-06 9:17:431 hr 30 mins ago0xd908834b3e55e665086cf1916dc09a0ebc82d111 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011931696
0x35f148bab4f508cb77e896c8c9a59cd48d1700365fa11ce52fdedd301bbc3ce5Approve221962712021-12-06 9:09:011 hr 39 mins ago0x193a2418b2254633ec39981ab2afb295f790fc94 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0xd0ff238b0569163b5e5c799b5363549deb5b043ca18e0b4f78f2294d8fdfe591Approve221955822021-12-06 8:41:032 hrs 7 mins ago0x5be29bbdc5ededdcd0225eb3102dad01461a9fdb IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0xb448f243b67cbb7084ae7fb9ac0fdc4c7a820253128e8d4c2c469f9f18c17ff2Approve221952782021-12-06 8:30:392 hrs 17 mins ago0xad73085dc23608802cb44c473a4e7fdc3eec4016 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00104916
0x78075fc34bb90822c2a1621418a20fc284f0319feb7b35d85ff0e8408d2a60faApprove221952432021-12-06 8:29:252 hrs 18 mins ago0xad73085dc23608802cb44c473a4e7fdc3eec4016 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0x0ad3beaabaa7be416b99323d76f8f007992fc73bcd5ba38ab1c7f6d8dadb9146Approve221946012021-12-06 8:05:122 hrs 42 mins ago0x2a552d2c8be92bcd46a5f86593c910c4566fe887 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0xfcf2d657979ef74df22ae95841b81ea8351a955d42447d03cbbe2a719d7c40fdApprove221943752021-12-06 7:57:282 hrs 50 mins ago0x3c889810dc24f00b7c06e7804074688284bae1ad IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0x4cc5738ea27a25e7e132821faf4542a32613e5b93a158870eab36aa17016a47dApprove221927082021-12-06 6:53:173 hrs 54 mins ago0xb080843cca4ef6875f93fcafb061feabb8c78c62 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.001770448
0x5e0a86621087aa5b0804d007c6c7c55979071e6bfc2fa708e7ac4decd3c750f8Approve221923902021-12-06 6:40:034 hrs 8 mins ago0xef43c1ba0894a28fae4047a67a151682c7db2776 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.001606099808
0x400bcad581fd12fbfc5e5d9c3252a338236e7ab92f2765b39682026ae40ff4ceApprove221911912021-12-06 5:56:404 hrs 51 mins ago0xdbd057d8907c4490009005c27584f565d378d2e2 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.0019474928
0xfb27e6ecccf45393e071b9d540e9e77bfcc80d83c0c92f57ed953261f77c8642Approve221910332021-12-06 5:51:004 hrs 57 mins ago0xef43c1ba0894a28fae4047a67a151682c7db2776 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.001770448
0xd8ac8f5b1fe2bd0e69c33a55a9d5a7e403c819d259b1c8ede4943597a886521cExecute Meta Tra...221910312021-12-06 5:50:524 hrs 57 mins ago0x6d2a6d0b60f4fce625c77559d4333a7c589a3754 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011933292
0x32ce92114dcc0c73c09b17436f593a23732046688877a76dbe8a9d38eed5668cApprove221910142021-12-06 5:49:444 hrs 58 mins ago0x096258fc0d7836513185ab04bb49dbea9f5e51a6 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.001614284072
0x7599643d159dbac8d2f2be262440185c029cc4d3609c1be5364fda84771ba764Approve221905792021-12-06 5:33:285 hrs 14 mins ago0x31636c87d1844bef0597a0c6de9ad84b0b065815 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0x688a194202a379fe481c8530a8aa6bd80db7eda1983dda9554872022e7833866Approve221903122021-12-06 5:22:105 hrs 25 mins ago0x5390f792faab1423ec6b99bc0d457a7d2aa2f27c IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.001614232
0x13f20b103099e4c71c67ff3b3326e9322170f0e8f4b6c3030b29480434a1f770Execute Meta Tra...221902182021-12-06 5:18:585 hrs 29 mins ago0xeb5634d9753e3713cb4c74b9dd311f9d219b2e71 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011931696
0x44f5c879e6c86097b4164272f46cba7fd987652767725288ea517fb548f87e57Approve221888992021-12-06 4:31:286 hrs 16 mins ago0xf6f7a04a9df620b686e4a6df103000a5c2e01042 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0x88a9cc58033e2c5b0192c10ba431f7c367bab74c56278258e19b12fcc73ae715Execute Meta Tra...221887832021-12-06 4:27:286 hrs 20 mins ago0x30e4ea94ab9c106a7d8158934e2588cde29de0d3 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011931696
0x8c81310facc2f98f7dd76f5ece3a02ad269c8a8f72867e832ee63aa9c47cb1a9Approve221886672021-12-06 4:23:286 hrs 24 mins ago0xdf9b89fb61c4becf83b98d047363f1bec939d67f IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
0xd567262697ec7d0b50c4f64d2c1f1b1712e2d0f06aaef58581fe4fa45a0b1750Approve221882312021-12-06 4:06:226 hrs 41 mins ago0xfef434aeba97673939e6bce74c696f641ae6ed82 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00104144
0xb931e38f525fcb64463a60802ec793ced0b04a78f545f3412fd76f00bcf751f3Execute Meta Tra...221882072021-12-06 4:05:306 hrs 42 mins ago0x2a14da38894e19ec0522f89cd11c6b2988e8bf39 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.011933292
0xc0de441c48db3af16252db9dd18f550a0c31391ab9907694d86f22bcef56b8ceApprove221873292021-12-06 3:33:147 hrs 14 mins ago0xa2e2ee7696781d555af12fb5c034a30feec08b08 IN  0x2a93172c8dccbfbc60a39d56183b7279a2f647b40 MATIC0.00156216
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UChildERC20Proxy

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at polygonscan.com on 2021-06-30
*/

// File: contracts/common/Proxy/IERCProxy.sol

pragma solidity 0.6.6;

interface IERCProxy {
    function proxyType() external pure returns (uint256 proxyTypeId);

    function implementation() external view returns (address codeAddr);
}

// File: contracts/common/Proxy/Proxy.sol

pragma solidity 0.6.6;


abstract contract Proxy is IERCProxy {
    function delegatedFwd(address _dst, bytes memory _calldata) internal {
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            let result := delegatecall(
                sub(gas(), 10000),
                _dst,
                add(_calldata, 0x20),
                mload(_calldata),
                0,
                0
            )
            let size := returndatasize()

            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

            // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
            // if the call returned error data, forward it
            switch result
                case 0 {
                    revert(ptr, size)
                }
                default {
                    return(ptr, size)
                }
        }
    }

    function proxyType() external virtual override pure returns (uint256 proxyTypeId) {
        // Upgradeable proxy
        proxyTypeId = 2;
    }

    function implementation() external virtual override view returns (address);
}

// File: contracts/common/Proxy/UpgradableProxy.sol

pragma solidity 0.6.6;


contract UpgradableProxy is Proxy {
    event ProxyUpdated(address indexed _new, address indexed _old);
    event ProxyOwnerUpdate(address _new, address _old);

    bytes32 constant IMPLEMENTATION_SLOT = keccak256("matic.network.proxy.implementation");
    bytes32 constant OWNER_SLOT = keccak256("matic.network.proxy.owner");

    constructor(address _proxyTo) public {
        setProxyOwner(msg.sender);
        setImplementation(_proxyTo);
    }

    fallback() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    receive() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    modifier onlyProxyOwner() {
        require(loadProxyOwner() == msg.sender, "NOT_OWNER");
        _;
    }

    function proxyOwner() external view returns(address) {
        return loadProxyOwner();
    }

    function loadProxyOwner() internal view returns(address) {
        address _owner;
        bytes32 position = OWNER_SLOT;
        assembly {
            _owner := sload(position)
        }
        return _owner;
    }

    function implementation() external override view returns (address) {
        return loadImplementation();
    }

    function loadImplementation() internal view returns(address) {
        address _impl;
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            _impl := sload(position)
        }
        return _impl;
    }

    function transferProxyOwnership(address newOwner) public onlyProxyOwner {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit ProxyOwnerUpdate(newOwner, loadProxyOwner());
        setProxyOwner(newOwner);
    }

    function setProxyOwner(address newOwner) private {
        bytes32 position = OWNER_SLOT;
        assembly {
            sstore(position, newOwner)
        }
    }

    function updateImplementation(address _newProxyTo) public onlyProxyOwner {
        require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS");
        require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT");

        emit ProxyUpdated(_newProxyTo, loadImplementation());
        
        setImplementation(_newProxyTo);
    }

    function updateAndCall(address _newProxyTo, bytes memory data) payable public onlyProxyOwner {
        updateImplementation(_newProxyTo);

        (bool success, bytes memory returnData) = address(this).call{value: msg.value}(data);
        require(success, string(returnData));
    }

    function setImplementation(address _newProxyTo) private {
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            sstore(position, _newProxyTo)
        }
    }
    
    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

// File: contracts/child/ChildToken/UpgradeableChildERC20/UChildERC20Proxy.sol

pragma solidity 0.6.6;


contract UChildERC20Proxy is UpgradableProxy {
    constructor(address _proxyTo)
        public
        UpgradableProxy(_proxyTo)
    {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyOwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000cafa221625cf42dccbc571b632ca912ac5ced1ed

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000cafa221625cf42dccbc571b632ca912ac5ced1ed

-----Decoded View---------------
Arg [0] : _proxyTo (address): 0xcafa221625cf42dccbc571b632ca912ac5ced1ed

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cafa221625cf42dccbc571b632ca912ac5ced1ed


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.