ETH Price: $3,020.77 (-1.78%)
Gas: 50 Gwei

Contract

0x75231F58b43240C9718Dd58B4967c5114342a86c
 
Transaction Hash
Method
Block
From
To
Value
0x3782d4bbd0786bd73b4ae00bd38cbbcf40af0213ff375e66c62c2ff178dc8c2cTransfer(pending)2024-04-17 11:21:351 hr ago1713352895IN
OKX: OKB Token
0 ETH(Pending)(Pending)
0x2f73dac0fb4f6ee635dd9487bfd1a4a742eaf435eca4638b14b45afc136b0c59Transfer(pending)2024-04-16 18:37:3818 hrs ago1713292658IN
OKX: OKB Token
0 ETH(Pending)(Pending)
0xf213eacca7846e87ac05e4dad6963357b4d9cf5d8e8e98ecd7a9c55c4ed50738Transfer(pending)2024-04-07 13:32:159 days ago1712496735IN
OKX: OKB Token
0 ETH(Pending)(Pending)
0xa2998e2863786d8c1dfea00a1fb1b481906ae62ed39710c576a1dbdb5427fb4eApprove(pending)2024-04-07 9:12:4010 days ago1712481160IN
OKX: OKB Token
0 ETH(Pending)(Pending)
0x1131c59a21531b6477002f1dd233c0293a0269a39d655e1f404decf5bb9ceecaApprove(pending)2024-04-07 3:32:4810 days ago1712460768IN
OKX: OKB Token
0 ETH(Pending)(Pending)
Transfer196752462024-04-17 12:39:111 min ago1713357551IN
OKX: OKB Token
0 ETH0.0030250151
Transfer196752122024-04-17 12:32:238 mins ago1713357143IN
OKX: OKB Token
0 ETH0.003761958.69723427
Transfer196751842024-04-17 12:26:4714 mins ago1713356807IN
OKX: OKB Token
0 ETH0.0037164657.97729164
Transfer196751642024-04-17 12:22:4718 mins ago1713356567IN
OKX: OKB Token
0 ETH0.0043062867.17865549
Transfer196751322024-04-17 12:15:4725 mins ago1713356147IN
OKX: OKB Token
0 ETH0.0038225959.64419601
Transfer196750862024-04-17 12:06:3534 mins ago1713355595IN
OKX: OKB Token
0 ETH0.0031706867.44124184
Approve196750742024-04-17 12:04:1136 mins ago1713355451IN
OKX: OKB Token
0 ETH0.0040569969.8362291
Approve196750742024-04-17 12:04:1136 mins ago1713355451IN
OKX: OKB Token
0 ETH0.0041089970.32454667
Transfer196750662024-04-17 12:02:3538 mins ago1713355355IN
OKX: OKB Token
0 ETH0.0033940172.19162445
Approve196750482024-04-17 11:58:5941 mins ago1713355139IN
OKX: OKB Token
0 ETH0.0036353462.21822364
Transfer196750482024-04-17 11:58:5941 mins ago1713355139IN
OKX: OKB Token
0 ETH0.0029941163.71822364
Transfer196749962024-04-17 11:48:3552 mins ago1713354515IN
OKX: OKB Token
0 ETH0.0034611854.00505387
Approve196749742024-04-17 11:44:1156 mins ago1713354251IN
OKX: OKB Token
0 ETH0.0032569255.74153785
Transfer196749492024-04-17 11:39:111 hr ago1713353951IN
OKX: OKB Token
0 ETH0.0032225354.33016955
Transfer196749422024-04-17 11:37:471 hr ago1713353867IN
OKX: OKB Token
0 ETH0.0031834753.68248954
Approve196749412024-04-17 11:37:351 hr ago1713353855IN
OKX: OKB Token
0 ETH0.0032839956.20493284
Transfer196749352024-04-17 11:36:231 hr ago1713353783IN
OKX: OKB Token
0 ETH0.0028742448.45807157
Approve196749102024-04-17 11:31:231 hr ago1713353483IN
OKX: OKB Token
0 ETH0.0028615148.97427853
Transfer196748492024-04-17 11:18:591 hr ago1713352739IN
OKX: OKB Token
0 ETH0.0019038929.7010323
Transfer196748482024-04-17 11:18:471 hr ago1713352727IN
OKX: OKB Token
0 ETH0.0015961326.91538081
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OwnedUpgradeabilityProxy

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 2 of 4: OwnedUpgradeabilityProxy.sol
pragma solidity ^0.4.24;

