ETH Price: $2,542.49 (-1.25%)

Contract

0xdC9d31C09032cC7aE548f177D7EF5930DfdA4add
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Proxy Assert144337882022-03-22 3:48:31947 days ago1647920911IN
0xdC9d31C0...0DfdA4add
0 ETH0.0074377835.41517449
Proxy Assert144337812022-03-22 3:46:13947 days ago1647920773IN
0xdC9d31C0...0DfdA4add
0 ETH0.0098300234.5915648
Proxy Assert144337742022-03-22 3:44:57947 days ago1647920697IN
0xdC9d31C0...0DfdA4add
0 ETH0.0073926626.01456462
Proxy Assert144008972022-03-17 0:54:05952 days ago1647478445IN
0xdC9d31C0...0DfdA4add
0 ETH0.0128586458.32324838
Proxy Assert143998472022-03-16 20:47:28952 days ago1647463648IN
0xdC9d31C0...0DfdA4add
0 ETH0.0024481531.46165103
Proxy Assert143998452022-03-16 20:47:10952 days ago1647463630IN
0xdC9d31C0...0DfdA4add
0 ETH0.0065779531.32462903
Proxy Assert143946922022-03-16 1:41:17953 days ago1647394877IN
0xdC9d31C0...0DfdA4add
0 ETH0.0110629250.17835025
Proxy Assert143946892022-03-16 1:40:12953 days ago1647394812IN
0xdC9d31C0...0DfdA4add
0 ETH0.0105333147.77619015
Proxy Assert143563162022-03-10 2:14:47959 days ago1646878487IN
0xdC9d31C0...0DfdA4add
0 ETH0.0098464844.66092267
Proxy Assert143563132022-03-10 2:12:29959 days ago1646878349IN
0xdC9d31C0...0DfdA4add
0 ETH0.0081103136.78615352
Proxy Assert143563132022-03-10 2:12:29959 days ago1646878349IN
0xdC9d31C0...0DfdA4add
0 ETH0.0159101236.78615352
Proxy Assert143439632022-03-08 4:09:58961 days ago1646712598IN
0xdC9d31C0...0DfdA4add
0 ETH0.0078804438.1182231
Proxy Assert143439212022-03-08 4:00:14961 days ago1646712014IN
0xdC9d31C0...0DfdA4add
0 ETH0.0141643539.9788786
Proxy Assert143439142022-03-08 3:58:47961 days ago1646711927IN
0xdC9d31C0...0DfdA4add
0 ETH0.0264625728.41655744
Proxy Assert143438942022-03-08 3:53:59961 days ago1646711639IN
0xdC9d31C0...0DfdA4add
0 ETH0.005794929.41382438
Proxy Assert143354792022-03-06 20:35:02962 days ago1646598902IN
0xdC9d31C0...0DfdA4add
0 ETH0.0093481345.05298562
Proxy Assert143285222022-03-05 18:34:46963 days ago1646505286IN
0xdC9d31C0...0DfdA4add
0 ETH0.0066751530.73387445
Proxy Assert143285172022-03-05 18:33:24963 days ago1646505204IN
0xdC9d31C0...0DfdA4add
0 ETH0.0050894523.43298234
Proxy Assert143285082022-03-05 18:32:31963 days ago1646505151IN
0xdC9d31C0...0DfdA4add
0 ETH0.0244355629.25717349
Proxy Assert143284962022-03-05 18:30:34963 days ago1646505034IN
0xdC9d31C0...0DfdA4add
0 ETH0.0259079232.10980016
Proxy Assert143079402022-03-02 13:39:08966 days ago1646228348IN
0xdC9d31C0...0DfdA4add
0 ETH0.0096643633.30333874
Proxy Assert142988442022-03-01 4:06:23968 days ago1646107583IN
0xdC9d31C0...0DfdA4add
0 ETH0.020662368.72339634
Proxy Assert142988392022-03-01 4:04:59968 days ago1646107499IN
0xdC9d31C0...0DfdA4add
0 ETH0.019024560.78911456
Proxy Assert142988392022-03-01 4:04:59968 days ago1646107499IN
0xdC9d31C0...0DfdA4add
0 ETH0.0342465860.78911456
Proxy Assert142988392022-03-01 4:04:59968 days ago1646107499IN
0xdC9d31C0...0DfdA4add
0 ETH0.0514524560.78911456
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
131043592021-08-27 0:54:501154 days ago1630025690  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
OwnableDelegateProxy

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-12-19
*/

