MATIC Price: $0.54089 (+1.16%)
Gas: 30.9 GWei
 

Sponsored

Transaction Hash
Method
Block
From
To
Approve596236902024-07-21 8:22:2326 hrs ago1721550143IN
0x30668188...877A6B731
0 MATIC0.0010127934
Withdraw595756522024-07-20 3:31:012 days ago1721446261IN
0x30668188...877A6B731
0 MATIC0.00922281232.50000002
Approve595755352024-07-20 3:26:512 days ago1721446011IN
0x30668188...877A6B731
0 MATIC0.0015538830.00000004
Withdraw595375782024-07-19 4:56:003 days ago1721364960IN
0x30668188...877A6B731
0 MATIC0.0010474430.040397
Approve594649172024-07-17 9:45:245 days ago1721209524IN
0x30668188...877A6B731
0 MATIC0.0011319438
Approve594440662024-07-16 21:20:155 days ago1721164815IN
0x30668188...877A6B731
0 MATIC0.0009532132
Approve594373162024-07-16 17:21:115 days ago1721150471IN
0x30668188...877A6B731
0 MATIC0.0077694150.00000002
Approve594366222024-07-16 16:56:355 days ago1721148995IN
0x30668188...877A6B731
0 MATIC0.0009234231
Approve590601922024-07-07 7:40:2015 days ago1720338020IN
0x30668188...877A6B731
0 MATIC0.0016049331
Approve588192042024-07-01 7:10:5221 days ago1719817852IN
0x30668188...877A6B731
0 MATIC0.0015712230.17416817
Approve588097852024-07-01 1:01:4321 days ago1719795703IN
0x30668188...877A6B731
0 MATIC0.0023308245
Approve588097242024-07-01 0:59:3321 days ago1719795573IN
0x30668188...877A6B731
0 MATIC0.0013184438
Approve586417282024-06-26 20:09:1125 days ago1719432551IN
0x30668188...877A6B731
0 MATIC0.0016187631.08704273
Approve584794922024-06-22 18:28:2629 days ago1719080906IN
0x30668188...877A6B731
0 MATIC0.0015621630.00000002
Approve584199072024-06-21 6:51:1631 days ago1718952676IN
0x30668188...877A6B731
0 MATIC0.0011915240
Withdraw583734252024-06-20 2:53:1732 days ago1718851997IN
0x30668188...877A6B731
0 MATIC0.0011307432.42928167
Approve582310562024-06-16 13:02:5135 days ago1718542971IN
0x30668188...877A6B731
0 MATIC0.0009234231
Approve580801612024-06-12 18:23:1539 days ago1718216595IN
0x30668188...877A6B731
0 MATIC0.0015825730.3920899
Approve580645212024-06-12 9:08:4040 days ago1718183320IN
0x30668188...877A6B731
0 MATIC0.0015535230.00000006
Approve580434042024-06-11 20:35:3440 days ago1718138134IN
0x30668188...877A6B731
0 MATIC0.0015535230.00000009
Approve578460572024-06-06 19:29:5945 days ago1717702199IN
0x30668188...877A6B731
0 MATIC0.0016570832
Approve578024232024-06-05 16:19:3546 days ago1717604375IN
0x30668188...877A6B731
0 MATIC0.0015535230.00000004
Approve574981102024-05-28 18:12:4854 days ago1716919968IN
0x30668188...877A6B731
0 MATIC0.002589250
Approve574779992024-05-28 5:31:3855 days ago1716874298IN
0x30668188...877A6B731
0 MATIC0.0009532132
Withdraw574523142024-05-27 13:44:1055 days ago1716817450IN
0x30668188...877A6B731
0 MATIC0.0013944239.99146414
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7d3fA4bA...a97bBF313
The constructor portion of the code might be different and could alter the actual behaviour of the contract

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-09
*/

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

Deployed Bytecode

0x6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c63430006060033

Deployed Bytecode Sourcemap

4731:143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2192:44;2205:20;:18;:20::i;:::-;2227:8;;2192:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2192:44:0;;;;;;:12;:44::i;:::-;4731:143;;2094:44;2107:20;:18;:20::i;:::-;2129:8;;2094:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2094:44:0;;;;;;:12;:44::i;:::-;4731:143;2369:95;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2369:95:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3483:353;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3483:353:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3483:353:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1270:146;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1270:146:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2704:113;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2704:113:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3844:289;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3844:289:0;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;3844:289:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3844:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3844:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3844:289:0;;;;;;;;;;;;;;;:::i;:::-;;3067:232;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3067:232:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3067:232:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2825:234;2877:7;2897:13;2921:16;1797:47;;;;;;;;;;;;;;;;;;;2921:38;;3009:8;3003:15;2994:24;;3046:5;3039:12;;;;2825:234;:::o;366:896::-;733:1;713;684:9;678:16;654:4;643:9;639:20;616:4;591:5;584;580:17;549:200;775:16;824:4;818:11;866:4;863:1;858:3;843:28;1069:6;1098:1;1093:66;;;;1220:4;1215:3;1208:17;1093:66;1135:4;1130:3;1123:17;2369:95;2413:7;2440:16;:14;:16::i;:::-;2433:23;;2369:95;:::o;3483:353::-;2317:10;2297:30;;:16;:14;:16::i;:::-;:30;;;2289:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3598:3:::1;3575:27;;:11;:27;;;;3567:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3647:23;3658:11;3647:10;:23::i;:::-;3639:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3756:20;:18;:20::i;:::-;3730:47;;3743:11;3730:47;;;;;;;;;;;;3798:30;3816:11;3798:17;:30::i;:::-;3483:353:::0;:::o;1270:146::-;1331:19;1407:1;1393:15;;1270:146;:::o;2704:113::-;2762:7;2789:20;:18;:20::i;:::-;2782:27;;2704:113;:::o;3844:289::-;2317:10;2297:30;;:16;:14;:16::i;:::-;:30;;;2289:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:33:::1;3969:11;3948:20;:33::i;:::-;3995:12;4009:23;4044:4;4036:18;;4062:9;4073:4;4036:42;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4036:42:0;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;3994:84:0;;;;4097:7;4113:10;4089:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4089:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2352:1;;3844:289:::0;;:::o;3067:232::-;2317:10;2297:30;;:16;:14;:16::i;:::-;:30;;;2289:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3178:1:::1;3158:22;;:8;:22;;;;3150:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3213:44;3230:8;3240:16;:14;:16::i;:::-;3213:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3268:23;3282:8;3268:13;:23::i;:::-;3067:232:::0;:::o;2472:224::-;2520:7;2540:14;2565:16;1881:38;;;;;;;;;;;;;;;;;;;2565:29;;2645:8;2639:15;2629:25;;2682:6;2675:13;;;;2472:224;:::o;4340:274::-;4400:4;4440:1;4421:21;;:7;:21;;;4417:66;;;4466:5;4459:12;;;;4417:66;4495:12;4562:7;4550:20;4542:28;;4605:1;4598:4;:8;4591:15;;;4340:274;;;;:::o;4141:187::-;4208:16;1797:47;;;;;;;;;;;;;;;;;;;4208:38;;4298:11;4288:8;4281:29;4266:55;;:::o;3307:168::-;3367:16;1881:38;;;;;;;;;;;;;;;;;;;3367:29;;3448:8;3438;3431:26;3416:52;;:::o

Swarm Source

ipfs://41ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f06

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.