ETH Price: $1,606.43 (-1.76%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exit136579722021-11-21 11:43:081241 days ago1637494988IN
0xF068236e...6C7c9A924
0 ETH0.0080619361.80760705
Exit136199812021-11-15 11:05:571247 days ago1636974357IN
0xF068236e...6C7c9A924
0 ETH0.01534374104
Exit125816252021-06-06 14:54:451409 days ago1622991285IN
0xF068236e...6C7c9A924
0 ETH0.0020780117
Exit125729532021-06-05 6:49:081410 days ago1622875748IN
0xF068236e...6C7c9A924
0 ETH0.0024155819
Exit125274402021-05-29 5:42:411417 days ago1622266961IN
0xF068236e...6C7c9A924
0 ETH0.00491826
Exit125143512021-05-27 4:45:051419 days ago1622090705IN
0xF068236e...6C7c9A924
0 ETH0.003483425
Exit124897822021-05-23 9:32:361423 days ago1621762356IN
0xF068236e...6C7c9A924
0 ETH0.02789172180
Exit124685762021-05-20 2:35:301426 days ago1621478130IN
0xF068236e...6C7c9A924
0 ETH0.01859448120
Exit124450542021-05-16 10:54:121430 days ago1621162452IN
0xF068236e...6C7c9A924
0 ETH0.0058521142
Collect Bal Toke...123789472021-05-06 5:36:531440 days ago1620279413IN
0xF068236e...6C7c9A924
0 ETH0.0013176533
Exit123780612021-05-06 2:28:391440 days ago1620268119IN
0xF068236e...6C7c9A924
0 ETH0.0044004936
Exit123666732021-05-04 8:23:051442 days ago1620116585IN
0xF068236e...6C7c9A924
0 ETH0.0044518934.1000016
Exit123659312021-05-04 5:35:501442 days ago1620106550IN
0xF068236e...6C7c9A924
0 ETH0.0055141640
Exit123647982021-05-04 1:30:201442 days ago1620091820IN
0xF068236e...6C7c9A924
0 ETH0.0077816163.66055044
Exit123644902021-05-04 0:26:321442 days ago1620087992IN
0xF068236e...6C7c9A924
0 ETH0.0080814858
Exit123596652021-05-03 6:44:461443 days ago1620024286IN
0xF068236e...6C7c9A924
0 ETH0.003901428
Exit123550922021-05-02 13:37:161444 days ago1619962636IN
0xF068236e...6C7c9A924
0 ETH0.00383926
Exit123466782021-05-01 6:27:171445 days ago1619850437IN
0xF068236e...6C7c9A924
0 ETH0.0030561425.002
Exit123383382021-04-29 23:25:271446 days ago1619738727IN
0xF068236e...6C7c9A924
0 ETH0.005679533.01
Exit123358982021-04-29 14:27:071447 days ago1619706427IN
0xF068236e...6C7c9A924
0 ETH0.0082386263.10512962
Exit123266832021-04-28 4:10:421448 days ago1619583042IN
0xF068236e...6C7c9A924
0 ETH0.0054750551
Exit123207152021-04-27 6:21:191449 days ago1619504479IN
0xF068236e...6C7c9A924
0 ETH0.00737739
Exit123196442021-04-27 2:13:561449 days ago1619489636IN
0xF068236e...6C7c9A924
0 ETH0.0062034345
Exit123192302021-04-27 0:42:271449 days ago1619484147IN
0xF068236e...6C7c9A924
0 ETH0.0070460240.95238095
Exit123183582021-04-26 21:21:241449 days ago1619472084IN
0xF068236e...6C7c9A924
0 ETH0.0085647870
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UpgradableProxy

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2020-10-30
*/

pragma solidity 0.5.17;


interface IERCProxy {
    function proxyType() external pure returns (uint proxyTypeId);
    function implementation() external view returns (address codeAddr);
}

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 pure returns (uint proxyTypeId) {
        // Upgradeable proxy
        proxyTypeId = 2;
    }

    function implementation() public view returns (address);
}

