ETH Price: $2,300.08 (-3.52%)

Contract

0x9F7F5325485a970C7a1d1959e39C408F36469544
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xa24db47c195236752024-03-27 5:41:47173 days ago1711518107IN
0x9F7F5325...F36469544
0 ETH0.0146578120.45806185
Upgrade To195235752024-03-27 5:21:23173 days ago1711516883IN
0x9F7F5325...F36469544
0 ETH0.0006470321.13866371
Upgrade To193106602024-02-26 8:50:47203 days ago1708937447IN
0x9F7F5325...F36469544
0 ETH0.000965831.55300525
Create Artwork192301272024-02-15 1:41:59214 days ago1707961319IN
0x9F7F5325...F36469544
0 ETH0.0397979919.63911265
Create Artwork189755432024-01-10 9:06:11250 days ago1704877571IN
0x9F7F5325...F36469544
0 ETH0.0164648927.70314712
Create Artwork186442752023-11-24 21:34:35296 days ago1700861675IN
0x9F7F5325...F36469544
0 ETH0.0083434231.42048911
Create Artwork185989672023-11-18 13:16:59303 days ago1700313419IN
0x9F7F5325...F36469544
0 ETH0.0067794925.53086752
Create Artwork185756742023-11-15 7:01:35306 days ago1700031695IN
0x9F7F5325...F36469544
0 ETH0.0067780725.52552533
Create Artwork185756672023-11-15 7:00:11306 days ago1700031611IN
0x9F7F5325...F36469544
0 ETH0.0058536222.04415287
Migration185254392023-11-08 6:26:11313 days ago1699424771IN
0x9F7F5325...F36469544
0 ETH0.0012587123.8005901
Rollback Migrati...185254272023-11-08 6:23:47313 days ago1699424627IN
0x9F7F5325...F36469544
0 ETH0.0007856219.15643389
Migration185253722023-11-08 6:12:23313 days ago1699423943IN
0x9F7F5325...F36469544
0 ETH0.0134709918.14705608
Rollback Migrati...185253632023-11-08 6:10:35313 days ago1699423835IN
0x9F7F5325...F36469544
0 ETH0.014751120.85598578
Migration185252302023-11-08 5:43:35313 days ago1699422215IN
0x9F7F5325...F36469544
0 ETH0.014672619.76577482
Init185181132023-11-07 5:52:11314 days ago1699336331IN
0x9F7F5325...F36469544
0 ETH0.0035597921.70405908
Upgrade To185181042023-11-07 5:50:23314 days ago1699336223IN
0x9F7F5325...F36469544
0 ETH0.0010383721.76484905
0x60806040160236892022-11-22 6:13:59664 days ago1669097639IN
 Contract Creation
0 ETH0.0034708510.45992974

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 0x9deA8781...7A7A7734b
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
OwnedUpgradeabilityProxy

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-11-25
*/

pragma solidity ^0.4.21;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
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 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) }
    }
  }
}

/**
 * @title UpgradeabilityProxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract UpgradeabilityProxy is Proxy {
  /**
   * @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);

  // Storage position of the address of the current implementation
  bytes32 private constant implementationPosition = keccak256("org.zeppelinos.proxy.implementation");

  /**
   * @dev Constructor function
   */
  function UpgradeabilityProxy() public {}

  /**
   * @dev Tells the address of the current implementation
   * @return address of the current implementation
   */
  function implementation() public view returns (address impl) {
    bytes32 position = implementationPosition;
    assembly {
      impl := sload(position)
    }
  }

  /**
   * @dev Sets the address of the current implementation
   * @param newImplementation address representing the new implementation to be set
   */
  function setImplementation(address newImplementation) internal {
    bytes32 position = implementationPosition;
    assembly {
      sstore(position, newImplementation)
    }
  }

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

