ETH Price: $2,159.70 (+0.79%)

Contract

0x702e27D8d16D661024c94264bd8f3F5e19B8E2fB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Proxy Assert152646842022-08-02 18:26:571330 days ago1659464817IN
0x702e27D8...e19B8E2fB
0 ETH0.003589749.00863026
Proxy Assert151621702022-07-17 20:04:571346 days ago1658088297IN
0x702e27D8...e19B8E2fB
0 ETH0.0166301726.36806098
Proxy Assert151585862022-07-17 6:30:351346 days ago1658039435IN
0x702e27D8...e19B8E2fB
0 ETH0.0068959510.88429201
Proxy Assert150931202022-07-07 3:59:071356 days ago1657166347IN
0x702e27D8...e19B8E2fB
0 ETH0.0132918613.69343783
Proxy Assert149897332022-06-19 8:10:321374 days ago1655626232IN
0x702e27D8...e19B8E2fB
0 ETH0.0196438216.99831356
Proxy Assert149897172022-06-19 8:06:281374 days ago1655625988IN
0x702e27D8...e19B8E2fB
0 ETH0.0218282918.06747344
Proxy Assert149679652022-06-15 14:28:371378 days ago1655303317IN
0x702e27D8...e19B8E2fB
0 ETH0.0138901192.28267681
Proxy Assert149355072022-06-10 0:27:511384 days ago1654820871IN
0x702e27D8...e19B8E2fB
0 ETH0.0803151371.95174891
Proxy Assert149338032022-06-09 17:30:131384 days ago1654795813IN
0x702e27D8...e19B8E2fB
0 ETH0.019742169.88382081
Proxy Assert149337942022-06-09 17:27:511384 days ago1654795671IN
0x702e27D8...e19B8E2fB
0 ETH0.0603259552.64504649
Proxy Assert149336952022-06-09 17:04:461384 days ago1654794286IN
0x702e27D8...e19B8E2fB
0 ETH0.083997485.12617855
Proxy Assert149247152022-06-08 4:18:061385 days ago1654661886IN
0x702e27D8...e19B8E2fB
0 ETH0.0441851654.01953047
Proxy Assert148887352022-06-02 3:40:581391 days ago1654141258IN
0x702e27D8...e19B8E2fB
0 ETH0.0424226244.42708528
Proxy Assert148885702022-06-02 3:05:371391 days ago1654139137IN
0x702e27D8...e19B8E2fB
0 ETH0.0743694974.38697949
Proxy Assert148885422022-06-02 3:00:131391 days ago1654138813IN
0x702e27D8...e19B8E2fB
0 ETH0.0392688837.92076755

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-119594532021-03-02 14:46:591848 days ago1614696419  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x608060405234801561001057600080fd5b506040516105d03803806105d08339810160409081528151602083015191830151909201610046836401000000006100e0810204565b61005882640100000000610102810204565b81600160a060020a03168160405180828051906020019080838360005b8381101561008d578181015183820152602001610075565b50505050905090810190601f1680156100ba5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156100d857600080fd5b505050610165565b60018054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a038281169116141561011d57600080fd5b60008054600160a060020a031916600160a060020a038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b61045c806101746000396000f3006080604052600436106100825763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100c85780633659cfe6146100f95780634555d5c91461011c5780634f1ef286146101435780635c60da1b1461019d5780636fde8202146101b2578063f1739cae146101c7575b600061008c6101e8565b9050600160a060020a03811615156100a357600080fd5b60405136600082376000803683855af43d806000843e8180156100c4578184f35b8184fd5b3480156100d457600080fd5b506100dd6101f7565b60408051600160a060020a039092168252519081900360200190f35b34801561010557600080fd5b5061011a600160a060020a0360043516610206565b005b34801561012857600080fd5b50610131610239565b60408051918252519081900360200190f35b60408051602060046024803582810135601f810185900485028601850190965285855261011a958335600160a060020a031695369560449491939091019190819084018382808284375094975061023e9650505050505050565b3480156101a957600080fd5b506100dd6101e8565b3480156101be57600080fd5b506100dd6102f2565b3480156101d357600080fd5b5061011a600160a060020a0360043516610301565b600054600160a060020a031690565b60006102016102f2565b905090565b61020e6101f7565b600160a060020a031633600160a060020a031614151561022d57600080fd5b61023681610391565b50565b600290565b6102466101f7565b600160a060020a031633600160a060020a031614151561026557600080fd5b61026e82610206565b30600160a060020a03168160405180828051906020019080838360005b838110156102a357818101518382015260200161028b565b50505050905090810190601f1680156102d05780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156102ee57600080fd5b5050565b600154600160a060020a031690565b6103096101f7565b600160a060020a031633600160a060020a031614151561032857600080fd5b600160a060020a038116151561033d57600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103666101f7565b60408051600160a060020a03928316815291841660208301528051918290030190a161023681610401565b600054600160a060020a03828116911614156103ac57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f26049bbc794226b505f589b2ee1130db54310d79dd8a635c6f6c61e305a777002900000000000000000000000001503dc708ce3c55017194847a07acb679d49f47000000000000000000000000f9e266af4bca5890e2781812cc6a6e89495a79f200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc95500000000000000000000000001503dc708ce3c55017194847a07acb679d49f47000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c100000000000000000000000000000000000000000000000000000000

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 Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.