ETH Price: $2,402.79 (+6.93%)

Contract

0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

ContractCreator

N/A (Genesis Contract)

TokenTracker

Transaction Hash
Method
Block
From
To
Approve1375640722025-06-24 1:02:017 secs ago1750726921IN
Maker: DAI Stablecoin
0 ETH0.0000001014610.00193439
Approve1375639712025-06-24 0:58:393 mins ago1750726719IN
Maker: DAI Stablecoin
0 ETH0.0000000824370.00154389
Approve1375630552025-06-24 0:28:0734 mins ago1750724887IN
Maker: DAI Stablecoin
0 ETH0.0000000686960.00114308
Approve1375621352025-06-23 23:57:271 hr ago1750723047IN
Maker: DAI Stablecoin
0 ETH0.0000000270090.00015606
Approve1375620492025-06-23 23:54:351 hr ago1750722875IN
Maker: DAI Stablecoin
0 ETH0.0000000270340.00015907
Approve1375618022025-06-23 23:46:211 hr ago1750722381IN
Maker: DAI Stablecoin
0 ETH0.0000000272980.00016811
Approve1375617662025-06-23 23:45:091 hr ago1750722309IN
Maker: DAI Stablecoin
0 ETH0.00000002570.00016927
Approve1375616042025-06-23 23:39:451 hr ago1750721985IN
Maker: DAI Stablecoin
0 ETH0.0000000238580.0001725
Approve1375615982025-06-23 23:39:331 hr ago1750721973IN
Maker: DAI Stablecoin
0 ETH0.000000025730.00017306
Transfer1375614362025-06-23 23:34:091 hr ago1750721649IN
Maker: DAI Stablecoin
0 ETH0.000000078430.0010783
Approve1375610212025-06-23 23:20:191 hr ago1750720819IN
Maker: DAI Stablecoin
0 ETH0.0000000778910.00109548
Approve1375605352025-06-23 23:04:071 hr ago1750719847IN
Maker: DAI Stablecoin
0 ETH0.0000000537560.00021874
Approve1375593652025-06-23 22:25:072 hrs ago1750717507IN
Maker: DAI Stablecoin
0 ETH0.0000000941440.0011178
Approve1375593472025-06-23 22:24:312 hrs ago1750717471IN
Maker: DAI Stablecoin
0 ETH0.0000001134470.0011124
Approve1375586872025-06-23 22:02:312 hrs ago1750716151IN
Maker: DAI Stablecoin
0 ETH0.0000000720340.001067
Approve1375585832025-06-23 21:59:033 hrs ago1750715943IN
Maker: DAI Stablecoin
0 ETH0.0000000708730.0010685
Approve1375573632025-06-23 21:18:233 hrs ago1750713503IN
Maker: DAI Stablecoin
0 ETH0.0000000501020.00107981
Approve1375573562025-06-23 21:18:093 hrs ago1750713489IN
Maker: DAI Stablecoin
0 ETH0.0000000529630.00108008
Approve1375570722025-06-23 21:08:413 hrs ago1750712921IN
Maker: DAI Stablecoin
0 ETH0.0000000836890.0010762
Approve1375570272025-06-23 21:07:113 hrs ago1750712831IN
Maker: DAI Stablecoin
0 ETH0.0000000925040.00118631
Transfer1375550022025-06-23 19:59:415 hrs ago1750708781IN
Maker: DAI Stablecoin
0 ETH0.0000000789790.0010983
Transfer1375535792025-06-23 19:12:155 hrs ago1750705935IN
Maker: DAI Stablecoin
0 ETH0.0000000827580.0011637
Approve1375528842025-06-23 18:49:056 hrs ago1750704545IN
Maker: DAI Stablecoin
0 ETH0.0000001593930.00233961
Approve1375525402025-06-23 18:37:376 hrs ago1750703857IN
Maker: DAI Stablecoin
0 ETH0.0000001450290.00195686
Approve1375516932025-06-23 18:09:236 hrs ago1750702163IN
Maker: DAI Stablecoin
0 ETH0.0000001878770.00261048
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1337693152025-03-28 4:50:0787 days ago1743137407
Maker: DAI Stablecoin
0.000001 ETH
1075583882023-07-30 11:12:33694 days ago1690715553
Maker: DAI Stablecoin
0 ETH
1075583882023-07-30 11:12:33694 days ago1690715553
Maker: DAI Stablecoin
0 ETH
1075583882023-07-30 11:12:33694 days ago1690715553
Maker: DAI Stablecoin
0 ETH
1075583882023-07-30 11:12:33694 days ago1690715553
Maker: DAI Stablecoin
0 ETH
1075583872023-07-30 11:12:31694 days ago1690715551
Maker: DAI Stablecoin
0 ETH
1075583822023-07-30 11:12:21694 days ago1690715541
Maker: DAI Stablecoin
0 ETH
1075583792023-07-30 11:12:15694 days ago1690715535
Maker: DAI Stablecoin
0 ETH
1075583782023-07-30 11:12:13694 days ago1690715533
Maker: DAI Stablecoin
0 ETH
1075583772023-07-30 11:12:11694 days ago1690715531
Maker: DAI Stablecoin
0 ETH
1075583772023-07-30 11:12:11694 days ago1690715531
Maker: DAI Stablecoin
0 ETH
1075583772023-07-30 11:12:11694 days ago1690715531
Maker: DAI Stablecoin
0 ETH
1075583772023-07-30 11:12:11694 days ago1690715531
Maker: DAI Stablecoin
0 ETH
1075583762023-07-30 11:12:09694 days ago1690715529
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583752023-07-30 11:12:07694 days ago1690715527
Maker: DAI Stablecoin
0 ETH
1075583732023-07-30 11:12:03694 days ago1690715523
Maker: DAI Stablecoin
0 ETH
1075583732023-07-30 11:12:03694 days ago1690715523
Maker: DAI Stablecoin
0 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Genesis Bytecode Match Only)