/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract OwnedUpgradeabilityProxy is UpgradeabilityProxy {
  /**
  * @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);

  // Storage position of the owner of the contract
  bytes32 private constant proxyOwnerPosition = keccak256("org.zeppelinos.proxy.owner");

  /**
  * @dev the constructor sets the original owner of the contract to the sender account.
  */
  function OwnedUpgradeabilityProxy() public {
    setUpgradeabilityOwner(msg.sender);
  }

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

  /**
   * @dev Tells the address of the owner
   * @return the address of the owner
   */
  function proxyOwner() public view returns (address owner) {
    bytes32 position = proxyOwnerPosition;
    assembly {
      owner := sload(position)
    }
  }

  /**
   * @dev Sets the address of the owner
   */
  function setUpgradeabilityOwner(address newProxyOwner) internal {
    bytes32 position = proxyOwnerPosition;
    assembly {
      sstore(position, newProxyOwner)
    }
  }

  /**
   * @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 proxy owner to upgrade the current version 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 proxy owner to upgrade the current version of the proxy and call the new implementation
   * to initialize whatever is needed through a low level call.
   * @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(this.call.value(msg.value)(data));
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"name":"owner","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":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":"impl","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":[],"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

0x60806040526004361061006c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100b25780633659cfe6146100e35780634f1ef286146101065780635c60da1b14610160578063f1739cae14610175575b6000610076610196565b9050600160a060020a038116151561008d57600080fd5b60405136600082376000803683855af43d806000843e8180156100ae578184f35b8184fd5b3480156100be57600080fd5b506100c76101f2565b60408051600160a060020a039092168252519081900360200190f35b3480156100ef57600080fd5b50610104600160a060020a0360043516610228565b005b60408051602060046024803582810135601f8101859004850286018501909652858552610104958335600160a060020a03169536956044949193909101919081908401838280828437509497506102509650505050505050565b34801561016c57600080fd5b506100c7610196565b34801561018157600080fd5b50610104600160a060020a03600435166102fc565b604080517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e0000000000000000000000000000000000000000000000000000000000602082015290519081900360230190205490565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a0190205490565b6102306101f2565b600160a060020a0316331461024457600080fd5b61024d81610381565b50565b6102586101f2565b600160a060020a0316331461026c57600080fd5b61027582610228565b30600160a060020a0316348260405180828051906020019080838360005b838110156102ab578181015183820152602001610293565b50505050905090810190601f1680156102d85780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af19250505015156102f857600080fd5b5050565b6103046101f2565b600160a060020a0316331461031857600080fd5b600160a060020a038116151561032d57600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103566101f2565b60408051600160a060020a03928316815291841660208301528051918290030190a161024d816103e7565b600061038b610196565b9050600160a060020a0380821690831614156103a657600080fd5b6103af8261041c565b604051600160a060020a038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b604080517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e000000000000000000000000000000000000000000000000000000000060208201529051908190036023019020555600a165627a7a72305820e92524ce39a0aecff0e9a87638523dde84a24e5bd081a974bdd4b279425e0b210029

Deployed Bytecode Sourcemap

2928:2681:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;601:13;617:16;:14;:16::i;:::-;601:32;-1:-1:-1;;;;;;648:19:0;;;;640:28;;;;;;712:4;706:11;746:12;743:1;738:3;725:34;828:1;825;811:12;806:3;799:5;794:3;781:49;850:14;895:4;892:1;887:3;872:28;917:6;931:28;;;;989:4;984:3;977:17;931:28;952:4;947:3;940:17;3875:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3875:163:0;;;;;;;;-1:-1:-1;;;;;3875:163:0;;;;;;;;;;;;;;4847:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4847:104:0;-1:-1:-1;;;;;4847:104:0;;;;;;;5428:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5428:178:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5428:178:0;;-1:-1:-1;5428:178:0;;-1:-1:-1;;;;;;;5428:178:0;1839:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1839:169:0;;;;4442:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4442:216:0;-1:-1:-1;;;;;4442:216:0;;;;;1839:169;1567:48;;;;;;;;;;;;;;;;;;;;;1981:15;;1964:39::o;3875:163::-;3371:39;;;;;;;;;;;;;;;;4011:15;;3993:40::o;4847:104::-;3747:12;:10;:12::i;:::-;-1:-1:-1;;;;;3733:26:0;:10;:26;3725:35;;;;;;4919:26;4930:14;4919:10;:26::i;:::-;4847:104;:::o;5428:178::-;3747:12;:10;:12::i;:::-;-1:-1:-1;;;;;3733:26:0;:10;:26;3725:35;;;;;;5527:25;5537:14;5527:9;:25::i;:::-;5567:4;-1:-1:-1;;;;;5567:9:0;5583;5594:4;5567: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;5567:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5559:41;;;;;;;;5428:178;;:::o;4442:216::-;3747:12;:10;:12::i;:::-;-1:-1:-1;;;;;3733:26:0;:10;:26;3725:35;;;;;;-1:-1:-1;;;;;4529:22:0;;;;4521:31;;;;;;4564:49;4590:12;:10;:12::i;:::-;4564:49;;;-1:-1:-1;;;;;4564:49:0;;;;;;;;;;;;;;;;;;;;;4620:32;4643:8;4620:22;:32::i;2513:257::-;2576:29;2608:16;:14;:16::i;:::-;2576:48;-1:-1:-1;;;;;;2639:42:0;;;;;;;;2631:51;;;;;;2689:36;2707:17;2689;:36::i;:::-;2737:27;;-1:-1:-1;;;;;2737:27:0;;;;;;;;2513:257;;:::o;4099:176::-;3371:39;;;;;;;;;;;;;;;;4232:31;4223:47::o;2171:183::-;1567:48;;;;;;;;;;;;;;;;;;;;;2307:35;2298:51::o

Swarm Source

bzzr://e92524ce39a0aecff0e9a87638523dde84a24e5bd081a974bdd4b279425e0b21

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  ]

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.