import './UpgradeabilityProxy.sol';


/**
 * @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.
  */
  constructor() 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(implementation.delegatecall(data));
}
}

File 1 of 4: Address.sol
pragma solidity ^0.4.24;

library Address {
    /**
     * Returns whether the target address is a contract
     * @dev This function will return false if invoked during the constructor of a contract,
     * as the code is not actually created until after the constructor finishes.
     * @param account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        // XXX Currently there is no better way to check if there is a contract in an address
        // than to check the size of the code at that address.
        // See https://ethereum.stackexchange.com/a/14016/36603
        // for more details about how this works.
        // TODO Check this again before the Serenity release, because all addresses will be
        // contracts then.
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

File 3 of 4: Proxy.sol
pragma solidity ^0.4.24;

/**
 * @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) }
    }
  }
}

File 4 of 4: UpgradeabilityProxy.sol
pragma solidity ^0.4.24;

import './Proxy.sol';
import './Address.sol';


/**
 * @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
   */
  constructor() 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 {
    require(Address.isContract(newImplementation),"newImplementation is not a contractAddress");
    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);
  }
}

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"}]

608060405234801561001057600080fd5b506100293361002e640100000000026401000000009004565b61006f565b600060405180807f6f72672e7a657070656c696e6f732e70726f78792e6f776e6572000000000000815250601a019050604051809103902090508181555050565b6107ab8061007e6000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025313a2146100dc5780633659cfe6146101335780634f1ef286146101765780635c60da1b146101f2578063f1739cae14610249575b600061007761028c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100b557600080fd5b60405136600082376000803683855af43d806000843e81600081146100d8578184f35b8184fd5b3480156100e857600080fd5b506100f16102f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013f57600080fd5b50610174600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610338565b005b6101f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610385565b005b3480156101fe57600080fd5b5061020761028c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025557600080fd5b5061028a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610463565b005b60008060405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e0000000000000000000000000000000000000000000000000000000000815250602301905060405180910390209050805491505090565b60008060405180807f6f72672e7a657070656c696e6f732e70726f78792e6f776e6572000000000000815250601a01905060405180910390209050805491505090565b6103406102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561037957600080fd5b6103828161058a565b50565b61038d6102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c657600080fd5b6103cf82610338565b8173ffffffffffffffffffffffffffffffffffffffff168160405180828051906020019080838360005b838110156104145780820151818401526020810190506103f9565b50505050905090810190601f1680156104415780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561045f57600080fd5b5050565b61046b6102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104a457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104e057600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96105096102f5565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161058781610621565b50565b600061059461028c565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105d157600080fd5b6105da82610662565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25050565b600060405180807f6f72672e7a657070656c696e6f732e70726f78792e6f776e6572000000000000815250601a019050604051809103902090508181555050565b600061066d8261076c565b1515610707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f6e6577496d706c656d656e746174696f6e206973206e6f74206120636f6e747281526020017f616374416464726573730000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e00000000000000000000000000000000000000000000000000000000008152506023019050604051809103902090508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b21827233f9d2bef4fe7ba531d23ab64a9325b87e4f66551d34e9fa11786d84b0029

Deployed Bytecode