contract OwnedUpgradeabilityStorage {

  // Current implementation
  address internal _implementation;

  // Owner of the contract
  address private _upgradeabilityOwner;

  /**
   * @dev Tells the address of the owner
   * @return the address of the owner
   */
  function upgradeabilityOwner() public view returns (address) {
    return _upgradeabilityOwner;
  }

  /**
   * @dev Sets the address of the owner
   */
  function setUpgradeabilityOwner(address newUpgradeabilityOwner) internal {
    _upgradeabilityOwner = newUpgradeabilityOwner;
  }

  /**
  * @dev Tells the address of the current implementation
  * @return address of the current implementation
  */
  function implementation() public view returns (address) {
    return _implementation;
  }

  /**
  * @dev Tells the proxy type (EIP 897)
  * @return Proxy type, 2 for forwarding proxy
  */
  function proxyType() public pure returns (uint256 proxyTypeId) {
    return 2;
  }
}



contract Proxy {

  /**
  * @dev Tells the address of the implementation where every call will be delegated.
  * @return address of the implementation to which it will be delegated
  */
  function implementation() public view returns (address);

  /**
  * @dev Tells the type of proxy (EIP 897)
  * @return Type of proxy, 2 for upgradeable proxy
  */
  function proxyType() public pure returns (uint256 proxyTypeId);

  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
  function () payable public {
    address _impl = implementation();
    require(_impl != address(0));

    assembly {
      let ptr := mload(0x40)
      calldatacopy(ptr, 0, calldatasize)
      let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
      let size := returndatasize
      returndatacopy(ptr, 0, size)

      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }
  }
}

