OP Sepolia Testnet

Contract

0x0091f4e75a03C11cB9be8E3717219005eb780D89

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Mint182853592024-10-08 7:40:5826 days ago1728373258IN
0x0091f4e7...5eb780D89
0 ETH0.0000000415680.00120031
Approve118880942024-05-13 5:38:48174 days ago1715578728IN
0x0091f4e7...5eb780D89
0 ETH0.00093563007720.27795356
Approve118871302024-05-13 5:06:40174 days ago1715576800IN
0x0091f4e7...5eb780D89
0 ETH0.00209227270845.37808181
Approve118839192024-05-13 3:19:38174 days ago1715570378IN
0x0091f4e7...5eb780D89
0 ETH0.00111212051724.13522085
Approve84548052024-02-23 18:15:50254 days ago1708712150IN
0x0091f4e7...5eb780D89
0 ETH0.0000720520681.50000025
Transfer49960682023-12-05 16:44:36334 days ago1701794676IN
0x0091f4e7...5eb780D89
0 ETH0.0000550943481.50000011
Approve49306522023-12-04 4:24:04335 days ago1701663844IN
0x0091f4e7...5eb780D89
0 ETH0.000069755911.5000001
Transfer49271422023-12-04 2:27:04335 days ago1701656824IN
0x0091f4e7...5eb780D89
0 ETH0.0000771667971.5000001
Approve44168312023-11-22 6:56:42347 days ago1700636202IN
0x0091f4e7...5eb780D89
0 ETH0.0000574312141.50000005
Approve44164662023-11-22 6:44:32347 days ago1700635472IN
0x0091f4e7...5eb780D89
0 ETH0.0000545478321.50000005
Approve44156112023-11-22 6:16:02347 days ago1700633762IN
0x0091f4e7...5eb780D89
0 ETH0.000054322761.50000005
Approve44148502023-11-22 5:50:40347 days ago1700632240IN
0x0091f4e7...5eb780D89
0 ETH0.0000798350221.50000005
Transfer43779802023-11-21 9:21:40348 days ago1700558500IN
0x0091f4e7...5eb780D89
0 ETH0.0001146006321.50000005
Transfer43776062023-11-21 9:09:12348 days ago1700557752IN
0x0091f4e7...5eb780D89
0 ETH0.0000825112851.50000005
Approve43639422023-11-21 1:33:44348 days ago1700530424IN
0x0091f4e7...5eb780D89
0 ETH0.0000436815011.50000005
Approve43412272023-11-20 12:56:34349 days ago1700484994IN
0x0091f4e7...5eb780D89
0 ETH0.0000434835011.50000005
Approve43400182023-11-20 12:16:16349 days ago1700482576IN
0x0091f4e7...5eb780D89
0 ETH0.0000434835011.50000005
Approve43393712023-11-20 11:54:42349 days ago1700481282IN
0x0091f4e7...5eb780D89
0 ETH0.0000434835011.50000005
Approve43363352023-11-20 10:13:30349 days ago1700475210IN
0x0091f4e7...5eb780D89
0 ETH0.0000691335021.50000005
Transfer43353422023-11-20 9:40:24349 days ago1700473224IN
0x0091f4e7...5eb780D89
0 ETH0.0000769560051.50000005
Approve43298562023-11-20 6:37:32349 days ago1700462252IN
0x0091f4e7...5eb780D89
0 ETH0.0000694912141.50000005
Transfer35460312023-11-02 3:10:02367 days ago1698894602IN
0x0091f4e7...5eb780D89
0 ETH0.0000769740021.50000005
Approve35426372023-11-02 1:16:54367 days ago1698887814IN
0x0091f4e7...5eb780D89
0 ETH0.0000692595021.50000005
Approve35035392023-11-01 3:33:38368 days ago1698809618IN
0x0091f4e7...5eb780D89
0 ETH0.0000693135021.50000005
Mint34708902023-10-31 9:25:20369 days ago1698744320IN
0x0091f4e7...5eb780D89
0 ETH0.0001057650031.50000005
View all transactions

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Dai

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at sepolia-optimism.etherscan.io on 2023-10-31
*/

