ETH Price: $1,583.72 (-2.71%)
Gas: 25 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Approve181844122023-09-21 13:00:593 hrs 30 mins ago1695301259IN
0x6a445E...67F700BF
0 ETH0.0006015311.70909581
Approve181843262023-09-21 12:43:473 hrs 48 mins ago1695300227IN
0x6a445E...67F700BF
0 ETH0.000593311.55161259
Approve181827632023-09-21 7:27:599 hrs 3 mins ago1695281279IN
0x6a445E...67F700BF
0 ETH0.000415188.0817309
Approve181776112023-09-20 14:10:591 day 2 hrs ago1695219059IN
0x6a445E...67F700BF
0 ETH0.0009025817.56508495
Approve181774722023-09-20 13:42:591 day 2 hrs ago1695217379IN
0x6a445E...67F700BF
0 ETH0.0006167212.00771328
Approve181771512023-09-20 12:38:351 day 3 hrs ago1695213515IN
0x6a445E...67F700BF
0 ETH0.0008386516.32479882
Approve181770602023-09-20 12:20:111 day 4 hrs ago1695212411IN
0x6a445E...67F700BF
0 ETH0.0006744313.13131542
Approve181769962023-09-20 12:07:111 day 4 hrs ago1695211631IN
0x6a445E...67F700BF
0 ETH0.000403111.76565587
Approve181746652023-09-20 4:16:471 day 12 hrs ago1695183407IN
0x6a445E...67F700BF
0 ETH0.000467879.10519762
Approve181725092023-09-19 21:02:111 day 19 hrs ago1695157331IN
0x6a445E...67F700BF
0 ETH0.0008217716
Approve181681652023-09-19 6:26:232 days 10 hrs ago1695104783IN
0x6a445E...67F700BF
0 ETH0.000302738.84244191
Approve181656932023-09-18 22:07:232 days 18 hrs ago1695074843IN
0x6a445E...67F700BF
0 ETH0.0014317127.72
Transfer181656282023-09-18 21:54:112 days 18 hrs ago1695074051IN
0x6a445E...67F700BF
0 ETH0.0010375919.12513215
Approve181628472023-09-18 12:33:233 days 3 hrs ago1695040403IN
0x6a445E...67F700BF
0 ETH0.0007839215.25591999
Transfer181628392023-09-18 12:31:353 days 4 hrs ago1695040295IN
0x6a445E...67F700BF
0 ETH0.0005574715
Approve181575072023-09-17 18:25:473 days 22 hrs ago1694975147IN
0x6a445E...67F700BF
0 ETH0.000473139.21187134
Approve181568632023-09-17 16:14:594 days 16 mins ago1694967299IN
0x6a445E...67F700BF
0 ETH0.0007641114.87380899
Approve181561322023-09-17 13:45:234 days 2 hrs ago1694958323IN
0x6a445E...67F700BF
0 ETH0.0008872317.26641562
Approve181554042023-09-17 11:16:474 days 5 hrs ago1694949407IN
0x6a445E...67F700BF
0 ETH0.000434098.44982572
Approve181545182023-09-17 8:15:354 days 8 hrs ago1694938535IN
0x6a445E...67F700BF
0 ETH0.000452088.80011905
Approve181542872023-09-17 7:27:234 days 9 hrs ago1694935643IN
0x6a445E...67F700BF
0 ETH0.000251168.55326697
Approve181542852023-09-17 7:26:594 days 9 hrs ago1694935619IN
0x6a445E...67F700BF
0 ETH0.000257938.78390083
Approve181542632023-09-17 7:22:354 days 9 hrs ago1694935355IN
0x6a445E...67F700BF
0 ETH0.000231287.87612305
Approve181538292023-09-17 5:54:114 days 10 hrs ago1694930051IN
0x6a445E...67F700BF
0 ETH0.000246058.37927723
Approve181525722023-09-17 1:37:114 days 14 hrs ago1694914631IN
0x6a445E...67F700BF
0 ETH0.000461218.97783885
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

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

Contract Name:
EIP173Proxy

Compiler Version
v0.7.1+commit.f4a555be

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion, MIT license
File 1 of 2 : EIP173Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

import "./Proxy.sol";

interface ERC165 {
    function supportsInterface(bytes4 id) external view returns (bool);
}

