Contract 0xc2132d05d31c914a87c6611c10748aeb04b58e8f 11

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x55c622a918020dcdcd463311b357aecab292a3b1ef1efd06b1c20edfd49392eeApprove203155952021-10-17 15:27:4217 secs ago0x51d8f466b825252086dfd02764494ae677eae33b IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.001926664
0x62dd883ee3e67496e188a8c97f6c09dc34a3d1ce1e8079a1c4694eb2157eb3dbApprove203155952021-10-17 15:27:4217 secs ago0xe7c289c5cbcb6f9f99f334cf3d412477e72c61c6 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0025862
0x30342d3006887751aa4d64e94129d5ae4bba43e7d34fccaf094ee08fd8a8ee98Transfer203155932021-10-17 15:27:3425 secs ago0x3f462717f11b90f96a0872163e01d445dab9082c IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0021147
0x9909bc72478376835bee1d180a5b44239b55f27546661dde42c9b324b8e2bb09Approve203155922021-10-17 15:27:3029 secs ago0x739b55659fdda6e5263381a1cde9c78b7d39d0f6 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00284482
0x98a419d92cfcf6b1f2dea311da09ad37a73f0c1c8989986ab6d4864e6d8086c7Approve203155922021-10-17 15:27:3029 secs ago0x815299fabffad48c8e8654c283df28775fd73ae0 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00284482
0xa12fb9059dd70ecd2d1a0582ab71c8de53f53ed9a53c614091e5eeabaf597bffApprove203155922021-10-17 15:27:3029 secs ago0x1286363a09832fbe2202167b01e1a941c81e8e65 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00312432
0x4c8f81609d79484b691c02e00bab8a5dbe8601ada266c3baaf68305957f364ffTransfer203155892021-10-17 15:27:1841 secs ago0x4b85633947135aa0ba21a3c3b3c1f90fad519ac7 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0021153
0x8eb62197a0af01d28b58a50fc5e4a776c30d5d4e862b7c0b23b8a02604f89c76Approve203155822021-10-17 15:26:481 min ago0x5a29a1e8d64f5dd4aef4cd9099375809157e6964 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0025868
0x574617a0d9b69a92a79eca84420900549c6cb43fa8ac0f08e3f15b66893d2d96Transfer203155802021-10-17 15:26:441 min ago0x36ec199603c16d58d06dee15896e28ebed7e0d7c IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000029127093
0xe8cc06f73cf7fc1582282bee5eceedda5217233041ead35654f0664c5ec9678cTransfer203155802021-10-17 15:26:441 min ago0xbe5c3dcbb10ef56032f6928273d185c436d95d04 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000057325139
0xe5ecf28359db7230b7fffb5f831429a07f6742d4b56d7d0891404c7e65df1e16Approve203155782021-10-17 15:26:401 min ago0x4912958ec34094b0b57f7ee74d608efb49e92b45 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000060143787
0x01a32f6bfb1422759514c3111a2a47af7a171203c784433d716d9801c312b049Approve203155762021-10-17 15:26:361 min ago0xbbe8b363fc5396871cb6a7326ebbe10c4b15ce49 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0015918
0xeb75bd47885ea4252b663b0849ab1a222a80f0ad0f97ecd04699e5e580a673c6Approve203155752021-10-17 15:26:341 min ago0x696d6877c802ff1a6edf2ee8958334fdee374ca8 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0025868
0x68b62f65bd0d171c67387e7b267e4b8c7a189d077c2131a449434a4892599be4Approve203155742021-10-17 15:26:321 min ago0xe7c289c5cbcb6f9f99f334cf3d412477e72c61c6 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0025862
0xf4f5fa83814fd2eea6527b8c6ab64471137ec446a09980dce90b3bd207516535Approve203155732021-10-17 15:26:301 min ago0xbbe8b363fc5396871cb6a7326ebbe10c4b15ce49 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0025868
0x57328af1a3f61e631799e6989a5064eb5608a75f8ab93ed611e6c667bf62d414Transfer203155712021-10-17 15:26:261 min ago0x37f188889ab2183b094dbbe4416b0a443092ca85 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000048877799
0xe710fa36cd04583995ebb0ed0f49ccdcf9d71139e0cefbb74433cbd5a17fd40cTransfer203155712021-10-17 15:26:261 min ago0xe40e6c4ccaf6ac5d8627918492fb8548d9951b81 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000091144079
0x0c19653e2d377dbab54e5aafdcd2f38ebd3336b8eaa13dbed93afcd7c7cb3966Approve203155662021-10-17 15:26:161 min ago0x015895b76a6a19355755d68dc91bbc93d37960e5 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.002551528
0xca00f87c0b64fef486c89e4bbf0740dc1f64bd0a6545dfc3d36adabf635be2d6Approve203155652021-10-17 15:26:141 min ago0x6541ef455d39018dcc80dd77038a415e5b4af050 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000060143787
0xd3250d167f00c86160f8ed745e73fe3fe535f31b3eaa08a94d3f7466fe6c56ffApprove203155632021-10-17 15:26:101 min ago0x937ac28f7cd43c502eea2fb704be9159b6309d84 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000060143787
0x39dbac3bab02a075d3fbcd5e544eeb01c499c199d5c170882711a3efca6dbfefApprove203155632021-10-17 15:26:101 min ago0x815299fabffad48c8e8654c283df28775fd73ae0 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00284482
0x4d0018c35632df4d143f8ae9767b92a22025cb17d2238ed40e884dd597532267Transfer203155622021-10-17 15:26:081 min ago0xcb062de41bb3410c1071d4f38d7e885844d77ffd IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000132378241
0x27a1d6aed25905fd5a9602c24a2855a2086b770e2ebfea2011067c8849a0f489Approve203155612021-10-17 15:26:061 min ago0xdf53cb8e4e5142f8babf6ee4f1a0439a165b2531 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00104144
0xbe8392e758a92d58e64c8aa76f9f42245b71bf1644d8ee55acb2d43d605cb948Transfer203155592021-10-17 15:26:021 min ago0x0a7d1e21cd916af48302b7914bfed124ea9301c6 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0001353792
0xae84083c8a4cb9acd9cd487a73a04afc72217cee219d26de90a6257e1ad44310Transfer203155592021-10-17 15:26:021 min ago0x32b8827291313ea98caf2a7bcacb59e962c226ce IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0021153
[ 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-29
*/

// 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"}]

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea26469706673582212208262e9eb2153cf52cdbce21b7ed8a72faf3469a061b389bcfdc789246642006364736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e00000000000000000000000042243231fb4a64a5bcfc7f4b7a9ad92576804046

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

00000000000000000000000042243231fb4a64a5bcfc7f4b7a9ad92576804046

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000042243231fb4a64a5bcfc7f4b7a9ad92576804046


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.