Contract 0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa33c228f20774eefee6ab2d6efc6de0e41b4df9b69058948cb55a1202ad3d6e9Approve195921282021-09-28 0:40:4018 days 7 hrs ago0x036716117e83da70fdac74f243f4b7f27f92abf1 IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.000136137036
0x4b8aebe5523d68f59ef418ab789ec539cdf95db20fc04b90e54b01bbbd8dd4d7Approve185827652021-08-31 8:00:0346 days 25 mins ago0xb61959b37aadff714af150580559858483459b8e IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.0001614232
0xd91977ea3ec2c7862cdd24913ddf7bb4854d6cfe0f168151babc26909105bd18Transfer185760982021-08-31 3:21:1846 days 5 hrs ago0x1bfcc34dadaa1154bb5f6dc2b7923f3b5cc256f7 IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.000057296
0x314cc9fe35c1ae9b93a03058a542ad23d6cc817fddd51320f98c5705b9994dd1Revoke Role184427062021-08-27 6:56:3650 days 1 hr agoUniPower: Deployer IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.00002449553
0xdbc4758e162bc853c773e019c8d429da6817c98fbde638f9b98b6b7242470095Transfer Proxy O...184427022021-08-27 6:56:2850 days 1 hr agoUniPower: Deployer IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.00002900821
0x0dba9d700e5c8fcbee8be38a7663133dfdc536028edaba5f2cb4b93a5a2b3585Initialize184426472021-08-27 6:54:3450 days 1 hr agoUniPower: Deployer IN  0x9f28e2455f9ffcfac9ebd6084853417362bc5dbb0 MATIC0.00035126487
0xfb052b1dafb41e4b8f29db8581090c734aaa351f31d6c78c1b00aeb65edd14520x60806040184425392021-08-27 6:50:4650 days 1 hr agoUniPower: Deployer IN  Contract Creation0 MATIC0.0025723915
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7d3fa4bad8220d927a23f29aa70866ea97bbf313

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

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000450149689f0738cdf007817c96c6e491269acc7b

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
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.