0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025313a2146100dc5780633659cfe6146101335780634f1ef286146101765780635c60da1b146101f2578063f1739cae14610249575b600061007761028c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100b557600080fd5b60405136600082376000803683855af43d806000843e81600081146100d8578184f35b8184fd5b3480156100e857600080fd5b506100f16102f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013f57600080fd5b50610174600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610338565b005b6101f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610385565b005b3480156101fe57600080fd5b5061020761028c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025557600080fd5b5061028a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610463565b005b60008060405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e0000000000000000000000000000000000000000000000000000000000815250602301905060405180910390209050805491505090565b60008060405180807f6f72672e7a657070656c696e6f732e70726f78792e6f776e6572000000000000815250601a01905060405180910390209050805491505090565b6103406102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561037957600080fd5b6103828161058a565b50565b61038d6102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c657600080fd5b6103cf82610338565b8173ffffffffffffffffffffffffffffffffffffffff168160405180828051906020019080838360005b838110156104145780820151818401526020810190506103f9565b50505050905090810190601f1680156104415780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561045f57600080fd5b5050565b61046b6102f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104a457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104e057600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96105096102f5565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161058781610621565b50565b600061059461028c565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105d157600080fd5b6105da82610662565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25050565b600060405180807f6f72672e7a657070656c696e6f732e70726f78792e6f776e6572000000000000815250601a019050604051809103902090508181555050565b600061066d8261076c565b1515610707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f6e6577496d706c656d656e746174696f6e206973206e6f74206120636f6e747281526020017f616374416464726573730000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e00000000000000000000000000000000000000000000000000000000008152506023019050604051809103902090508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b21827233f9d2bef4fe7ba531d23ab64a9325b87e4f66551d34e9fa11786d84b0029

Deployed Bytecode Sourcemap

211:2582:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:13:2;599:16;:14;:16::i;:::-;583:32;;646:1;629:19;;:5;:19;;;;621:28;;;;;;;;690:4;684:11;723:12;720:1;715:3;702:34;804:1;801;787:12;782:3;775:5;770:3;757:49;825:14;869:4;866:1;861:3;846:28;889:6;907:1;902:28;;;;959:4;954:3;947:17;902:28;923:4;918:3;911:17;1106:158:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1106:158:1;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2047:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;2617:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;858:164:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;858:164:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1652:212:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1652:212:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;858:164:3;905:12;925:16;614:48;;;;;;;;;;;;;;;;;;;;;;;;925:41;;1003:8;997:15;989:23;;981:37;;:::o;1106:158:1:-;1149:13;1170:16;645:39;;;;;;;;;;;;;;;;;;;1170:37;;1245:8;1239:15;1230:24;;1222:38;;:::o;2047:102::-;986:12;:10;:12::i;:::-;972:26;;:10;:26;;;964:35;;;;;;;;2118:26;2129:14;2118:10;:26::i;:::-;2047:102;:::o;2617:174::-;986:12;:10;:12::i;:::-;972:26;;:10;:26;;;964:35;;;;;;;;2715:25;2725:14;2715:9;:25::i;:::-;2754:14;:27;;2782:4;2754:33;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2754:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2746:42;;;;;;;;2617:174;;:::o;1652:212::-;986:12;:10;:12::i;:::-;972:26;;:10;:26;;;964:35;;;;;;;;1758:1;1738:22;;:8;:22;;;;1730:31;;;;;;;;1772:49;1798:12;:10;:12::i;:::-;1812:8;1772:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1827:32;1850:8;1827:22;:32::i;:::-;1652:212;:::o;1607:252:3:-;1669:29;1701:16;:14;:16::i;:::-;1669:48;;1756:17;1731:42;;:21;:42;;;;1723:51;;;;;;;;1780:36;1798:17;1780;:36::i;:::-;1836:17;1827:27;;;;;;;;;;;;1607:252;;:::o;1320:171:1:-;1390:16;645:39;;;;;;;;;;;;;;;;;;;1390:37;;1467:13;1457:8;1450:31;1442:45;;:::o;1179:275:3:-;1345:16;1256:37;1275:17;1256:18;:37::i;:::-;1248:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;614:48;;;;;;;;;;;;;;;;;;;;;;;;1345:41;;1426:17;1416:8;1409:35;1401:49;;:::o;404:616:0:-;464:4;480:12;979:7;967:20;959:28;;1012:1;1005:4;:8;998:15;;404:616;;;;:::o

Swarm Source

bzzr://b21827233f9d2bef4fe7ba531d23ab64a9325b87e4f66551d34e9fa11786d84b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Digital Asset Exchange

Validator Index Block Amount
View All Withdrawals

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