// SPDX-License-Identifier: AGPL-3.0-or-later

// Copyright (C) 2017, 2018, 2019 dbrock, rain, mrchico
// Copyright (C) 2021 Dai Foundation

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity 0.7.6;

// Improved Dai token

contract Dai {

  // --- Auth ---
  mapping (address => uint256) public wards;
  function rely(address usr) external auth {
    wards[usr] = 1;
    emit Rely(usr);
  }
  function deny(address usr) external auth {
    wards[usr] = 0;
    emit Deny(usr);
  }
  modifier auth {
    require(wards[msg.sender] == 1, "Dai/not-authorized");
    _;
  }

  // --- ERC20 Data ---
  string  public constant name     = "Dai Stablecoin";
  string  public constant symbol   = "DAI";
  string  public constant version  = "2";
  uint8   public constant decimals = 18;
  uint256 public totalSupply;

  mapping (address => uint256)                      public balanceOf;
  mapping (address => mapping (address => uint256)) public allowance;
  mapping (address => uint256)                      public nonces;

  event Approval(address indexed owner, address indexed spender, uint256 value);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Rely(address indexed usr);
  event Deny(address indexed usr);

  // --- Math ---
  function _add(uint256 x, uint256 y) internal pure returns (uint256 z) {
    require((z = x + y) >= x);
  }
  function _sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
    require((z = x - y) <= x);
  }

  // --- EIP712 niceties ---
  uint256 public immutable deploymentChainId;
  bytes32 private immutable _DOMAIN_SEPARATOR;
  bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

  constructor() public {
    wards[msg.sender] = 1;
    emit Rely(msg.sender);

    uint256 chainId;
    assembly {chainId := chainid()}
    deploymentChainId = chainId;
    _DOMAIN_SEPARATOR = _calculateDomainSeparator(chainId);
  }

  function _calculateDomainSeparator(uint256 chainId) private view returns (bytes32) {
    return keccak256(
      abi.encode(
        keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
        keccak256(bytes(name)),
        keccak256(bytes(version)),
        chainId,
        address(this)
      )
    );
  }
  function DOMAIN_SEPARATOR() external view returns (bytes32) {
    uint256 chainId;
    assembly {chainId := chainid()}
    return chainId == deploymentChainId ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(chainId);
  }

  // --- ERC20 Mutations ---
  function transfer(address to, uint256 value) external returns (bool) {
    require(to != address(0) && to != address(this), "Dai/invalid-address");
    uint256 balance = balanceOf[msg.sender];
    require(balance >= value, "Dai/insufficient-balance");

    balanceOf[msg.sender] = balance - value;
    balanceOf[to] += value;

    emit Transfer(msg.sender, to, value);

    return true;
  }
  function transferFrom(address from, address to, uint256 value) external returns (bool) {
    require(to != address(0) && to != address(this), "Dai/invalid-address");
    uint256 balance = balanceOf[from];
    require(balance >= value, "Dai/insufficient-balance");

    if (from != msg.sender) {
      uint256 allowed = allowance[from][msg.sender];
      if (allowed != type(uint256).max) {
        require(allowed >= value, "Dai/insufficient-allowance");

        allowance[from][msg.sender] = allowed - value;
      }
    }

    balanceOf[from] = balance - value;
    balanceOf[to] += value;

    emit Transfer(from, to, value);

    return true;
  }
  function approve(address spender, uint256 value) external returns (bool) {
    allowance[msg.sender][spender] = value;

    emit Approval(msg.sender, spender, value);

    return true;
  }
  function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
    uint256 newValue = _add(allowance[msg.sender][spender], addedValue);
    allowance[msg.sender][spender] = newValue;

    emit Approval(msg.sender, spender, newValue);

    return true;
  }
  function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
    uint256 allowed = allowance[msg.sender][spender];
    require(allowed >= subtractedValue, "Dai/insufficient-allowance");
    allowed = allowed - subtractedValue;
    allowance[msg.sender][spender] = allowed;

    emit Approval(msg.sender, spender, allowed);

    return true;
  }

  // --- Mint/Burn ---
  function mint(address to, uint256 value) external auth {
    require(to != address(0) && to != address(this), "Dai/invalid-address");
    balanceOf[to] = balanceOf[to] + value; // note: we don't need an overflow check here b/c balanceOf[to] <= totalSupply and there is an overflow check below
    totalSupply   = _add(totalSupply, value);

    emit Transfer(address(0), to, value);
  }
  function burn(address from, uint256 value) external {
    uint256 balance = balanceOf[from];
    require(balance >= value, "Dai/insufficient-balance");

    if (from != msg.sender && wards[msg.sender] != 1) {
      uint256 allowed = allowance[from][msg.sender];
      if (allowed != type(uint256).max) {
        require(allowed >= value, "Dai/insufficient-allowance");

        allowance[from][msg.sender] = allowed - value;
      }
    }

    balanceOf[from] = balance - value; // note: we don't need overflow checks b/c require(balance >= value) and balance <= totalSupply
    totalSupply     = totalSupply - value;

    emit Transfer(from, address(0), value);
  }

  // --- Approve by signature ---
  function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external {
    require(block.timestamp <= deadline, "Dai/permit-expired");

    uint256 chainId;
    assembly {chainId := chainid()}

    bytes32 digest =
      keccak256(abi.encodePacked(
          "\x19\x01",
          chainId == deploymentChainId ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(chainId),
          keccak256(abi.encode(
            PERMIT_TYPEHASH,
            owner,
            spender,
            value,
            nonces[owner]++,
            deadline
          ))
      ));

    require(owner != address(0) && owner == ecrecover(digest, v, r, s), "Dai/invalid-permit");

    allowance[owner][spender] = value;
    emit Approval(owner, spender, value);
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deploymentChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60c060405234801561001057600080fd5b503360008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a246608081905261005981610062565b60a05250610139565b604080518082018252600e81526d2230b49029ba30b13632b1b7b4b760911b6020918201528151808301835260018152601960f91b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f0b1461ddc0c1d5ded79a1db0f74dae949050a7c0b28728c724b24958c27a328b818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012090565b60805160a0516112ae61016b600039806107885280610f345250806107535280610e8e5280610eff52506112ae6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d7146103b0578063a9059cbb146103dc578063bf353dbb14610408578063cd0d00961461042e578063d505accf14610436578063dd62ed3e1461048757610142565b806370a082311461030a5780637ecebe001461033057806395d89b41146103565780639c52a7f11461035e5780639dc29fac1461038457610142565b8063313ce5671161010a578063313ce5671461025c5780633644e5151461027a578063395093511461028257806340c10f19146102ae57806354fd4d50146102dc57806365fae35e146102e457610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e57806330adf81f14610254575b600080fd5b61014f6104b5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356104df565b604080519115158252519081900360200190f35b61020c610534565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b0381358116916020810135909116906040013561053a565b61020c610725565b610264610749565b6040805160ff9092168252519081900360200190f35b61020c61074e565b6101f06004803603604081101561029857600080fd5b506001600160a01b0381351690602001356107ae565b6102da600480360360408110156102c457600080fd5b506001600160a01b038135169060200135610835565b005b61014f610957565b6102da600480360360208110156102fa57600080fd5b50356001600160a01b0316610974565b61020c6004803603602081101561032057600080fd5b50356001600160a01b0316610a12565b61020c6004803603602081101561034657600080fd5b50356001600160a01b0316610a24565b61014f610a36565b6102da6004803603602081101561037457600080fd5b50356001600160a01b0316610a55565b6102da6004803603604081101561039a57600080fd5b506001600160a01b038135169060200135610af2565b6101f0600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610c84565b6101f0600480360360408110156103f257600080fd5b506001600160a01b038135169060200135610d55565b61020c6004803603602081101561041e57600080fd5b50356001600160a01b0316610e7a565b61020c610e8c565b6102da600480360360e081101561044c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610eb0565b61020c6004803603604081101561049d57600080fd5b506001600160a01b0381358116916020013516611134565b6040518060400160405280600e81526020016d2230b49029ba30b13632b1b7b4b760911b81525081565b3360008181526003602090815260408083206001600160a01b03871680855290835281842086905581518681529151939490939092600080516020611259833981519152928290030190a35060015b92915050565b60015481565b60006001600160a01b0383161580159061055d57506001600160a01b0383163014155b6105a4576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260409020548281101561060d576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b03851633146106c7576001600160a01b038516600090815260036020908152604080832033845290915290205460001981146106c5578381101561069c576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0386166000908152600360209081526040808320338452909152902084820390555b505b6001600160a01b038086166000818152600260209081526040808320888703905593881680835291849020805488019055835187815293519193600080516020611239833981519152929081900390910190a3506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b6000467f000000000000000000000000000000000000000000000000000000000000000081146107865761078181611151565b6107a8565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b3360009081526003602090815260408083206001600160a01b038616845290915281205481906107de9084611228565b3360008181526003602090815260408083206001600160a01b038a16808552908352928190208590558051858152905194955091936000805160206112598339815191529281900390910190a35060019392505050565b3360009081526020819052604090205460011461088e576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038216158015906108af57506001600160a01b0382163014155b6108f6576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604090208054820190556001546109219082611228565b6001556040805182815290516001600160a01b038416916000916000805160206112398339815191529181900360200190a35050565b604051806040016040528060018152602001601960f91b81525081565b336000908152602081905260409020546001146109cd576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b60026020526000908152604090205481565b60046020526000908152604090205481565b6040518060400160405280600381526020016244414960e81b81525081565b33600090815260208190526040902054600114610aae576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6001600160a01b03821660009081526002602052604090205481811015610b5b576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b0383163314801590610b84575033600090815260208190526040902054600114155b15610c33576001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610c315782811015610c08576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902083820390555b505b6001600160a01b0383166000818152600260209081526040808320868603905560018054879003905580518681529051929392600080516020611239833981519152929181900390910190a3505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610cfa576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b3360008181526003602090815260408083206001600160a01b03891680855290835292819020948790039485905580518581529051929392600080516020611259833981519152929181900390910190a35060019392505050565b60006001600160a01b03831615801590610d7857506001600160a01b0383163014155b610dbf576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b3360009081526002602052604090205482811015610e1f576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b33600081815260026020908152604080832087860390556001600160a01b0388168084529281902080548801905580518781529051929392600080516020611239833981519152929181900390910190a35060019392505050565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b83421115610efa576040805162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b604482015290519081900360640190fd5b4660007f00000000000000000000000000000000000000000000000000000000000000008214610f3257610f2d82611151565b610f54565b7f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b03808b1660008181526004602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981840152808401859052948e166060860152608085018d905260a085015260c08085018c90528251808603909101815260e08501835280519082012061190160f01b6101008601526101028501959095526101228085019590955281518085039095018552610142909301905282519290910191909120915015801590611098575060018186868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b0316145b6110de576040805162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b604482015290519081900360640190fd5b6001600160a01b03808a166000818152600360209081526040808320948d16808452948252918290208b905581518b815291516000805160206112598339815191529281900390910190a3505050505050505050565b600360209081526000928352604080842090915290825290205481565b604080518082018252600e81526d2230b49029ba30b13632b1b7b4b760911b6020918201528151808301835260018152601960f91b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f0b1461ddc0c1d5ded79a1db0f74dae949050a7c0b28728c724b24958c27a328b818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012090565b8082018281101561052e57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220b09ccd0de51fe32f12f2db5988b9cb335236e14775512598dd00dd5ce0af2c6564736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d7146103b0578063a9059cbb146103dc578063bf353dbb14610408578063cd0d00961461042e578063d505accf14610436578063dd62ed3e1461048757610142565b806370a082311461030a5780637ecebe001461033057806395d89b41146103565780639c52a7f11461035e5780639dc29fac1461038457610142565b8063313ce5671161010a578063313ce5671461025c5780633644e5151461027a578063395093511461028257806340c10f19146102ae57806354fd4d50146102dc57806365fae35e146102e457610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e57806330adf81f14610254575b600080fd5b61014f6104b5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356104df565b604080519115158252519081900360200190f35b61020c610534565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b0381358116916020810135909116906040013561053a565b61020c610725565b610264610749565b6040805160ff9092168252519081900360200190f35b61020c61074e565b6101f06004803603604081101561029857600080fd5b506001600160a01b0381351690602001356107ae565b6102da600480360360408110156102c457600080fd5b506001600160a01b038135169060200135610835565b005b61014f610957565b6102da600480360360208110156102fa57600080fd5b50356001600160a01b0316610974565b61020c6004803603602081101561032057600080fd5b50356001600160a01b0316610a12565b61020c6004803603602081101561034657600080fd5b50356001600160a01b0316610a24565b61014f610a36565b6102da6004803603602081101561037457600080fd5b50356001600160a01b0316610a55565b6102da6004803603604081101561039a57600080fd5b506001600160a01b038135169060200135610af2565b6101f0600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610c84565b6101f0600480360360408110156103f257600080fd5b506001600160a01b038135169060200135610d55565b61020c6004803603602081101561041e57600080fd5b50356001600160a01b0316610e7a565b61020c610e8c565b6102da600480360360e081101561044c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610eb0565b61020c6004803603604081101561049d57600080fd5b506001600160a01b0381358116916020013516611134565b6040518060400160405280600e81526020016d2230b49029ba30b13632b1b7b4b760911b81525081565b3360008181526003602090815260408083206001600160a01b03871680855290835281842086905581518681529151939490939092600080516020611259833981519152928290030190a35060015b92915050565b60015481565b60006001600160a01b0383161580159061055d57506001600160a01b0383163014155b6105a4576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260409020548281101561060d576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b03851633146106c7576001600160a01b038516600090815260036020908152604080832033845290915290205460001981146106c5578381101561069c576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0386166000908152600360209081526040808320338452909152902084820390555b505b6001600160a01b038086166000818152600260209081526040808320888703905593881680835291849020805488019055835187815293519193600080516020611239833981519152929081900390910190a3506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b6000467f0000000000000000000000000000000000000000000000000000000000aa37dc81146107865761078181611151565b6107a8565b7f88fc4211f92c80fcb66006230c04554a36665886fb5322006e7cbf221af789725b91505090565b3360009081526003602090815260408083206001600160a01b038616845290915281205481906107de9084611228565b3360008181526003602090815260408083206001600160a01b038a16808552908352928190208590558051858152905194955091936000805160206112598339815191529281900390910190a35060019392505050565b3360009081526020819052604090205460011461088e576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038216158015906108af57506001600160a01b0382163014155b6108f6576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604090208054820190556001546109219082611228565b6001556040805182815290516001600160a01b038416916000916000805160206112398339815191529181900360200190a35050565b604051806040016040528060018152602001601960f91b81525081565b336000908152602081905260409020546001146109cd576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b60026020526000908152604090205481565b60046020526000908152604090205481565b6040518060400160405280600381526020016244414960e81b81525081565b33600090815260208190526040902054600114610aae576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6001600160a01b03821660009081526002602052604090205481811015610b5b576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b0383163314801590610b84575033600090815260208190526040902054600114155b15610c33576001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610c315782811015610c08576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902083820390555b505b6001600160a01b0383166000818152600260209081526040808320868603905560018054879003905580518681529051929392600080516020611239833981519152929181900390910190a3505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610cfa576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b3360008181526003602090815260408083206001600160a01b03891680855290835292819020948790039485905580518581529051929392600080516020611259833981519152929181900390910190a35060019392505050565b60006001600160a01b03831615801590610d7857506001600160a01b0383163014155b610dbf576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b3360009081526002602052604090205482811015610e1f576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b33600081815260026020908152604080832087860390556001600160a01b0388168084529281902080548801905580518781529051929392600080516020611239833981519152929181900390910190a35060019392505050565b60006020819052908152604090205481565b7f0000000000000000000000000000000000000000000000000000000000aa37dc81565b83421115610efa576040805162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b604482015290519081900360640190fd5b4660007f0000000000000000000000000000000000000000000000000000000000aa37dc8214610f3257610f2d82611151565b610f54565b7f88fc4211f92c80fcb66006230c04554a36665886fb5322006e7cbf221af789725b6001600160a01b03808b1660008181526004602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981840152808401859052948e166060860152608085018d905260a085015260c08085018c90528251808603909101815260e08501835280519082012061190160f01b6101008601526101028501959095526101228085019590955281518085039095018552610142909301905282519290910191909120915015801590611098575060018186868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b0316145b6110de576040805162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b604482015290519081900360640190fd5b6001600160a01b03808a166000818152600360209081526040808320948d16808452948252918290208b905581518b815291516000805160206112598339815191529281900390910190a3505050505050505050565b600360209081526000928352604080842090915290825290205481565b604080518082018252600e81526d2230b49029ba30b13632b1b7b4b760911b6020918201528151808301835260018152601960f91b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f0b1461ddc0c1d5ded79a1db0f74dae949050a7c0b28728c724b24958c27a328b818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012090565b8082018281101561052e57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220b09ccd0de51fe32f12f2db5988b9cb335236e14775512598dd00dd5ce0af2c6564736f6c63430007060033

Deployed Bytecode Sourcemap

879:6368:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1269:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4399:194;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4399:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1455:26;;;:::i;:::-;;;;;;;;;;;;;;;;3724:671;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3724:671:0;;;;;;;;;;;;;;;;;:::i;2302:137::-;;;:::i;1413:37::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3059:224;;;:::i;4597:289::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4597:289:0;;;;;;;;:::i;5307:391::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5307:391:0;;;;;;;;:::i;:::-;;1370:38;;;:::i;964:89::-;;;;;;;;;;;;;;;;-1:-1:-1;964:89:0;-1:-1:-1;;;;;964:89:0;;:::i;1488:66::-;;;;;;;;;;;;;;;;-1:-1:-1;1488:66:0;-1:-1:-1;;;;;1488:66:0;;:::i;1630:63::-;;;;;;;;;;;;;;;;-1:-1:-1;1630:63:0;-1:-1:-1;;;;;1630:63:0;;:::i;1325:40::-;;;:::i;1057:89::-;;;;;;;;;;;;;;;;-1:-1:-1;1057:89:0;-1:-1:-1;;;;;1057:89:0;;:::i;5702:683::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5702:683:0;;;;;;;;:::i;4890:387::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4890:387:0;;;;;;;;:::i;3319:401::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3319:401:0;;;;;;;;:::i;918:41::-;;;;;;;;;;;;;;;;-1:-1:-1;918:41:0;-1:-1:-1;;;;;918:41:0;;:::i;2207:42::-;;;:::i;6426:818::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6426:818:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1559:66::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1559:66:0;;;;;;;;;;:::i;1269:51::-;;;;;;;;;;;;;;-1:-1:-1;;;1269:51:0;;;;:::o;4399:194::-;4489:10;4466:4;4479:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4479:30:0;;;;;;;;;;;:38;;;4531:36;;;;;;;4466:4;;4479:30;;4489:10;;-1:-1:-1;;;;;;;;;;;4531:36:0;;;;;;;-1:-1:-1;4583:4:0;4399:194;;;;;:::o;1455:26::-;;;;:::o;3724:671::-;3805:4;-1:-1:-1;;;;;3826:16:0;;;;;;:39;;-1:-1:-1;;;;;;3846:19:0;;3860:4;3846:19;;3826:39;3818:71;;;;;-1:-1:-1;;;3818:71:0;;;;;;;;;;;;-1:-1:-1;;;3818:71:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3914:15:0;;3896;3914;;;:9;:15;;;;;;3944:16;;;;3936:53;;;;;-1:-1:-1;;;3936:53:0;;;;;;;;;;;;-1:-1:-1;;;3936:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4002:18:0;;4010:10;4002:18;3998:262;;-1:-1:-1;;;;;4049:15:0;;4031;4049;;;:9;:15;;;;;;;;4065:10;4049:27;;;;;;;;-1:-1:-1;;4089:28:0;;4085:168;;4149:5;4138:7;:16;;4130:55;;;;;-1:-1:-1;;;4130:55:0;;;;;;;;;;;;-1:-1:-1;;;4130:55:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4198:15:0;;;;;;:9;:15;;;;;;;;4214:10;4198:27;;;;;;;4228:15;;;4198:45;;4085:168;3998:262;;-1:-1:-1;;;;;4268:15:0;;;;;;;:9;:15;;;;;;;;4286;;;4268:33;;4308:13;;;;;;;;;;:22;;;;;;4344:25;;;;;;;4308:13;;-1:-1:-1;;;;;;;;;;;4344:25:0;;;;;;;;;;-1:-1:-1;4385:4:0;;3724:671;-1:-1:-1;;;;3724:671:0:o;2302:137::-;2344:95;2302:137;:::o;1413:37::-;1448:2;1413:37;:::o;3059:224::-;3110:7;3169:9;3203:17;3192:28;;:85;;3243:34;3269:7;3243:25;:34::i;:::-;3192:85;;;3223:17;3192:85;3185:92;;;3059:224;:::o;4597:289::-;4726:10;4679:4;4716:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4716:30:0;;;;;;;;;;4679:4;;4711:48;;4748:10;4711:4;:48::i;:::-;4776:10;4766:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4766:30:0;;;;;;;;;;;;:41;;;4821:39;;;;;;;4692:67;;-1:-1:-1;4766:30:0;;-1:-1:-1;;;;;;;;;;;4821:39:0;;;;;;;;;-1:-1:-1;4876:4:0;;4597:289;-1:-1:-1;;;4597:289:0:o;5307:391::-;1185:10;1179:5;:17;;;;;;;;;;;1200:1;1179:22;1171:53;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5377:16:0;::::1;::::0;;::::1;::::0;:39:::1;;-1:-1:-1::0;;;;;;5397:19:0;::::1;5411:4;5397:19;;5377:39;5369:71;;;::::0;;-1:-1:-1;;;5369:71:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5369:71:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5463:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;;:21;::::1;5447:37:::0;;-1:-1:-1;5628:11:0;5623:24:::1;::::0;5479:5;5623:4:::1;:24::i;:::-;5607:11;:40:::0;5661:31:::1;::::0;;;;;;;-1:-1:-1;;;;;5661:31:0;::::1;::::0;5678:1:::1;::::0;-1:-1:-1;;;;;;;;;;;5661:31:0;;;;::::1;::::0;;::::1;5307:391:::0;;:::o;1370:38::-;;;;;;;;;;;;;;-1:-1:-1;;;1370:38:0;;;;:::o;964:89::-;1185:10;1179:5;:17;;;;;;;;;;;1200:1;1179:22;1171:53;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:10:0;::::1;:5;:10:::0;;;::::1;::::0;;;;;;;1025:1:::1;1012:14:::0;;1038:9;::::1;::::0;1012:5;1038:9:::1;964:89:::0;:::o;1488:66::-;;;;;;;;;;;;;:::o;1630:63::-;;;;;;;;;;;;;:::o;1325:40::-;;;;;;;;;;;;;;-1:-1:-1;;;1325:40:0;;;;:::o;1057:89::-;1185:10;1179:5;:17;;;;;;;;;;;1200:1;1179:22;1171:53;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;-1:-1:-1;;;1171:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;1105:10:0;::::1;1118:1;1105:10:::0;;;::::1;::::0;;;;;;;:14;;;1131:9;::::1;::::0;1118:1;1131:9:::1;1057:89:::0;:::o;5702:683::-;-1:-1:-1;;;;;5779:15:0;;5761;5779;;;:9;:15;;;;;;5809:16;;;;5801:53;;;;;-1:-1:-1;;;5801:53:0;;;;;;;;;;;;-1:-1:-1;;;5801:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5867:18:0;;5875:10;5867:18;;;;:44;;-1:-1:-1;5895:10:0;5889:5;:17;;;;;;;;;;;5910:1;5889:22;;5867:44;5863:288;;;-1:-1:-1;;;;;5940:15:0;;5922;5940;;;:9;:15;;;;;;;;5956:10;5940:27;;;;;;;;-1:-1:-1;;5980:28:0;;5976:168;;6040:5;6029:7;:16;;6021:55;;;;;-1:-1:-1;;;6021:55:0;;;;;;;;;;;;-1:-1:-1;;;6021:55:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6089:15:0;;;;;;:9;:15;;;;;;;;6105:10;6089:27;;;;;;;6119:15;;;6089:45;;5976:168;5863:288;;-1:-1:-1;;;;;6159:15:0;;;;;;:9;:15;;;;;;;;6177;;;6159:33;;6313:11;;;:19;;;6295:37;;6346:33;;;;;;;6159:15;;;-1:-1:-1;;;;;;;;;;;6346:33:0;;;;;;;;;;5702:683;;;:::o;4890:387::-;5018:10;4977:4;5008:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;5008:30:0;;;;;;;;;;5053:26;;;;5045:65;;;;;-1:-1:-1;;;5045:65:0;;;;;;;;;;;;-1:-1:-1;;;5045:65:0;;;;;;;;;;;;;;;5169:10;5159:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;5159:30:0;;;;;;;;;;;;5127:25;;;;5159:40;;;;5213:38;;;;;;;5159:30;;5169:10;-1:-1:-1;;;;;;;;;;;5213:38:0;;;;;;;;;;-1:-1:-1;5267:4:0;;4890:387;-1:-1:-1;;;4890:387:0:o;3319:401::-;3382:4;-1:-1:-1;;;;;3403:16:0;;;;;;:39;;-1:-1:-1;;;;;;3423:19:0;;3437:4;3423:19;;3403:39;3395:71;;;;;-1:-1:-1;;;3395:71:0;;;;;;;;;;;;-1:-1:-1;;;3395:71:0;;;;;;;;;;;;;;;3501:10;3473:15;3491:21;;;:9;:21;;;;;;3527:16;;;;3519:53;;;;;-1:-1:-1;;;3519:53:0;;;;;;;;;;;;-1:-1:-1;;;3519:53:0;;;;;;;;;;;;;;;3591:10;3581:21;;;;:9;:21;;;;;;;;3605:15;;;3581:39;;-1:-1:-1;;;;;3627:13:0;;;;;;;;;:22;;;;;;3663:31;;;;;;;3627:13;;3591:10;-1:-1:-1;;;;;;;;;;;3663:31:0;;;;;;;;;;-1:-1:-1;3710:4:0;;3319:401;-1:-1:-1;;;3319:401:0:o;918:41::-;;;;;;;;;;;;;;:::o;2207:42::-;;;:::o;6426:818::-;6581:8;6562:15;:27;;6554:58;;;;;-1:-1:-1;;;6554:58:0;;;;;;;;;;;;-1:-1:-1;;;6554:58:0;;;;;;;;;;;;;;;6664:9;6621:15;6779:17;6768:28;;:85;;6819:34;6845:7;6819:25;:34::i;:::-;6768:85;;;6799:17;6768:85;-1:-1:-1;;;;;6993:13:0;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;6876:168;;2344:95;6876:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6866:179;;;;;;-1:-1:-1;;;6716:338:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6706:349;;;;;;;;;;;-1:-1:-1;7072:19:0;;;;:58;;;7104:26;7114:6;7122:1;7125;7128;7104:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7095:35:0;:5;-1:-1:-1;;;;;7095:35:0;;7072:58;7064:89;;;;;-1:-1:-1;;;7064:89:0;;;;;;;;;;;;-1:-1:-1;;;7064:89:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7162:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;7207:31;;;;;;;-1:-1:-1;;;;;;;;;;;7207:31:0;;;;;;;;;6426:818;;;;;;;;;:::o;1559:66::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2691:364::-;2949:4;;;;;;;;;;;-1:-1:-1;;;2949:4:0;;;;;2982:7;;;;;;;;;;-1:-1:-1;;;2982:7:0;;;;2806:236;;2827:95;2806:236;;;;2933:22;2806:236;;;;2966:25;2806:236;;;;;;;;;;;3028:4;2806:236;;;;;;;;;;;;;;;;;;;;;;;;;2788:261;;;;;;2691:364::o;1951:108::-;2041:5;;;2036:16;;;;2028:25;;;;

Swarm Source

ipfs://b09ccd0de51fe32f12f2db5988b9cb335236e14775512598dd00dd5ce0af2c65

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