contract OwnedUpgradeabilityProxy is Proxy, OwnedUpgradeabilityStorage {
  /**
  * @dev Event to show ownership has been transferred
  * @param previousOwner representing the address of the previous owner
  * @param newOwner representing the address of the new owner
  */
  event ProxyOwnershipTransferred(address previousOwner, address newOwner);

  /**
  * @dev This event will be emitted every time the implementation gets upgraded
  * @param implementation representing the address of the upgraded implementation
  */
  event Upgraded(address indexed implementation);

  /**
  * @dev Upgrades the implementation address
  * @param implementation representing the address of the new implementation to be set
  */
  function _upgradeTo(address implementation) internal {
    require(_implementation != implementation);
    _implementation = implementation;
    emit Upgraded(implementation);
  }

  /**
  * @dev Throws if called by any account other than the owner.
  */
  modifier onlyProxyOwner() {
    require(msg.sender == proxyOwner());
    _;
  }

  /**
   * @dev Tells the address of the proxy owner
   * @return the address of the proxy owner
   */
  function proxyOwner() public view returns (address) {
    return upgradeabilityOwner();
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferProxyOwnership(address newOwner) public onlyProxyOwner {
    require(newOwner != address(0));
    emit ProxyOwnershipTransferred(proxyOwner(), newOwner);
    setUpgradeabilityOwner(newOwner);
  }

  /**
   * @dev Allows the upgradeability owner to upgrade the current implementation of the proxy.
   * @param implementation representing the address of the new implementation to be set.
   */
  function upgradeTo(address implementation) public onlyProxyOwner {
    _upgradeTo(implementation);
  }

  /**
   * @dev Allows the upgradeability owner to upgrade the current implementation of the proxy
   * and delegatecall the new implementation for initialization.
   * @param implementation representing the address of the new implementation to be set.
   * @param data represents the msg.data to bet sent in the low level call. This parameter may include the function
   * signature of the implementation to be called with the needed payload
   */
  function upgradeToAndCall(address implementation, bytes data) payable public onlyProxyOwner {
    upgradeTo(implementation);
    require(address(this).delegatecall(data));
  }
}


contract OwnableDelegateProxy is OwnedUpgradeabilityProxy {

    constructor(address owner, address initialImplementation, bytes calldata)
        public
    {
        setUpgradeabilityOwner(owner);
        _upgradeTo(initialImplementation);
        require(initialImplementation.delegatecall(calldata));
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"name":"proxyTypeId","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"implementation","type":"address"},{"name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeabilityOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"owner","type":"address"},{"name":"initialImplementation","type":"address"},{"name":"calldata","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

Deployed Bytecode

0x6080604052600436106100825763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100c85780633659cfe6146100f95780634555d5c91461011c5780634f1ef286146101435780635c60da1b1461019d5780636fde8202146101b2578063f1739cae146101c7575b600061008c6101e8565b9050600160a060020a03811615156100a357600080fd5b60405136600082376000803683855af43d806000843e8180156100c4578184f35b8184fd5b3480156100d457600080fd5b506100dd6101f7565b60408051600160a060020a039092168252519081900360200190f35b34801561010557600080fd5b5061011a600160a060020a0360043516610206565b005b34801561012857600080fd5b50610131610239565b60408051918252519081900360200190f35b60408051602060046024803582810135601f810185900485028601850190965285855261011a958335600160a060020a031695369560449491939091019190819084018382808284375094975061023e9650505050505050565b3480156101a957600080fd5b506100dd6101e8565b3480156101be57600080fd5b506100dd6102f2565b3480156101d357600080fd5b5061011a600160a060020a0360043516610301565b600054600160a060020a031690565b60006102016102f2565b905090565b61020e6101f7565b600160a060020a031633600160a060020a031614151561022d57600080fd5b61023681610391565b50565b600290565b6102466101f7565b600160a060020a031633600160a060020a031614151561026557600080fd5b61026e82610206565b30600160a060020a03168160405180828051906020019080838360005b838110156102a357818101518382015260200161028b565b50505050905090810190601f1680156102d05780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156102ee57600080fd5b5050565b600154600160a060020a031690565b6103096101f7565b600160a060020a031633600160a060020a031614151561032857600080fd5b600160a060020a038116151561033d57600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103666101f7565b60408051600160a060020a03928316815291841660208301528051918290030190a161023681610401565b600054600160a060020a03828116911614156103ac57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f26049bbc794226b505f589b2ee1130db54310d79dd8a635c6f6c61e305a7770029

Deployed Bytecode Sourcemap

4682:323:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1637:13;1653:16;:14;:16::i;:::-;1637:32;-1:-1:-1;;;;;;1684:19:0;;;;1676:28;;;;;;1748:4;1742:11;1782:12;1779:1;1774:3;1761:34;1864:1;1861;1847:12;1842:3;1835:5;1830:3;1817:49;1886:14;1931:4;1928:1;1923:3;1908:28;1953:6;1967:28;;;;2025:4;2020:3;2013:17;1967:28;1988:4;1983:3;1976:17;3248:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3248:93:0;;;;;;;;-1:-1:-1;;;;;3248:93:0;;;;;;;;;;;;;;3929:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3929:104:0;-1:-1:-1;;;;;3929:104:0;;;;;;;897:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;897:84:0;;;;;;;;;;;;;;;;;;;;4495:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4495:178:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4495:178:0;;-1:-1:-1;4495:178:0;;-1:-1:-1;;;;;;;4495:178:0;698:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;698:91:0;;;;277:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;277:101:0;;;;3508:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3508:216:0;-1:-1:-1;;;;;3508:216:0;;;;;698:91;745:7;768:15;-1:-1:-1;;;;;768:15:0;698:91;:::o;3248:93::-;3291:7;3314:21;:19;:21::i;:::-;3307:28;;3248:93;:::o;3929:104::-;3108:12;:10;:12::i;:::-;-1:-1:-1;;;;;3094:26:0;:10;-1:-1:-1;;;;;3094:26:0;;3086:35;;;;;;;;4001:26;4012:14;4001:10;:26::i;:::-;3929:104;:::o;897:84::-;974:1;897:84;:::o;4495:178::-;3108:12;:10;:12::i;:::-;-1:-1:-1;;;;;3094:26:0;:10;-1:-1:-1;;;;;3094:26:0;;3086:35;;;;;;;;4594:25;4604:14;4594:9;:25::i;:::-;4642:4;-1:-1:-1;;;;;4634:26:0;4661:4;4634:32;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4634:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4626:41;;;;;;;;4495:178;;:::o;277:101::-;352:20;;-1:-1:-1;;;;;352:20:0;277:101;:::o;3508:216::-;3108:12;:10;:12::i;:::-;-1:-1:-1;;;;;3094:26:0;:10;-1:-1:-1;;;;;3094:26:0;;3086:35;;;;;;;;-1:-1:-1;;;;;3595:22:0;;;;3587:31;;;;;;3630:49;3656:12;:10;:12::i;:::-;3630:49;;;-1:-1:-1;;;;;3630:49:0;;;;;;;;;;;;;;;;;;;;;3686:32;3709:8;3686:22;:32::i;2787:183::-;2855:15;;-1:-1:-1;;;;;2855:33:0;;;:15;;:33;;2847:42;;;;;;2896:15;:32;;-1:-1:-1;;2896:32:0;-1:-1:-1;;;;;2896:32:0;;;;;;;2940:24;;2896:32;;2940:24;;;2787:183;:::o;439:131::-;519:20;:45;;-1:-1:-1;;519:45:0;-1:-1:-1;;;;;519:45:0;;;;;;;;;;439:131::o

Swarm Source

bzzr://5f26049bbc794226b505f589b2ee1130db54310d79dd8a635c6f6c61e305a777

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
[ Download: CSV Export  ]
[ 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.