Contract 0xb77e62709e39ad1cbeebe77cf493745aec0f453a 1

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xbda17e9de301a085810e28e77dbefb4db24fb81677f144e929110af28ee7f993Approve219979572021-12-01 3:28:2321 mins ago0xbed5ed04809771e8dd92ea970bf95cd4251cf943 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00156268072
0x53ee08aab5d258f7697e81bd2114db08cd3dd9e1501b2d4ceb80c6a617ef4619Approve219959702021-12-01 2:17:101 hr 32 mins ago0xfc86f1156b283b16edb7505356f98ea0d2cda341 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00155316
0x875db1172ccd45b3ffe8a875a007538f11167d6ea93f9b007a623be95032fd53Approve219899072021-11-30 22:39:015 hrs 10 mins ago0x1802426be9a273174a25975a6d327668566b905b IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.000123899261
0x748e77efef8833366ef1d1ad2fa545f6e40420f6d1ed550a1bff76922a7183bcWithdraw219785102021-11-30 15:37:2312 hrs 12 mins ago0x1d3cddc8f3c81a367492184cd5545a04c0a6515d IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.0007404
0x0793b7754e74db2d411dd79c0bba4a592af21d39fb34cbe38d8b06a98bb36d5bApprove219756612021-11-30 13:38:0414 hrs 11 mins ago0x8704b2527cf15b6bd05715d0ab4c77cd1a644d4b IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.0052072
0x0b99a4013986eac1b3eac63736268bcdd86ce89a6d944f07d764500766ea358dApprove219589402021-11-30 3:21:271 day 27 mins ago0x65435084e49c517856364a3bd533296ce87fa9b8 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00859188
0xab3290d78ad6712120b07d0caefc78681f1a85a7642bfea2e84c4a9d72f03bd8Withdraw219518342021-11-29 22:44:531 day 5 hrs ago0x1d3cddc8f3c81a367492184cd5545a04c0a6515d IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00090177
0x9f7090608b64bc317ce5d50c99df51ca019464bde458de859c4f9e8490c0bc7cApprove219433812021-11-29 17:05:461 day 10 hrs ago0xe18543bcaf06380353f92cc15e47e27888671081 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00182252
0x0df28d8412faae76c68706d49622628a4fa101e8c2bc96da0b79618da73c3804Approve219342752021-11-29 11:09:291 day 16 hrs ago0x5a89d622e305323ddc50a497b3900c902799cb96 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00155352
0xe6530dd67e3aea9c9eeab65163f1e0317162a61b10ebdbab41879e7ffba6f81eApprove219199602021-11-29 1:25:202 days 2 hrs ago0xa7348d29ce7116b4e9024b8638be4cc57b7689b3 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00156268072
0x7bcb8610af4391158fb29aa8e0ba492c283341927a818933602aa29686d298e8Withdraw218950152021-11-28 10:01:472 days 17 hrs ago0xde0d3e4c2c3de068249b87b8c70630f2c5ab07d1 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.002468
0xed2719e7a35a1f63a32cc2d6570b0501f455178862f1dcc70a91a4718345619aTransfer218949552021-11-28 9:59:282 days 17 hrs ago0x668fb2f38e41fe00f8eb47fae8d048aefa189ec0 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00127068
0xf07028258b37e316a3d8a44ee0fe2047358a64500a10b7bb839790ba0cc2b314Approve218747152021-11-27 21:13:503 days 6 hrs ago0xd8153d1f8dd0e741f9dfa10fb1aec7e265766359 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.012809712
0x3adb50c441b288c2f5afc19b95c9d2057c657bd863d5f74bd560fb0c6303ed91Approve218683722021-11-27 17:24:263 days 10 hrs ago0x9d1a646cd81f6ed2852d6fff62d1e17512848311 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00155352
0x325b9c31ac479af311d8a25bd711df181e7aa1c9fee1ee910201ccfd80bc0a7aApprove218381192021-11-26 23:09:484 days 4 hrs ago0x521e4d9c546bc9d8fd3af181de57fc2358b357b1 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.010518544
0x87916c8e74014cb394faca18dc5d905e226169fc8319919a3d3676db1eb92142Approve218370482021-11-26 22:32:144 days 5 hrs ago0x2300ef5ea1ad3eeb4ea209ad9d651fb6a1599155 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00624864
0x37e3adebca6fec9881ffd3fadc2a13dfa989aa6ce0e9ec93b540b4d9e5899c3dApprove218120132021-11-26 6:20:424 days 21 hrs ago0x6c15e8e35fc48737a4c5621d2a0c16eabfad83c4 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.004842696
0x1086e140afbdf85bed2d9bee581b14ba91b85b2d3f0a497bf2defdcf1d4b1a18Approve218051452021-11-26 1:47:565 days 2 hrs ago0x82724fb2df825604f3c166c61b1d66c0a26b2c79 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00156268072
0x632cd7bd7e16c0c858312c5bade6e5ff6fb6ba60c6cd4027e533011bedd2c915Withdraw217918682021-11-25 17:23:065 days 10 hrs ago0xfa35113163bfd33c18a01d1a62d4d14a1ed30a42 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00821844
0x3fb187238b2ca872bbdb4d4062d0cd66b258413ee04b73082303126df0c6cfdaApprove217798722021-11-25 9:53:105 days 17 hrs ago0x30a4a87f8eb3fb7fcf5fd83f312996f3dade55e3 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00156216
0x1b25d067223b09ae236a33b5ca96883205b4e70a5edc5e12ccac26726d591e33Approve217739212021-11-25 6:19:535 days 21 hrs ago0x5a89d622e305323ddc50a497b3900c902799cb96 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.0015528
0xee0c9678650cad349fd9ed52252794aacb352b49445cc31187f40ef1ea756df8Approve217681542021-11-25 2:33:456 days 1 hr ago0x3e1ff895fd5a1d9c284060e8866d9a647f55ac55 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00104088
0x22947a7baf964022d932b58571a7b7b4e293ad8d7f8a43bba2de3443add792c5Approve217676472021-11-25 2:10:596 days 1 hr ago0x3e1ff895fd5a1d9c284060e8866d9a647f55ac55 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00104016
0xe5f4d683c1ab8f71ae8b6d461b2e1cfd9be68d491b11157005e8c50c82760594Approve217480912021-11-24 14:26:176 days 13 hrs ago0xd78a79bd9f67ed31effe4a373a44f1f59a6377bf IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.00624864
0x986b450de9aea2186399f7eacb1b438f0ea27ccc821e6c96ee68a3660a4eef1fWithdraw217405772021-11-24 9:20:346 days 18 hrs ago0x90f1cb932dbf94385434c40d53df3727f00e50b1 IN  0xb77e62709e39ad1cbeebe77cf493745aec0f453a0 MATIC0.0007404
[ 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"}]

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000bf2713c58f2878f60d01df8ac59768dbe6ec342a

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

000000000000000000000000bf2713c58f2878f60d01df8ac59768dbe6ec342a

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

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


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.