contract GovernableProxy {
    bytes32 constant OWNER_SLOT = keccak256("proxy.owner");

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() internal {
        _transferOwnership(msg.sender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns(address _owner) {
        bytes32 position = OWNER_SLOT;
        assembly {
            _owner := sload(position)
        }
    }

    modifier onlyOwner() {
        require(isOwner(), "NOT_OWNER");
        _;
    }

    function isOwner() public view returns (bool) {
        return owner() == msg.sender;
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "OwnableProxy: new owner is the zero address");
        emit OwnershipTransferred(owner(), newOwner);
        bytes32 position = OWNER_SLOT;
        assembly {
            sstore(position, newOwner)
        }
    }
}

contract UpgradableProxy is GovernableProxy, Proxy {
    bytes32 constant IMPLEMENTATION_SLOT = keccak256("proxy.implementation");

    event ProxyUpdated(address indexed previousImpl, address indexed newImpl);

    function() external payable {
        delegatedFwd(implementation(), msg.data);
    }

    function implementation() public view returns(address _impl) {
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            _impl := sload(position)
        }
    }

    // ACLed on onlyOwner via the call to updateImplementation()
    function updateAndCall(address _newProxyTo, bytes memory data) public {
        updateImplementation(_newProxyTo);
        // sometimes required to initialize the contract
        (bool success, bytes memory returnData) = address(this).call(data);
        require(success, string(returnData));
    }

    function updateImplementation(address _newProxyTo) public onlyOwner {
        require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS");
        require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT");
        emit ProxyUpdated(implementation(), _newProxyTo);
        setImplementation(_newProxyTo);
    }

    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;
        }
        uint size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImpl","type":"address"},{"indexed":true,"internalType":"address","name":"newImpl","type":"address"}],"name":"ProxyUpdated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"_impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526100133361001860201b60201c565b610189565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561009e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610c09602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166100c361014660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b019050604051809103902090508181555050565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b610a71806101986000396000f3fe6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b1461019b5780638f32d59b146101f2578063d88ca2c814610221578063f2fde38b1461030957610070565b8063025b22bc146100c85780634555d5c9146101195780635c60da1b14610144575b6100c661007b61035a565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061039d565b005b3480156100d457600080fd5b50610117600480360360208110156100eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c7565b005b34801561012557600080fd5b5061012e6105af565b6040518082815260200191505060405180910390f35b34801561015057600080fd5b5061015961035a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a757600080fd5b506101b06105b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101fe57600080fd5b506102076105fb565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506103076004803603604081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460018302840111640100000000831117156102b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610638565b005b34801561031557600080fd5b506103586004803603602081101561032c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ab565b005b60008060405180807f70726f78792e696d706c656d656e746174696f6e000000000000000000000000815250601401905060405180910390209050805491505090565b600080825160208401856127105a03f43d604051816000823e82600081146103c3578282f35b8282fd5b6103cf6105fb565b610441576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b6104ed81610831565b610542576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806109ed6025913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661056161035a565b73ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105ac81610883565b50565b60006002905090565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b60003373ffffffffffffffffffffffffffffffffffffffff1661061c6105b8565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610641826103c7565b600060603073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610690578051825260208201915060208101905060208303925061066d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106f2576040519150601f19603f3d011682016040523d82523d6000602084013e6106f7565b606091505b50915091508181906107a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561076957808201518184015260208101905061074e565b50505050905090810190601f1680156107965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b6107b36105fb565b610825576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61082e816108c4565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610870576000905061087e565b6000823b9050600081119150505b919050565b600060405180807f70726f78792e696d706c656d656e746174696f6e0000000000000000000000008152506014019050604051809103902090508181555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610a12602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109696105b8565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143544f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a7231582062ced571c8ff6aa743fbe5b59c982f65208edb867af2f2ced70ffbf736e4694064736f6c634300051100324f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373

Deployed Bytecode

0x6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b1461019b5780638f32d59b146101f2578063d88ca2c814610221578063f2fde38b1461030957610070565b8063025b22bc146100c85780634555d5c9146101195780635c60da1b14610144575b6100c661007b61035a565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061039d565b005b3480156100d457600080fd5b50610117600480360360208110156100eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c7565b005b34801561012557600080fd5b5061012e6105af565b6040518082815260200191505060405180910390f35b34801561015057600080fd5b5061015961035a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a757600080fd5b506101b06105b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101fe57600080fd5b506102076105fb565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506103076004803603604081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460018302840111640100000000831117156102b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610638565b005b34801561031557600080fd5b506103586004803603602081101561032c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ab565b005b60008060405180807f70726f78792e696d706c656d656e746174696f6e000000000000000000000000815250601401905060405180910390209050805491505090565b600080825160208401856127105a03f43d604051816000823e82600081146103c3578282f35b8282fd5b6103cf6105fb565b610441576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b6104ed81610831565b610542576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806109ed6025913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661056161035a565b73ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105ac81610883565b50565b60006002905090565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b60003373ffffffffffffffffffffffffffffffffffffffff1661061c6105b8565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610641826103c7565b600060603073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610690578051825260208201915060208101905060208303925061066d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106f2576040519150601f19603f3d011682016040523d82523d6000602084013e6106f7565b606091505b50915091508181906107a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561076957808201518184015260208101905061074e565b50505050905090810190601f1680156107965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b6107b36105fb565b610825576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61082e816108c4565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610870576000905061087e565b6000823b9050600081119150505b919050565b600060405180807f70726f78792e696d706c656d656e746174696f6e0000000000000000000000008152506014019050604051809103902090508181555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610a12602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109696105b8565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143544f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a7231582062ced571c8ff6aa743fbe5b59c982f65208edb867af2f2ced70ffbf736e4694064736f6c63430005110032

Block Transaction Difficulty 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
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.