Contract Name:
Dai

Compiler Version
v0.7.6-allow_kall

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at optimistic.etherscan.io on 2021-07-15
*/

// 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 Security Audit

Contract ABI

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

60c06040523480156200001c5760008062000019620001de565b50505b5060016000805a6200002d6200024b565b6001600160a01b03166001600160a01b03168152602001908152602001600020819062000059620002a7565b5050505a620000676200024b565b6001600160a01b03167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a260005a620000a9620002f6565b60808190529050620000bb81620000c5565b60a052506200033d565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60405160408082019052600e81526d2230b49029ba30b13632b1b7b4b760911b6020820152805190602001206040516040808201905260018152601960f91b602082015280519060200120845a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156200018c5760008282015260200162000173565b5050506040516020810195909552604080860194909452606085019290925260808401526001600160a01b031660a083015260c090910190516020818303038152906040528051906020012092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101562000218578086015182820160400152602001620001fb565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620002a25760008282015260200162000289565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000289565b6390580256598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000289565b60805160a051611bf462000370600039806109ae5280611513525080610979528061145152806114de5250611bf46000f3fe6080604052348015610019576000806100166118fd565b50505b506004361061014b5760003560e01c806370a08231116100c1578063a457c2d711610085578063a457c2d714610415578063a9059cbb1461044a578063bf353dbb1461047f578063cd0d0096146104ae578063d505accf146104b6578063dd62ed3e146105105761014b565b806370a082311461034b5780637ecebe001461037a57806395d89b41146103a95780639c52a7f1146103b15780639dc29fac146103e05761014b565b8063313ce56711610113578063313ce567146102825780633644e515146102a057806339509351146102a857806340c10f19146102dd57806354fd4d501461031457806365fae35e1461031c5761014b565b806306fdde0314610159578063095ea7b3146101d857806318160ddd1461022157806323b872dd1461023b57806330adf81f1461027a575b6000806101566118fd565b50505b610161610547565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019d578082015183820152602001610185565b50505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020d600480360360408110156101f7576000806101f46118fd565b50505b506001600160a01b03813516906020013561056f565b604051901515815260200160405180910390f35b61022961061e565b60405190815260200160405180910390f35b61020d6004803603606081101561025a576000806102576118fd565b50505b506001600160a01b0381358116916020810135909116906040013561062b565b610229610940565b61028a610964565b60405160ff909116815260200160405180910390f35b610229610969565b61020d600480360360408110156102c7576000806102c46118fd565b50505b506001600160a01b0381351690602001356109d4565b610312600480360360408110156102fc576000806102f96118fd565b50505b506001600160a01b038135169060200135610add565b005b610161610ccf565b6103126004803603602081101561033b576000806103386118fd565b50505b50356001600160a01b0316610cea565b6102296004803603602081101561036a576000806103676118fd565b50505b50356001600160a01b0316610dd0565b61022960048036036020811015610399576000806103966118fd565b50505b50356001600160a01b0316610de8565b610161610e00565b610312600480360360208110156103d0576000806103cd6118fd565b50505b50356001600160a01b0316610e1d565b610312600480360360408110156103ff576000806103fc6118fd565b50505b506001600160a01b038135169060200135610f00565b61020d60048036036040811015610434576000806104316118fd565b50505b506001600160a01b03813516906020013561115a565b61020d60048036036040811015610469576000806104666118fd565b50505b506001600160a01b038135169060200135611218565b6102296004803603602081101561049e5760008061049b6118fd565b50505b50356001600160a01b0316611437565b61022961144f565b610312600480360360e08110156104d5576000806104d26118fd565b50505b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611473565b6102296004803603604081101561052f5760008061052c6118fd565b50505b506001600160a01b03813581169160200135166117a2565b60405160408082019052600e81526d2230b49029ba30b13632b1b7b4b760911b602082015281565b600081600360005a61057f611968565b6001600160a01b03166001600160a01b031681526020019081526020016000206001600160a01b03851660009081526020919091526040902081906105c26119c2565b505050826001600160a01b03165a6105d8611968565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405190815260200160405180910390a35060015b92915050565b6001610628611a10565b81565b60006001600160a01b038316158015906106af57505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156106965760008282015260200161067f565b5050506001600160a01b0316836001600160a01b031614155b6106fe5760405162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b6044820152606401604051809103906106fb6118fd565b50505b6001600160a01b038416600090815260026020526040812061071e611a10565b9050828110156107785760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b6044820152606401604051809103906107756118fd565b50505b5a610781611968565b6001600160a01b0316856001600160a01b0316146108a0576001600160a01b038516600090815260036020526040812060005a6107bc611968565b6001600160a01b03166001600160a01b031681526020019081526020016000206107e4611a10565b9050600019811461089e57838110156108495760405162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b6044820152606401604051809103906108466118fd565b50505b6001600160a01b03861660009081526003602052848203906040902060005a610870611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020819061089a6119c2565b5050505b505b6001600160a01b03851660009081526002602052838203906040902081906108c66119c2565b5050506001600160a01b03841660009081526002602052839060409020600082826108ef611a10565b0192505081906108fd6119c2565b505050836001600160a01b0316856001600160a01b0316600080516020611bd48339815191528560405190815260200160405180910390a3506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b6000805a610975611a5c565b90507f000000000000000000000000000000000000000000000000000000000000000081146109ac576109a7816117c8565b6109ce565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b600080610a2e600360005a6109e7611968565b6001600160a01b03166001600160a01b031681526020019081526020016000206001600160a01b038616600090815260209190915260409020610a28611a10565b846118df565b905080600360005a610a3e611968565b6001600160a01b03166001600160a01b031681526020019081526020016000206001600160a01b0386166000908152602091909152604090208190610a816119c2565b505050836001600160a01b03165a610a97611968565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405190815260200160405180910390a35060019392505050565b6000805a610ae9611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020610b11611a10565b600114610b625760405162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015260640160405180910390610b5f6118fd565b50505b6001600160a01b03821615801590610be457505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b6040811015610bcb57600082820152602001610bb4565b5050506001600160a01b0316826001600160a01b031614155b610c335760405162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015260640160405180910390610c306118fd565b50505b6001600160a01b03821660009081526002602052819060409020610c55611a10565b6001600160a01b03841660009081526002602052910190604090208190610c7a6119c2565b505050610c906001610c8a611a10565b826118df565b806001610c9b6119c2565b5050506001600160a01b0382166000600080516020611bd48339815191528360405190815260200160405180910390a35050565b6040516040808201905260018152601960f91b602082015281565b6000805a610cf6611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020610d1e611a10565b600114610d6f5760405162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015260640160405180910390610d6c6118fd565b50505b6001600160a01b03811660009081526020819052600190604090208190610d946119c2565b505050806001600160a01b03167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b60026020528060005260406000209050610628611a10565b60046020528060005260406000209050610628611a10565b60405160408082019052600381526244414960e81b602082015281565b6000805a610e29611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020610e51611a10565b600114610ea25760405162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015260640160405180910390610e9f6118fd565b50505b6001600160a01b03811660009081526020819052604081208190610ec46119c2565b505050806001600160a01b03167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b6001600160a01b0382166000908152600260205260408120610f20611a10565b905081811015610f7a5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015260640160405180910390610f776118fd565b50505b5a610f83611968565b6001600160a01b0316836001600160a01b031614158015610fd857506000805a610fab611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020610fd3611a10565b600114155b156110e4576001600160a01b038316600090815260036020526040812060005a611000611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020611028611a10565b905060001981146110e2578281101561108d5760405162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b60448201526064016040518091039061108a6118fd565b50505b6001600160a01b03841660009081526003602052838203906040902060005a6110b4611968565b6001600160a01b03166001600160a01b0316815260200190815260200160002081906110de6119c2565b5050505b505b6001600160a01b038316600090815260026020528282039060409020819061110a6119c2565b505050816001611118611a10565b038060016111246119c2565b5060009150506001600160a01b038416600080516020611bd48339815191528460405190815260200160405180910390a3505050565b600080600360005a61116a611968565b6001600160a01b03166001600160a01b031681526020019081526020016000206001600160a01b0385166000908152602091909152604090206111ab611a10565b9050828110156112075760405162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b6044820152606401604051809103906112046118fd565b50505b82900380600360005a610a3e611968565b60006001600160a01b0383161580159061129c57505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156112835760008282015260200161126c565b5050506001600160a01b0316836001600160a01b031614155b6112eb5760405162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b6044820152606401604051809103906112e86118fd565b50505b6000600260005a6112fa611968565b6001600160a01b03166001600160a01b03168152602001908152602001600020611322611a10565b90508281101561137c5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b6044820152606401604051809103906113796118fd565b50505b828103600260005a61138c611968565b6001600160a01b03166001600160a01b0316815260200190815260200160002081906113b66119c2565b5050506001600160a01b03841660009081526002602052839060409020600082826113df611a10565b0192505081906113ed6119c2565b505050836001600160a01b03165a611403611968565b6001600160a01b0316600080516020611bd48339815191528560405190815260200160405180910390a35060019392505050565b60006020528060005260406000209050610628611a10565b7f000000000000000000000000000000000000000000000000000000000000000081565b835a61147d611aa2565b11156114cd5760405162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b6044820152606401604051809103906114ca6118fd565b50505b60005a6114d8611a5c565b905060007f000000000000000000000000000000000000000000000000000000000000000082146115115761150c826117c8565b611533565b7f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b038a16600090815260046020527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9908b908b908b906040902060008161157e611a10565b9160018301915061158d6119c2565b50508b60405160200180878152602001866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405161190160f01b6020820152602281019290925260428201526062016040516020818303038152906040528051906020012090506001600160a01b038916158015906116c2575060018186868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855a611684611ae8565b50505050501580156116a3573d6000803e3d60006116a06118fd565b50505b505050602060405103516001600160a01b0316896001600160a01b0316145b6117105760405162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b60448201526064016040518091039061170d6118fd565b50505b6001600160a01b038916600090815260036020528790604090206001600160a01b038a16600090815260209190915260409020819061174d6119c2565b505050876001600160a01b0316896001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258960405190815260200160405180910390a3505050505050505050565b600360205281600052604060002060205280600052604060002091506106289050611a10565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60405160408082019052600e81526d2230b49029ba30b13632b1b7b4b760911b6020820152805190602001206040516040808201905260018152601960f91b602082015280519060200120845a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561188d57600082820152602001611876565b5050506040516020810195909552604080860194909452606085019290925260808401526001600160a01b031660a083015260c090910190516020818303038152906040528051906020012092915050565b80820182811015610618576000806118f56118fd565b505092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561193557808601518282016040015260200161191a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156119bd576000828201526020016119a6565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206119a6565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206119a6565b6390580256598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206119a6565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206119a6565b638540661f598160e01b8152611b19565b8080831115610618575090919050565b8080831015610618575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015611b51578088015182820152602001611b39565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059611ba68d3d611b09565b8c01611bb28187611af9565b5b82811015611bc75760008152602001611bb3565b50929c5050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d7146103b0578063a9059cbb146103dc578063bf353dbb14610408578063cd0d00961461042e578063d505accf14610436578063dd62ed3e1461048757610142565b806370a082311461030a5780637ecebe001461033057806395d89b41146103565780639c52a7f11461035e5780639dc29fac1461038457610142565b8063313ce5671161010a578063313ce5671461025c5780633644e5151461027a578063395093511461028257806340c10f19146102ae57806354fd4d50146102dc57806365fae35e146102e457610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e57806330adf81f14610254575b600080fd5b61014f6104b5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356104df565b604080519115158252519081900360200190f35b61020c610534565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b0381358116916020810135909116906040013561053a565b61020c610725565b610264610749565b6040805160ff9092168252519081900360200190f35b61020c61074e565b6101f06004803603604081101561029857600080fd5b506001600160a01b0381351690602001356107ae565b6102da600480360360408110156102c457600080fd5b506001600160a01b038135169060200135610835565b005b61014f610957565b6102da600480360360208110156102fa57600080fd5b50356001600160a01b0316610974565b61020c6004803603602081101561032057600080fd5b50356001600160a01b0316610a12565b61020c6004803603602081101561034657600080fd5b50356001600160a01b0316610a24565b61014f610a36565b6102da6004803603602081101561037457600080fd5b50356001600160a01b0316610a55565b6102da6004803603604081101561039a57600080fd5b506001600160a01b038135169060200135610af2565b6101f0600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610c84565b6101f0600480360360408110156103f257600080fd5b506001600160a01b038135169060200135610d55565b61020c6004803603602081101561041e57600080fd5b50356001600160a01b0316610e7a565b61020c610e8c565b6102da600480360360e081101561044c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610eb0565b61020c6004803603604081101561049d57600080fd5b506001600160a01b0381358116916020013516611134565b6040518060400160405280600e81526020016d2230b49029ba30b13632b1b7b4b760911b81525081565b3360008181526003602090815260408083206001600160a01b03871680855290835281842086905581518681529151939490939092600080516020611259833981519152928290030190a35060015b92915050565b60015481565b60006001600160a01b0383161580159061055d57506001600160a01b0383163014155b6105a4576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260409020548281101561060d576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b03851633146106c7576001600160a01b038516600090815260036020908152604080832033845290915290205460001981146106c5578381101561069c576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0386166000908152600360209081526040808320338452909152902084820390555b505b6001600160a01b038086166000818152600260209081526040808320888703905593881680835291849020805488019055835187815293519193600080516020611239833981519152929081900390910190a3506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b6000467f000000000000000000000000000000000000000000000000000000000000000a81146107865761078181611151565b6107a8565b7fc7bbf40a5fb081e6759d5d0ce2447e84427793536887332b932877b94ce51bd65b91505090565b3360009081526003602090815260408083206001600160a01b038616845290915281205481906107de9084611228565b3360008181526003602090815260408083206001600160a01b038a16808552908352928190208590558051858152905194955091936000805160206112598339815191529281900390910190a35060019392505050565b3360009081526020819052604090205460011461088e576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038216158015906108af57506001600160a01b0382163014155b6108f6576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604090208054820190556001546109219082611228565b6001556040805182815290516001600160a01b038416916000916000805160206112398339815191529181900360200190a35050565b604051806040016040528060018152602001601960f91b81525081565b336000908152602081905260409020546001146109cd576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b60026020526000908152604090205481565b60046020526000908152604090205481565b6040518060400160405280600381526020016244414960e81b81525081565b33600090815260208190526040902054600114610aae576040805162461bcd60e51b815260206004820152601260248201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6001600160a01b03821660009081526002602052604090205481811015610b5b576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b6001600160a01b0383163314801590610b84575033600090815260208190526040902054600114155b15610c33576001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610c315782811015610c08576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902083820390555b505b6001600160a01b0383166000818152600260209081526040808320868603905560018054879003905580518681529051929392600080516020611239833981519152929181900390910190a3505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610cfa576040805162461bcd60e51b815260206004820152601a6024820152794461692f696e73756666696369656e742d616c6c6f77616e636560301b604482015290519081900360640190fd5b3360008181526003602090815260408083206001600160a01b03891680855290835292819020948790039485905580518581529051929392600080516020611259833981519152929181900390910190a35060019392505050565b60006001600160a01b03831615801590610d7857506001600160a01b0383163014155b610dbf576040805162461bcd60e51b81526020600482015260136024820152724461692f696e76616c69642d6164647265737360681b604482015290519081900360640190fd5b3360009081526002602052604090205482811015610e1f576040805162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b604482015290519081900360640190fd5b33600081815260026020908152604080832087860390556001600160a01b0388168084529281902080548801905580518781529051929392600080516020611239833981519152929181900390910190a35060019392505050565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b83421115610efa576040805162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b604482015290519081900360640190fd5b4660007f000000000000000000000000000000000000000000000000000000000000000a8214610f3257610f2d82611151565b610f54565b7fc7bbf40a5fb081e6759d5d0ce2447e84427793536887332b932877b94ce51bd65b6001600160a01b03808b1660008181526004602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981840152808401859052948e166060860152608085018d905260a085015260c08085018c90528251808603909101815260e08501835280519082012061190160f01b6101008601526101028501959095526101228085019590955281518085039095018552610142909301905282519290910191909120915015801590611098575060018186868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611079573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b0316145b6110de576040805162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b604482015290519081900360640190fd5b6001600160a01b03808a166000818152600360209081526040808320948d16808452948252918290208b905581518b815291516000805160206112598339815191529281900390910190a3505050505050505050565b600360209081526000928352604080842090915290825290205481565b604080518082018252600e81526d2230b49029ba30b13632b1b7b4b760911b6020918201528151808301835260018152601960f91b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f0b1461ddc0c1d5ded79a1db0f74dae949050a7c0b28728c724b24958c27a328b818401527fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012090565b8082018281101561052e57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212204174ca7efe9461957e50debebcf436a7f5badaf0bd4b64389fd2735d2369a5b264736f6c63430007060033

Deployed Bytecode Sourcemap

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

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