Contract 0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7 5

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x8f256d85bbbdfadf69926905b83568eee8c5662d73ca1970a8d217e571529970Approve238239372022-01-17 11:10:096 mins ago0x1cc94c7c4ba9457123ccc3c1af4639ed02c5b0c7 IN  Aavegotchi: GHST Token0 MATIC0.00161423231
0xc0b84590aba24dd19d9f83793b595d5977ed7fc953f5df2225522411d7a00fb3Transfer238239052022-01-17 11:08:018 mins ago0xd430f0850fc568de4d460b63cfda9b35383dc4df IN  Aavegotchi: GHST Token0 MATIC0.0039817899
0x101356ca742a82ee52df71d9a898e75fcb7aa6beace4292753a28b407252f7acApprove238232162022-01-17 10:42:4133 mins ago0x76e059c6ff6bf9fffd5f33afdf4ab2fd511c9df4 IN  Aavegotchi: GHST Token0 MATIC0.00753676385
0x52f90471f8144cab8fcdbc973edf53d87fe9a43a9e098424b5cafe5fded4f27aApprove238232152022-01-17 10:42:3733 mins ago0x76e059c6ff6bf9fffd5f33afdf4ab2fd511c9df4 IN  Aavegotchi: GHST Token0 MATIC0.00754138385
0x4bb027c41c43f2f73d2e0bb22bd6e536f6eda359cc3caa727c1017f9c3401a79Approve238232142022-01-17 10:42:3333 mins ago0x76e059c6ff6bf9fffd5f33afdf4ab2fd511c9df4 IN  Aavegotchi: GHST Token0 MATIC0.00754138385
0x3d54bf913d93dc2b27a5e84b1e8ffc6e88f3cecb5cf169a74062ad8cca31419dApprove238229802022-01-17 10:32:5943 mins ago0x0dfb47508809fd6088b9a4d761d49fb4f277813a IN  Aavegotchi: GHST Token0 MATIC0.00156216016330.000003145
0xa441097ef10638aa9bd7ac98d0d06762b2f7a531e982bd5b53dcf3b6e4c107b5Approve238228802022-01-17 10:29:3146 mins ago0x6ba6832887d051e5d7bcc0ee0dc0eac21279187c IN  Aavegotchi: GHST Token0 MATIC0.00165785632
0x39af7a061b5c411464b3811b748ae93268841623439cca7e67598c36ece915dbApprove238227802022-01-17 10:26:0350 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.0058764300
0x06627bf7ed68949ef35a8f854f11746cfbd19ea159c9f6eb6d1470628682329aApprove238227732022-01-17 10:25:4950 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.005562992284
0x9d3c9899be58b617e53754ada4e6aa2b935ff62c453544d46d65dfc0aa0eb7b9Approve238227662022-01-17 10:25:3550 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.005559584284
0x5659bb9251e6dabcfcf521fdc798cb3cdea6c3698fdbafaa95588d82db47c41bApprove238227552022-01-17 10:25:1350 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.005562992284
0x538c5b8a8817f85f3bbf654e2d2c9295685a0b95c4cec653685202a4100f907fApprove238227452022-01-17 10:24:5351 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.005562992284
0xcc09d7c992b272b981ab482b614769052d9bf3994394bef4b8645fd4cc6e787aApprove238227362022-01-17 10:24:3551 mins ago0xe2ed8448c47b00d505abbdee375c346b4c40d09b IN  Aavegotchi: GHST Token0 MATIC0.005562992284
0x25fa8972b0c2e0159626e415888a492a83490464a55ab89afb81b01d6f2d40edApprove238227042022-01-17 10:23:2752 mins ago0x4e90c3113041948f9e224dcec76c666e5a0de1a0 IN  Aavegotchi: GHST Token0 MATIC0.02538004490
0xccfae208eea763986cdad3de4fd32de1bad61d32ecf55acf8fd20fadae66d803Transfer238226882022-01-17 10:22:5553 mins ago0x4e7bf3694962fc482a16d60fd78f99db9c4c52b0 IN  Aavegotchi: GHST Token0 MATIC0.00249915699
0x0013e9083e410fb6d95721c6a0345e5fa2e1648a51dc66cc5d4d2550885eab35Approve238226462022-01-17 10:21:2754 mins ago0xbeed54582a337b93cb845570140a7f8444181c48 IN  Aavegotchi: GHST Token0 MATIC0.005312492229102.518182733
0x612297ab2a523c13eb6c5ff95597bafa1ef59a41bc761196ee02447792a54927Approve238216402022-01-17 9:42:391 hr 33 mins ago0xc513f89e661b5e290548024f402dc468c45367b4 IN  Aavegotchi: GHST Token0 MATIC0.0015621630.000000001
0xbfd98718bee4c1951ae9ee1d37237e4857b354fe44a55cdee9836dc8492bff1fApprove238215932022-01-17 9:41:011 hr 35 mins ago0x2c628914a9c4809c4a6aabff889851444f64e457 IN  Aavegotchi: GHST Token0 MATIC0.0015538830.000000001
0xa9d8151924ddf016502a0a428b4512c04dcface89831c487d0e7aa279744d413Approve238211462022-01-17 9:25:391 hr 50 mins ago0xae5b56ca47e84b6c749e0454680c4161b9da9790 IN  Aavegotchi: GHST Token0 MATIC0.001567367230.1
0xee629157d335e6af24a96132875c3c8be176c64a345368bdfd94187a265a57f5Transfer238209202022-01-17 9:15:292 hrs ago0x959ca489b093da9a4abd227e468b91cfdda174e4 IN  Aavegotchi: GHST Token0 MATIC0.001608840
0x6f128066600767f169287f82cf853f92ec7be762f5adc04e9d7836ab9a268e00Approve238208492022-01-17 9:10:132 hrs 5 mins ago0xae5b56ca47e84b6c749e0454680c4161b9da9790 IN  Aavegotchi: GHST Token0 MATIC0.0034695573666.630000003
0xbffb4ee1bb33b02bd1151f7940952209a62c71f26106d558e7fcbe101f784e97Approve238208332022-01-17 9:08:372 hrs 7 mins ago0xcce5da775ff95c4ae988331d94b185fedd82330a IN  Aavegotchi: GHST Token0 MATIC0.0031243260
0x14cf4ec6c14f6a51fef6e8c4181f0e925290cdfd90700c1b1ccc6e2d4d300b6eApprove238207192022-01-17 9:02:252 hrs 13 mins ago0xc76b85cd226518daf2027081deff2eac4cc91a00 IN  Aavegotchi: GHST Token0 MATIC0.002603650
0x757d41b88c7aee0379afeceb76505ee1bfdba799e245afa805b6ea2d55a2f89cTransfer238206672022-01-17 9:00:372 hrs 15 mins ago0xcce5da775ff95c4ae988331d94b185fedd82330a IN  Aavegotchi: GHST Token0 MATIC0.002865450
0x78ff4961de0dbc24625f202ec05c7fb4bd74627aebb86cb2016bd7928c532140Approve238206002022-01-17 8:58:192 hrs 17 mins ago0xd8db8f3369efafb47175e9078b83d6c4f724bd5d IN  Aavegotchi: GHST Token0 MATIC0.0002701227145.18748492
[ Download CSV Export 

OVERVIEW

Aavegotchis are crypto-collectibles living on the Ethereum blockchain, backed by the ERC721 standard used in popular blockchain games. $GHST is the official utility token of the Aavegotchi ecosystem and can be used to purchase portals, wearables, and consumables.

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

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e0000000000000000000000005004bc7e5b718c245ca859db349dd012cfd58395

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

0000000000000000000000005004bc7e5b718c245ca859db349dd012cfd58395

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005004bc7e5b718c245ca859db349dd012cfd58395


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.