///@notice Proxy implementing EIP173 for ownership management
contract EIP173Proxy is Proxy {
    // ////////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////

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

    // /////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////////////

    constructor(
        address implementationAddress,
        bytes memory data,
        address ownerAddress
    ) {
        _setImplementation(implementationAddress, data);
        _setOwner(ownerAddress);
    }

    // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////

    function owner() external view returns (address) {
        return _owner();
    }

    function supportsInterface(bytes4 id) external view returns (bool) {
        if (id == 0x01ffc9a7 || id == 0x7f5828d0) {
            return true;
        }
        if (id == 0xFFFFFFFF) {
            return false;
        }

        ERC165 implementation;
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }

        // This technically is not standard compliant as it ERC-165 require 30,000 gas which that call cannot ensure, since it is itself inside `supportsInterface`
        // in practise this is unlikely to be an issue
        try implementation.supportsInterface(id) returns (bool support) {
            return support;
        } catch {
            return false;
        }
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _setOwner(newOwner);
    }

    function changeImplementation(address newImplementation, bytes calldata data) external onlyOwner {
        _setImplementation(newImplementation, data);
    }

    // /////////////////////// MODIFIERS ////////////////////////////////////////////////////////////////////////

    modifier onlyOwner() {
        require(msg.sender == _owner(), "NOT_AUTHORIZED");
        _;
    }

    // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////

    function _owner() internal view returns (address adminAddress) {
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            adminAddress := sload(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103)
        }
    }

    function _setOwner(address newOwner) internal {
        address previousOwner = _owner();
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            sstore(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newOwner)
        }
        emit OwnershipTransferred(previousOwner, newOwner);
    }
}

File 2 of 2 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

// EIP-1967
abstract contract Proxy {
    // /////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////////

    event ProxyImplementationUpdated(address indexed previousImplementation, address indexed newImplementation);

    // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////

    receive() external payable {
        _fallback();
    }

    fallback() external payable {
        _fallback();
    }

    // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////

    function _fallback() internal {
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            let implementationAddress := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(gas(), implementationAddress, 0x0, calldatasize(), 0, 0)
            let retSz := returndatasize()
            returndatacopy(0, 0, retSz)
            switch success
                case 0 {
                    revert(0, retSz)
                }
                default {
                    return(0, retSz)
                }
        }
    }

    function _setImplementation(address newImplementation, bytes memory data) internal {
        address previousImplementation;
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            previousImplementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }

        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation)
        }

        emit ProxyImplementationUpdated(previousImplementation, newImplementation);

        if (data.length > 0) {
            (bool success, ) = newImplementation.delegatecall(data);
            if (!success) {
                assembly {
                    // This assembly ensure the revert contains the exact string data
                    let returnDataSize := returndatasize()
                    returndatacopy(0, 0, returnDataSize)
                    revert(0, returnDataSize)
                }
            }
        }
    }
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {
    "solc_0.7/proxy/EIP173Proxy.sol:EIP173Proxy": {
      "Accountant": "0x22225d74Bab7E0c7232864EaA0F143B30C811481"
    }
  },
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"ownerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ProxyImplementationUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"changeImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100435760003560e01c806301ffc9a71461005a57806331124171146100ba5780638da5cb5b14610147578063f2fde38b1461017857610052565b36610052576100506101ab565b005b6100506101ab565b34801561006657600080fd5b506100a66004803603602081101561007d57600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166101f6565b604080519115158252519081900360200190f35b3480156100c657600080fd5b50610050600480360360408110156100dd57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561010857600080fd5b82018360208201111561011a57600080fd5b8035906020019184600183028401116401000000008311171561013c57600080fd5b5090925090506103ac565b34801561015357600080fd5b5061015c610478565b604080516001600160a01b039092168252519081900360200190f35b34801561018457600080fd5b506100506004803603602081101561019b57600080fd5b50356001600160a01b0316610487565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e8280156101ec578183f35b8183fd5b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061028957507f7f5828d0000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b15610296575060016103a7565b7fffffffff0000000000000000000000000000000000000000000000000000000080831614156102c8575060006103a7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54604080517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000008516600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b15801561036b57600080fd5b505afa92505050801561039057506040513d602081101561038b57600080fd5b505160015b61039e5760009150506103a7565b91506103a79050565b919050565b6103b461051a565b6001600160a01b0316336001600160a01b03161461043357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b6104738383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061053f92505050565b505050565b600061048261051a565b905090565b61048f61051a565b6001600160a01b0316336001600160a01b03161461050e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b61051781610679565b50565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610473576000836001600160a01b0316836040518082805190602001908083835b6020831061060057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610660576040519150601f19603f3d011682016040523d82523d6000602084013e610665565b606091505b50509050806101f0573d806000803e806000fd5b600061068361051a565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea26469706673582212207e688ff04d5e891e17dfc00ca11479fdd77a6de92a8602772d6f1325f2e85a3064736f6c63430007010033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

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