Contract 0xc2132d05d31c914a87c6611c10748aeb04b58e8f 11

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xda47e5942c1ebf8e172206d45019c0b2c14c152e4a1e6c5a866ec16e4937a85cApprove205346002021-10-23 20:18:2724 secs ago0x15e216138fe88ebb969ecb800474a077269858d4 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0x1c7ae84acde697ede528b8d70eca970610509177ddfaa47358b2434d4cfae6c6Transfer205345982021-10-23 20:18:2328 secs ago0x06959153b974d0d5fdfd87d561db6d8d4fa0bb0b IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.0114588
0xd63ffc52cc094337e2e0342e529882f0093f7464baa3aefd77de4b8a560a3984Approve205345952021-10-23 20:18:1734 secs ago0xed9249cd7147d3579a96df888597f150ee10132f IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0x15839d6a72a8e7647c7b5e6f5da7959504a3000db311486dbaaf6bfcd29d5db0Approve205345932021-10-23 20:18:1338 secs ago0xdbbe065d7ea0704b33de1bd57c16625d3988f125 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0x1b699910fd68c9560416301c36f3df31f72b1e38cdf3feb328e0857f7d0bbe9fApprove205345902021-10-23 20:18:0348 secs ago0x2b8e4af8c839b234692b2dc1b3cb7d36dfa64021 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00156216
0x8b2e9d2ea77356033821aae1654ddd1c568b7d09f170ded83f00d344a534de76Transfer205345862021-10-23 20:17:5556 secs ago0x9b2646b83afeef132b1776f8faf1011facf94067 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000781386
0xead446d15b060c2ea64dc06ad751656f7efce5eb3736154269c8878d71ef7fddTransfer205345852021-10-23 20:17:5358 secs ago0x79f21dfdc805960d477698da70adab0ace8d1f53 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000781014
0xfae3ff2d2397bf04de10c786cfa42370c29b6bed95c53126b5df593a9910ec5dTransfer205345842021-10-23 20:17:511 min ago0xe46e30b07750fc91d7a9ace5ad91d212da5efb6c IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000781386
0x7ddb713b57cbddc7046c315e15851ccaf2a35c926f23001b348e93198a575795Transfer205345832021-10-23 20:17:491 min ago0x81ed3d3b44747f2170eda2c6b836d804823f6cc0 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.000781758
0x66fcc610bf6b09041b01a70111834033df4fa0beed7e1ada6c038c9fcaa8c494Approve205345772021-10-23 20:17:371 min ago0x0199e24af015f0de157d20bb8a0dbfe3f5a23e2e IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0xa4048389de1c8777ad16046709cbf13f575bdba1330d6072ad8526cdf543adfcApprove205345712021-10-23 20:17:251 min ago0x70747673b94e95db121857210cbc24b172e7d690 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.003436752
0x387395426ec670cc7b45b1d75246075bcc850d6ba2511d4e40c3aeef21f0aedfTransfer205345662021-10-23 20:17:151 min ago0x47565d435ceaa62af916adfbe99a61fd2450617a IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00190377
0x2bfc330a0d1bde677a2836753077bcf6d1025e064303741f62bde67ee8dd8307Transfer205345642021-10-23 20:17:111 min ago0x4e46af416de99a7c07d5411bb1f9ec8b5458914a IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00190323
0x231b82cc6578c34ad0480b0715723457be595bce5f254967810af75e707596f0Approve205345532021-10-23 20:16:492 mins ago0x2550194051f96698382c554b464c9b21ac9b4a10 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0x749132080a7c15e4208b5cc370228f146faf574d746dffd80ef29d64d7b4de0eApprove205345522021-10-23 20:16:472 mins ago0xc79af6b7f0be572f51e4c10594925a1b8fdeb098 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0xa75ce9b966c0e284abe11b771e495e6080960b7f5feb543865613f897ee9ec55Transfer205345472021-10-23 20:16:372 mins ago0x84bf9ac4ad14bd6d119a6892b4bd1db6b027685a IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00190377
0x5d1910f0dcce06f0d468160b57255f498a32694fe9dd7373a29bed45efc59d7fApprove205345472021-10-23 20:16:372 mins ago0x4fd0a81caeaf6b7b0bae6cec080ae399deb39da3 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.003436752
0x20d59dce8e47de56f513850df5a8fcb7922cb0f60fd15b329ae11416bcfb4e7cTransfer205345432021-10-23 20:16:292 mins ago0xba3cad7e2947e5663d2e2501105dc504f0d229cd IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00171882
0xba4df99028f86c0c533d608863a8568dce691cccb36388216c23ee882c7388caApprove205345422021-10-23 20:16:272 mins ago0x5d4407e99c2f24ab0debe35c557dc76991a8eef0 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0xb5da16b92073e22a7e9bbdc201f516f1608785b5451e6c42fdbfbe5029321ff2Approve205345382021-10-23 20:16:192 mins ago0xd8f5233d12d5765fa021814e7f371c1e58765eb8 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0xa27f131f3f8afa7e4e9c76b89761444835906975579c3246f28d1121b5697135Transfer205345292021-10-23 20:16:012 mins ago0x76d2b9ce3af43e9f2ba6f6a1147ac529ef400a49 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00190377
0x69b1ec70e46e86108a5db612a5bff7a664f4e3163f3035eec2fbeebc6d8bc49aApprove205345272021-10-23 20:15:532 mins ago0x426bbec0f5f30317544acb53a00a1f92166b363c IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00155316
0x21db124c1d0bc90d1f020723ff4834a69dc4d86390f7c579dca7fb1e3d8a1b02Approve205345232021-10-23 20:15:453 mins ago0xc2ce465f67d0734cf8e3645e6377866430c21d5f IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00155172
0xfae62e01ecc42e93fc9d1c9434c21ac3b2aaa0260254f7c28c4862462d40ee29Approve205345202021-10-23 20:15:393 mins ago0xf259d2de48665bf6614ce11bfb964af92fc92e70 IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00234324
0x1dc304ea049291227f6329c40a0f0732782a99949d6b7af20014396af87ef77fTransfer205345182021-10-23 20:15:353 mins ago0x7f40f016eb7533341ad154bc0cbad1d45e74250e IN  0xc2132d05d31c914a87c6611c10748aeb04b58e8f0 MATIC0.00190377
[ 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.