ETH Price: $3,365.86 (-0.07%)

Contract

0xF9CE7f3E28B64b47fBD6A5cDAbcd9e6252F22585
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Proxy Assert152352772022-07-29 4:34:19903 days ago1659069259IN
0xF9CE7f3E...252F22585
0 ETH0.0126143311.94491949
Proxy Assert151092772022-07-09 15:41:24922 days ago1657381284IN
0xF9CE7f3E...252F22585
0 ETH0.0340500921.71606395
Proxy Assert151092372022-07-09 15:30:30922 days ago1657380630IN
0xF9CE7f3E...252F22585
0 ETH0.0348818921.88482306
Proxy Assert151092182022-07-09 15:26:00922 days ago1657380360IN
0xF9CE7f3E...252F22585
0 ETH0.0451469926.40176833
Proxy Assert151091412022-07-09 15:10:08922 days ago1657379408IN
0xF9CE7f3E...252F22585
0 ETH0.1184223378.84719203
Proxy Assert147689692022-05-13 18:28:52979 days ago1652466532IN
0xF9CE7f3E...252F22585
0 ETH0.0992925261.88231386
Proxy Assert146435332022-04-23 21:37:11999 days ago1650749831IN
0xF9CE7f3E...252F22585
0 ETH0.0432930927.26540296
Proxy Assert145234802022-04-05 3:22:121018 days ago1649128932IN
0xF9CE7f3E...252F22585
0 ETH0.0242272452.56919469
Proxy Assert145173902022-04-04 4:31:331019 days ago1649046693IN
0xF9CE7f3E...252F22585
0 ETH0.0527707466.64495349
Proxy Assert145009382022-04-01 14:34:041021 days ago1648823644IN
0xF9CE7f3E...252F22585
0 ETH0.0504710561.98989128
Proxy Assert145009232022-04-01 14:31:091021 days ago1648823469IN
0xF9CE7f3E...252F22585
0 ETH0.0685444575.77255092
Proxy Assert145009182022-04-01 14:29:361021 days ago1648823376IN
0xF9CE7f3E...252F22585
0 ETH0.0596140865.90046655
Proxy Assert144778702022-03-29 0:21:551025 days ago1648513315IN
0xF9CE7f3E...252F22585
0 ETH0.043800353.0809193
Proxy Assert144380192022-03-22 19:35:541031 days ago1647977754IN
0xF9CE7f3E...252F22585
0 ETH0.0891409164.82853034
Proxy Assert144379802022-03-22 19:26:061031 days ago1647977166IN
0xF9CE7f3E...252F22585
0 ETH0.0669982866.01765852
Proxy Assert144379742022-03-22 19:24:011031 days ago1647977041IN
0xF9CE7f3E...252F22585
0 ETH0.0723419749.52711342
Proxy Assert144379432022-03-22 19:17:211031 days ago1647976641IN
0xF9CE7f3E...252F22585
0 ETH0.1030981764.53372355
Proxy Assert144379232022-03-22 19:13:311031 days ago1647976411IN
0xF9CE7f3E...252F22585
0 ETH0.0606103257.60364131
Proxy Assert144378692022-03-22 19:00:591031 days ago1647975659IN
0xF9CE7f3E...252F22585
0 ETH0.0644285336.84382007
Proxy Assert144371842022-03-22 16:28:361031 days ago1647966516IN
0xF9CE7f3E...252F22585
0 ETH0.052345946.2539796
Proxy Assert144361992022-03-22 12:46:021031 days ago1647953162IN
0xF9CE7f3E...252F22585
0 ETH0.0101727827.16966387
Proxy Assert141759672022-02-10 3:32:251072 days ago1644463945IN
0xF9CE7f3E...252F22585
0 ETH0.05696146131.87020512
Proxy Assert141596112022-02-07 15:00:021074 days ago1644246002IN
0xF9CE7f3E...252F22585
0 ETH0.03526763105.43988178
Proxy Assert141336752022-02-03 14:56:561078 days ago1643900216IN
0xF9CE7f3E...252F22585
0 ETH0.0416783168.59318703
Proxy Assert141087372022-01-30 18:13:451082 days ago1643566425IN
0xF9CE7f3E...252F22585
0 ETH0.1422624105.71824761
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
111159232020-10-24 1:00:361546 days ago1603501236  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.