ETH Price: $2,078.97 (-1.13%)

Contract

0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

WAVES (WAVES) ($0.4556)

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer246572042026-03-14 17:26:232 hrs ago1773509183IN
Waves: WAVES Token
0 ETH0.000089871.04172771
Approve246566032026-03-14 15:24:474 hrs ago1773501887IN
Waves: WAVES Token
0 ETH0.000002190.04507221
Transfer246470072026-03-13 7:18:4736 hrs ago1773386327IN
Waves: WAVES Token
0 ETH0.000010740.13185581
Approve246443082026-03-12 22:16:3545 hrs ago1773353795IN
Waves: WAVES Token
0 ETH0.000005390.11104635
Transfer246434312026-03-12 19:19:352 days ago1773343175IN
Waves: WAVES Token
0 ETH0.0001262
Transfer246433892026-03-12 19:11:112 days ago1773342671IN
Waves: WAVES Token
0 ETH0.0001262
Transfer246424492026-03-12 16:02:352 days ago1773331355IN
Waves: WAVES Token
0 ETH0.000060331.21603595
Approve246004942026-03-06 19:25:598 days ago1772825159IN
Waves: WAVES Token
0 ETH0.000101112.09200464
Transfer245590382026-03-01 0:34:2313 days ago1772325263IN
Waves: WAVES Token
0 ETH0.000052311.05441584
Transfer245590072026-03-01 0:28:1113 days ago1772324891IN
Waves: WAVES Token
0 ETH0.000091281.05807706
Transfer245567442026-02-28 16:52:5914 days ago1772297579IN
Waves: WAVES Token
0 ETH0.000002780.06222236
Transfer245270772026-02-24 13:31:4718 days ago1771939907IN
Waves: WAVES Token
0 ETH0.000074851.12776919
Transfer245172602026-02-23 4:41:2319 days ago1771821683IN
Waves: WAVES Token
0 ETH0.000089081.03274013
Transfer245129762026-02-22 14:21:4720 days ago1771770107IN
Waves: WAVES Token
0 ETH0.000070331.05978353
Approve244704142026-02-16 15:55:3526 days ago1771257335IN
Waves: WAVES Token
0 ETH0.000004880.100654
Transfer244668472026-02-16 3:59:4726 days ago1771214387IN
Waves: WAVES Token
0 ETH0.000002680.05979512
Transfer244668162026-02-16 3:53:2326 days ago1771214003IN
Waves: WAVES Token
0 ETH0.000011960.14683551
Approve244617962026-02-15 11:06:2327 days ago1771153583IN
Waves: WAVES Token
0 ETH0.000098592.03026992
Approve244617452026-02-15 10:56:1127 days ago1771152971IN
Waves: WAVES Token
0 ETH0.000098152.03178541
Transfer244566342026-02-14 17:49:5928 days ago1771091399IN
Waves: WAVES Token
0 ETH0.000002380.05325628
Transfer244482542026-02-13 13:47:3529 days ago1770990455IN
Waves: WAVES Token
0 ETH0.000095661.10907498
Transfer244344852026-02-11 15:40:1131 days ago1770824411IN
Waves: WAVES Token
0 ETH0.000089131.34296634
Approve244245682026-02-10 6:25:3532 days ago1770704735IN
Waves: WAVES Token
0 ETH0.000002640.05449412
Transfer244176812026-02-09 7:21:1133 days ago1770621671IN
Waves: WAVES Token
0 ETH0.0000020.04477285
Transfer244095862026-02-08 4:05:1134 days ago1770523511IN
Waves: WAVES Token
0 ETH0.000072861.09786775
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WAVES

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-10-20
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.8;

interface Staking {
  function deposit(address account, uint256 amount) external returns (bool);

  function withdraw(address account) external returns (bool);

  function stake(uint256 reward) external returns (bool);

  event Reward(uint256 id, uint256 amount);
}

interface ERC20 {

  function totalSupply() external view returns (uint256);

  function balanceOf(address account) external view returns (uint256);

  function allowance(address owner, address spender) external view returns (uint256);

  function approve(address spender, uint256 amount) external returns (bool);

  function increaseAllowance(address spender, uint256 addedValue) external returns (bool);

  function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool);

  function transfer(address recipient, uint256 amount) external returns (bool);

  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
  address private _owner;
  address private _admin;

  constructor () public {
    _owner = msg.sender;
    _admin = msg.sender;
  }

  modifier onlyOwner() {
    require(_owner == msg.sender || _admin == msg.sender, "Ownable: caller is not the owner or admin");
    _;
  }

  function transferOwnership(address newOwner) external virtual onlyOwner {
    require(newOwner != address(0), "Ownable: new owner is the zero address");
    _owner = newOwner;
  }
}

abstract contract Deprecateble is Ownable {
  bool internal deprecated;

  modifier onlyNotDeprecated() {
    require(!deprecated, "Deprecateble: contract is deprecated");
    _;
  }

  function deprecate() external onlyOwner {
    deprecated = true;
    emit Deprecate(msg.sender);
  }

  event Deprecate(address indexed account);
}

abstract contract StandartToken is Staking, ERC20, Ownable, Deprecateble {
  uint256[] private _percents;
  uint256 private _liquidTotalSupply;
  uint256 private _liquidDeposit;
  uint256 constant private PERCENT_FACTOR = 10 ** 12;

  mapping(address => uint256) private _balances;
  mapping(address => uint256) private _deposits;
  mapping(address => uint256) private _rewardIndexForAccount;
  mapping(address => mapping(address => uint256)) private _allowances;

  constructor () public {
    _percents.push(PERCENT_FACTOR);
  }

  function deposit(address account, uint256 amount) external onlyOwner onlyNotDeprecated override virtual returns (bool)  {
    require(amount > 0, "amount should be > 0");
    require(account != address(0), "deposit to the zero address");

    uint256 liquidDeposit = _liquidDeposit;
    require(liquidDeposit + amount >= liquidDeposit, "addition overflow for deposit");
    _liquidDeposit = liquidDeposit + amount;

    uint256 oldDeposit = _deposits[account];
    if (oldDeposit == 0) {
      _balances[account] = balanceOf(account);
      _rewardIndexForAccount[account] = _percents.length - 1;
      _deposits[account] = amount;
    } else {
      uint256 rewardIndex = _rewardIndexForAccount[account];
      if (rewardIndex == _percents.length - 1) {
        require(oldDeposit + amount >= oldDeposit, "addition overflow for deposit");
        _deposits[account] = oldDeposit + amount;
      } else {
        _balances[account] = balanceOf(account);
        _rewardIndexForAccount[account] = _percents.length - 1;
        _deposits[account] = amount;
      }
    }

    emit Transfer(address(0), account, amount);
    return true;
  }

  function stake(uint256 reward) external onlyOwner onlyNotDeprecated override virtual returns (bool) {
    require(reward > 0, "reward should be > 0");

    uint256 liquidTotalSupply = _liquidTotalSupply;
    uint256 liquidDeposit = _liquidDeposit;

    if (liquidTotalSupply == 0) {
      _percents.push(PERCENT_FACTOR);
    } else {
      uint256 oldPercent = _percents[_percents.length - 1];
      uint256 percent = reward * PERCENT_FACTOR / liquidTotalSupply;
      require(percent + PERCENT_FACTOR >= percent, "addition overflow for percent");
      uint256 newPercent = percent + PERCENT_FACTOR;
      _percents.push(newPercent * oldPercent / PERCENT_FACTOR);

      require(liquidTotalSupply + reward >= liquidTotalSupply, "addition overflow for total supply + reward");
      liquidTotalSupply = liquidTotalSupply + reward;
    }

    require(liquidTotalSupply + liquidDeposit >= liquidTotalSupply, "addition overflow for total supply");
    _liquidTotalSupply = liquidTotalSupply + liquidDeposit;
    _liquidDeposit = 0;

    emit Reward(_percents.length, reward);
    return true;
  }

  function withdraw(address account) external onlyOwner onlyNotDeprecated override virtual returns (bool) {
    uint256 oldDeposit = _deposits[account];
    uint256 rewardIndex = _rewardIndexForAccount[account];

    if (rewardIndex == _percents.length - 1) {
      uint256 balance = _balances[account];
      require(balance <= _liquidTotalSupply, "subtraction overflow for total supply");
      _liquidTotalSupply = _liquidTotalSupply - balance;

      require(oldDeposit <= _liquidDeposit, "subtraction overflow for liquid deposit");
      _liquidDeposit = _liquidDeposit - oldDeposit;

      require(balance + oldDeposit >= balance, "addition overflow for total balance + oldDeposit");
      emit Transfer(account, address(0), balance + oldDeposit);
    } else {
      uint256 balance = balanceOf(account);
      uint256 liquidTotalSupply = _liquidTotalSupply;
      require(balance <= liquidTotalSupply, "subtraction overflow for total supply");
      _liquidTotalSupply = liquidTotalSupply - balance;
      emit Transfer(account, address(0), balance);
    }

    _balances[account] = 0;
    _deposits[account] = 0;
    return true;
  }

  // ERC20
  function totalSupply() external view override virtual returns (uint256) {
    uint256 liquidTotalSupply = _liquidTotalSupply;
    uint256 liquidDeposit = _liquidDeposit;

    require(liquidTotalSupply + liquidDeposit >= liquidTotalSupply, "addition overflow for total supply");
    return liquidTotalSupply + liquidDeposit;
  }

  function balanceOf(address account) public view override virtual returns (uint256) {
    uint256 balance = _balances[account];
    uint256 oldDeposit = _deposits[account];

    if (balance == 0 && oldDeposit == 0) {
      return 0;
    }

    uint256 rewardIndex = _rewardIndexForAccount[account];
    if (rewardIndex == _percents.length - 1) {
      require(balance + oldDeposit >= balance, "addition overflow for balance");
      return balance + oldDeposit;
    }

    if (oldDeposit == 0) {
      uint256 profit = _percents[_percents.length - 1];
      return profit * balance / _percents[rewardIndex];
    } else {
      uint256 newBalance = balance * _percents[_percents.length - 1] / _percents[rewardIndex];
      uint256 profit = oldDeposit * _percents[_percents.length - 1] / _percents[rewardIndex + 1];
      require(profit + newBalance >= newBalance, "addition overflow for balance");
      return profit + newBalance;
    }
  }

  function allowance(address owner, address spender) external view override virtual returns (uint256) {
    return _allowances[owner][spender];
  }

  function _approve(address owner, address spender, uint256 amount) internal onlyNotDeprecated virtual {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");

    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  function approve(address spender, uint256 amount) external override virtual returns (bool) {
    _approve(msg.sender, spender, amount);
    return true;
  }

  function increaseAllowance(address spender, uint256 addedValue) external override virtual returns (bool) {
    uint256 temp = _allowances[msg.sender][spender];
    require(temp + addedValue >= temp, "addition overflow");
    _approve(msg.sender, spender, temp + addedValue);
    return true;
  }

  function decreaseAllowance(address spender, uint256 subtractedValue) external override virtual returns (bool) {
    uint256 temp = _allowances[msg.sender][spender];
    require(subtractedValue <= temp, "ERC20: decreased allowance below zero");
    _approve(msg.sender, spender, temp - subtractedValue);
    return true;
  }

  function transfer(address recipient, uint256 amount) external override virtual returns (bool) {
    _transfer(msg.sender, recipient, amount);
    return true;
  }

  function transferFrom(address sender, address recipient, uint256 amount) external override virtual returns (bool) {
    _transfer(sender, recipient, amount);

    uint256 temp = _allowances[sender][msg.sender];
    require(amount <= temp, "ERC20: transfer amount exceeds allowance");
    _approve(sender, msg.sender, temp - amount);
    return true;
  }

  function _transfer(address sender, address recipient, uint256 amount) internal onlyNotDeprecated virtual {
    require(amount > 0, "amount should be > 0");
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

    uint256 oldDeposit = _deposits[sender];
    uint256 rewardIndex = _rewardIndexForAccount[sender];
    uint256 depositDiff = 0;

    if (oldDeposit == 0 || rewardIndex != _percents.length - 1) {
      uint256 senderBalance = balanceOf(sender);
      require(amount <= senderBalance, "ERC20: transfer amount exceeds balance");
      _balances[sender] = senderBalance - amount;

      _deposits[sender] = 0;
      _rewardIndexForAccount[sender] = _percents.length - 1;
    } else {
      if (amount <= oldDeposit) {
        _deposits[sender] = oldDeposit - amount;
        depositDiff = amount;
      } else {
        uint256 senderBalance = _balances[sender];
        require(amount - oldDeposit <= senderBalance, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - (amount - oldDeposit);
        _deposits[sender] = 0;
        depositDiff = oldDeposit;
      }
    }

    oldDeposit = _deposits[recipient];
    rewardIndex = _rewardIndexForAccount[recipient];
    if (oldDeposit == 0 || rewardIndex != _percents.length - 1) {
      uint256 recipientBalance = balanceOf(recipient);
      require((amount - depositDiff) + recipientBalance >= recipientBalance, "ERC20: addition overflow for recipient balance");
      _balances[recipient] = recipientBalance + (amount - depositDiff);
      _rewardIndexForAccount[recipient] = _percents.length - 1;
      _deposits[recipient] = depositDiff;
    } else {
      uint256 recipientBalance = _balances[recipient];
      _balances[recipient] = recipientBalance + (amount - depositDiff);
      _deposits[recipient] = oldDeposit + depositDiff;
    }

    emit Transfer(sender, recipient, amount);
  }
}

contract WAVES is StandartToken {
  function name() external pure returns (string memory) {
    return "WAVES";
  }

  function symbol() external pure returns (string memory) {
    return "WAVES";
  }

  function decimals() external pure returns (uint8) {
    return 18;
  }
}

Contract Security Audit

Contract ABI

API
[{"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":"account","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reward","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deprecate","outputs":[],"stateMutability":"nonpayable","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03199081163390811783556001805490921617815560028054918201815590915264e8d4a510007f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909101556119f9806100776000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806351cff8d911610097578063a694fc3a11610066578063a694fc3a1461030a578063a9059cbb14610327578063dd62ed3e14610353578063f2fde38b1461038157610100565b806351cff8d91461029257806370a08231146102b857806395d89b4114610105578063a457c2d7146102de57610100565b806323b872dd116100d357806323b872dd146101e6578063313ce5671461021c578063395093511461023a57806347e7ef241461026657610100565b806306fdde0314610105578063095ea7b3146101825780630fcc0c28146101c257806318160ddd146101cc575b600080fd5b61010d6103a7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103c6565b604080519115158252519081900360200190f35b6101ca6103dc565b005b6101d461047a565b60408051918252519081900360200190f35b6101ae600480360360608110156101fc57600080fd5b506001600160a01b038135811691602081013590911690604001356104cb565b610224610553565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561025057600080fd5b506001600160a01b038135169060200135610558565b6101ae6004803603604081101561027c57600080fd5b506001600160a01b0381351690602001356105de565b6101ae600480360360208110156102a857600080fd5b50356001600160a01b0316610911565b6101d4600480360360208110156102ce57600080fd5b50356001600160a01b0316610bcc565b6101ae600480360360408110156102f457600080fd5b506001600160a01b038135169060200135610dd7565b6101ae6004803603602081101561032057600080fd5b5035610e47565b6101ae6004803603604081101561033d57600080fd5b506001600160a01b03813516906020013561111e565b6101d46004803603604081101561036957600080fd5b506001600160a01b038135811691602001351661112b565b6101ca6004803603602081101561039757600080fd5b50356001600160a01b0316611156565b604080518082019091526005815264574156455360d81b602082015290565b60006103d333848461121b565b50600192915050565b6000546001600160a01b03163314806103ff57506001546001600160a01b031633145b61043a5760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b6001805460ff60a01b1916600160a01b17905560405133907fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e90600090a2565b600354600454600091908082018211156104c55760405162461bcd60e51b81526004018080602001828103825260228152602001806118c96022913960400191505060405180910390fd5b01905090565b60006104d8848484611350565b6001600160a01b03841660009081526008602090815260408083203384529091529020548083111561053b5760405162461bcd60e51b815260040180806020018281038252602881526020018061187c6028913960400191505060405180910390fd5b610548853385840361121b565b506001949350505050565b601290565b3360009081526008602090815260408083206001600160a01b03861684529091528120548281018111156105c7576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b6105d4338585840161121b565b5060019392505050565b600080546001600160a01b031633148061060257506001546001600160a01b031633145b61063d5760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff16156106865760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b600082116106d2576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b6001600160a01b03831661072d576040805162461bcd60e51b815260206004820152601b60248201527f6465706f73697420746f20746865207a65726f20616464726573730000000000604482015290519081900360640190fd5b600454828101811115610787576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f72206465706f736974000000604482015290519081900360640190fd5b8083016004556001600160a01b038416600090815260066020526040902054806107f2576107b485610bcc565b6001600160a01b03861660009081526005602090815260408083209390935560025460078252838320600019909101905560069052208490556108d7565b6001600160a01b0385166000908152600760205260409020546002546000190181141561089257818583011015610870576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f72206465706f736974000000604482015290519081900360640190fd5b6001600160a01b038616600090815260066020526040902082860190556108d5565b61089b86610bcc565b6001600160a01b03871660009081526005602090815260408083209390935560025460078252838320600019909101905560069052208590555b505b6040805185815290516001600160a01b038716916000916000805160206119128339815191529181900360200190a3506001949350505050565b600080546001600160a01b031633148061093557506001546001600160a01b031633145b6109705760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff16156109b95760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b6001600160a01b03821660009081526006602090815260408083205460079092529091205460025460001901811415610b13576001600160a01b038416600090815260056020526040902054600354811115610a465760405162461bcd60e51b81526004018080602001828103825260258152602001806118a46025913960400191505060405180910390fd5b600380548290039055600454831115610a905760405162461bcd60e51b81526004018080602001828103825260278152602001806118eb6027913960400191505060405180910390fd5b8260045403600481905550808382011015610adc5760405162461bcd60e51b815260040180806020018281038252603081526020018061175c6030913960400191505060405180910390fd5b60408051828501815290516000916001600160a01b038816916000805160206119128339815191529181900360200190a350610b9b565b6000610b1e85610bcc565b60035490915080821115610b635760405162461bcd60e51b81526004018080602001828103825260258152602001806118a46025913960400191505060405180910390fd5b8181036003556040805183815290516000916001600160a01b038916916000805160206119128339815191529181900360200190a350505b5050506001600160a01b0381166000908152600560209081526040808320839055600690915281205560015b919050565b6001600160a01b038116600090815260056020908152604080832054600690925282205481158015610bfc575080155b15610c0c57600092505050610bc7565b6001600160a01b03841660009081526007602052604090205460025460001901811415610c9357828284011015610c8a576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722062616c616e6365000000604482015290519081900360640190fd5b50019050610bc7565b81610ce95760028054600091906000198101908110610cae57fe5b9060005260206000200154905060028281548110610cc857fe5b906000526020600020015484820281610cdd57fe5b04945050505050610bc7565b600060028281548110610cf857fe5b600091825260209091200154600280546000198101908110610d1657fe5b9060005260206000200154850281610d2a57fe5b049050600060028360010181548110610d3f57fe5b600091825260209091200154600280546000198101908110610d5d57fe5b9060005260206000200154850281610d7157fe5b049050818282011015610dcb576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722062616c616e6365000000604482015290519081900360640190fd5b019350610bc792505050565b3360009081526008602090815260408083206001600160a01b038616845290915281205480831115610e3a5760405162461bcd60e51b815260040180806020018281038252602581526020018061197b6025913960400191505060405180910390fd5b6105d4338585840361121b565b600080546001600160a01b0316331480610e6b57506001546001600160a01b031633145b610ea65760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff1615610eef5760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b60008211610f3b576040805162461bcd60e51b815260206004820152601460248201527307265776172642073686f756c64206265203e20360641b604482015290519081900360640190fd5b60035460045481610f86576002805460018101825560009190915264e8d4a510007f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9091015561108b565b60028054600091906000198101908110610f9c57fe5b9060005260206000200154905060008364e8d4a51000870281610fbb57fe5b0490508064e8d4a510008201101561101a576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722070657263656e74000000604482015290519081900360640190fd5b64e8d4a51000818101906002908483028254600181018455600093845260209093209190049101558685018511156110835760405162461bcd60e51b815260040180806020018281038252602b815260200180611828602b913960400191505060405180910390fd5b505050908301905b8181830110156110cc5760405162461bcd60e51b81526004018080602001828103825260228152602001806118c96022913960400191505060405180910390fd5b8181016003556000600455600254604080519182526020820186905280517f45cad8c10023de80f4c0672ff6c283b671e11aa93c92b9380cdf060d2790da529281900390910190a15060019392505050565b60006103d3338484611350565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b031633148061117957506001546001600160a01b031633145b6111b45760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b6001600160a01b0381166111f95760405162461bcd60e51b815260040180806020018281038252602681526020018061178c6026913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a01b900460ff16156112645760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b6001600160a01b0383166112a95760405162461bcd60e51b81526004018080602001828103825260248152602001806119576024913960400191505060405180910390fd5b6001600160a01b0382166112ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806117b26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600154600160a01b900460ff16156113995760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b600081116113e5576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b6001600160a01b03831661142a5760405162461bcd60e51b81526004018080602001828103825260258152602001806119326025913960400191505060405180910390fd5b6001600160a01b03821661146f5760405162461bcd60e51b81526004018080602001828103825260238152602001806117396023913960400191505060405180910390fd5b6001600160a01b038316600090815260066020908152604080832054600790925282205490918215806114a85750600254600019018214155b1561153d5760006114b887610bcc565b9050808511156114f95760405162461bcd60e51b81526004018080602001828103825260268152602001806117d46026913960400191505060405180910390fd5b6001600160a01b03871660009081526005602090815260408083209388900390935560068152828220829055600254600790915291902060001990910190556115f1565b82841161156857506001600160a01b03851660009081526006602052604090208383039055826115f1565b6001600160a01b0386166000908152600560205260409020548385038110156115c25760405162461bcd60e51b81526004018080602001828103825260268152602001806117d46026913960400191505060405180910390fd5b6001600160a01b0387166000908152600560209081526040808320878903909403909355600690529081205550815b6001600160a01b038516600090815260066020908152604080832054600790925290912054909350915082158061162e5750600254600019018214155b156116c757600061163e86610bcc565b905080818387030110156116835760405162461bcd60e51b815260040180806020018281038252602e8152602001806117fa602e913960400191505060405180910390fd5b6001600160a01b03861660009081526005602090815260408083208589039490940190935560025460078252838320600019909101905560069052208190556116f7565b6001600160a01b038516600090815260056020908152604080832080548589030190556006909152902083820190555b846001600160a01b0316866001600160a01b0316600080516020611912833981519152866040518082815260200191505060405180910390a350505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573736164646974696f6e206f766572666c6f7720666f7220746f74616c2062616c616e6365202b206f6c644465706f7369744f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a206164646974696f6e206f766572666c6f7720666f7220726563697069656e742062616c616e63656164646974696f6e206f766572666c6f7720666f7220746f74616c20737570706c79202b207265776172644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572206f722061646d696e45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63657375627472616374696f6e206f766572666c6f7720666f7220746f74616c20737570706c796164646974696f6e206f766572666c6f7720666f7220746f74616c20737570706c797375627472616374696f6e206f766572666c6f7720666f72206c6971756964206465706f736974ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f446570726563617465626c653a20636f6e74726163742069732064657072656361746564a264697066735822122015806b87b46c722b54f5f8f50de4114610e92b1d2f590ccf5f0071b72431c67864736f6c63430006080033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806351cff8d911610097578063a694fc3a11610066578063a694fc3a1461030a578063a9059cbb14610327578063dd62ed3e14610353578063f2fde38b1461038157610100565b806351cff8d91461029257806370a08231146102b857806395d89b4114610105578063a457c2d7146102de57610100565b806323b872dd116100d357806323b872dd146101e6578063313ce5671461021c578063395093511461023a57806347e7ef241461026657610100565b806306fdde0314610105578063095ea7b3146101825780630fcc0c28146101c257806318160ddd146101cc575b600080fd5b61010d6103a7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103c6565b604080519115158252519081900360200190f35b6101ca6103dc565b005b6101d461047a565b60408051918252519081900360200190f35b6101ae600480360360608110156101fc57600080fd5b506001600160a01b038135811691602081013590911690604001356104cb565b610224610553565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561025057600080fd5b506001600160a01b038135169060200135610558565b6101ae6004803603604081101561027c57600080fd5b506001600160a01b0381351690602001356105de565b6101ae600480360360208110156102a857600080fd5b50356001600160a01b0316610911565b6101d4600480360360208110156102ce57600080fd5b50356001600160a01b0316610bcc565b6101ae600480360360408110156102f457600080fd5b506001600160a01b038135169060200135610dd7565b6101ae6004803603602081101561032057600080fd5b5035610e47565b6101ae6004803603604081101561033d57600080fd5b506001600160a01b03813516906020013561111e565b6101d46004803603604081101561036957600080fd5b506001600160a01b038135811691602001351661112b565b6101ca6004803603602081101561039757600080fd5b50356001600160a01b0316611156565b604080518082019091526005815264574156455360d81b602082015290565b60006103d333848461121b565b50600192915050565b6000546001600160a01b03163314806103ff57506001546001600160a01b031633145b61043a5760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b6001805460ff60a01b1916600160a01b17905560405133907fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e90600090a2565b600354600454600091908082018211156104c55760405162461bcd60e51b81526004018080602001828103825260228152602001806118c96022913960400191505060405180910390fd5b01905090565b60006104d8848484611350565b6001600160a01b03841660009081526008602090815260408083203384529091529020548083111561053b5760405162461bcd60e51b815260040180806020018281038252602881526020018061187c6028913960400191505060405180910390fd5b610548853385840361121b565b506001949350505050565b601290565b3360009081526008602090815260408083206001600160a01b03861684529091528120548281018111156105c7576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b6105d4338585840161121b565b5060019392505050565b600080546001600160a01b031633148061060257506001546001600160a01b031633145b61063d5760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff16156106865760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b600082116106d2576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b6001600160a01b03831661072d576040805162461bcd60e51b815260206004820152601b60248201527f6465706f73697420746f20746865207a65726f20616464726573730000000000604482015290519081900360640190fd5b600454828101811115610787576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f72206465706f736974000000604482015290519081900360640190fd5b8083016004556001600160a01b038416600090815260066020526040902054806107f2576107b485610bcc565b6001600160a01b03861660009081526005602090815260408083209390935560025460078252838320600019909101905560069052208490556108d7565b6001600160a01b0385166000908152600760205260409020546002546000190181141561089257818583011015610870576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f72206465706f736974000000604482015290519081900360640190fd5b6001600160a01b038616600090815260066020526040902082860190556108d5565b61089b86610bcc565b6001600160a01b03871660009081526005602090815260408083209390935560025460078252838320600019909101905560069052208590555b505b6040805185815290516001600160a01b038716916000916000805160206119128339815191529181900360200190a3506001949350505050565b600080546001600160a01b031633148061093557506001546001600160a01b031633145b6109705760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff16156109b95760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b6001600160a01b03821660009081526006602090815260408083205460079092529091205460025460001901811415610b13576001600160a01b038416600090815260056020526040902054600354811115610a465760405162461bcd60e51b81526004018080602001828103825260258152602001806118a46025913960400191505060405180910390fd5b600380548290039055600454831115610a905760405162461bcd60e51b81526004018080602001828103825260278152602001806118eb6027913960400191505060405180910390fd5b8260045403600481905550808382011015610adc5760405162461bcd60e51b815260040180806020018281038252603081526020018061175c6030913960400191505060405180910390fd5b60408051828501815290516000916001600160a01b038816916000805160206119128339815191529181900360200190a350610b9b565b6000610b1e85610bcc565b60035490915080821115610b635760405162461bcd60e51b81526004018080602001828103825260258152602001806118a46025913960400191505060405180910390fd5b8181036003556040805183815290516000916001600160a01b038916916000805160206119128339815191529181900360200190a350505b5050506001600160a01b0381166000908152600560209081526040808320839055600690915281205560015b919050565b6001600160a01b038116600090815260056020908152604080832054600690925282205481158015610bfc575080155b15610c0c57600092505050610bc7565b6001600160a01b03841660009081526007602052604090205460025460001901811415610c9357828284011015610c8a576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722062616c616e6365000000604482015290519081900360640190fd5b50019050610bc7565b81610ce95760028054600091906000198101908110610cae57fe5b9060005260206000200154905060028281548110610cc857fe5b906000526020600020015484820281610cdd57fe5b04945050505050610bc7565b600060028281548110610cf857fe5b600091825260209091200154600280546000198101908110610d1657fe5b9060005260206000200154850281610d2a57fe5b049050600060028360010181548110610d3f57fe5b600091825260209091200154600280546000198101908110610d5d57fe5b9060005260206000200154850281610d7157fe5b049050818282011015610dcb576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722062616c616e6365000000604482015290519081900360640190fd5b019350610bc792505050565b3360009081526008602090815260408083206001600160a01b038616845290915281205480831115610e3a5760405162461bcd60e51b815260040180806020018281038252602581526020018061197b6025913960400191505060405180910390fd5b6105d4338585840361121b565b600080546001600160a01b0316331480610e6b57506001546001600160a01b031633145b610ea65760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b600154600160a01b900460ff1615610eef5760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b60008211610f3b576040805162461bcd60e51b815260206004820152601460248201527307265776172642073686f756c64206265203e20360641b604482015290519081900360640190fd5b60035460045481610f86576002805460018101825560009190915264e8d4a510007f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9091015561108b565b60028054600091906000198101908110610f9c57fe5b9060005260206000200154905060008364e8d4a51000870281610fbb57fe5b0490508064e8d4a510008201101561101a576040805162461bcd60e51b815260206004820152601d60248201527f6164646974696f6e206f766572666c6f7720666f722070657263656e74000000604482015290519081900360640190fd5b64e8d4a51000818101906002908483028254600181018455600093845260209093209190049101558685018511156110835760405162461bcd60e51b815260040180806020018281038252602b815260200180611828602b913960400191505060405180910390fd5b505050908301905b8181830110156110cc5760405162461bcd60e51b81526004018080602001828103825260228152602001806118c96022913960400191505060405180910390fd5b8181016003556000600455600254604080519182526020820186905280517f45cad8c10023de80f4c0672ff6c283b671e11aa93c92b9380cdf060d2790da529281900390910190a15060019392505050565b60006103d3338484611350565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b031633148061117957506001546001600160a01b031633145b6111b45760405162461bcd60e51b81526004018080602001828103825260298152602001806118536029913960400191505060405180910390fd5b6001600160a01b0381166111f95760405162461bcd60e51b815260040180806020018281038252602681526020018061178c6026913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a01b900460ff16156112645760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b6001600160a01b0383166112a95760405162461bcd60e51b81526004018080602001828103825260248152602001806119576024913960400191505060405180910390fd5b6001600160a01b0382166112ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806117b26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600154600160a01b900460ff16156113995760405162461bcd60e51b81526004018080602001828103825260248152602001806119a06024913960400191505060405180910390fd5b600081116113e5576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b6001600160a01b03831661142a5760405162461bcd60e51b81526004018080602001828103825260258152602001806119326025913960400191505060405180910390fd5b6001600160a01b03821661146f5760405162461bcd60e51b81526004018080602001828103825260238152602001806117396023913960400191505060405180910390fd5b6001600160a01b038316600090815260066020908152604080832054600790925282205490918215806114a85750600254600019018214155b1561153d5760006114b887610bcc565b9050808511156114f95760405162461bcd60e51b81526004018080602001828103825260268152602001806117d46026913960400191505060405180910390fd5b6001600160a01b03871660009081526005602090815260408083209388900390935560068152828220829055600254600790915291902060001990910190556115f1565b82841161156857506001600160a01b03851660009081526006602052604090208383039055826115f1565b6001600160a01b0386166000908152600560205260409020548385038110156115c25760405162461bcd60e51b81526004018080602001828103825260268152602001806117d46026913960400191505060405180910390fd5b6001600160a01b0387166000908152600560209081526040808320878903909403909355600690529081205550815b6001600160a01b038516600090815260066020908152604080832054600790925290912054909350915082158061162e5750600254600019018214155b156116c757600061163e86610bcc565b905080818387030110156116835760405162461bcd60e51b815260040180806020018281038252602e8152602001806117fa602e913960400191505060405180910390fd5b6001600160a01b03861660009081526005602090815260408083208589039490940190935560025460078252838320600019909101905560069052208190556116f7565b6001600160a01b038516600090815260056020908152604080832080548589030190556006909152902083820190555b846001600160a01b0316866001600160a01b0316600080516020611912833981519152866040518082815260200191505060405180910390a350505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573736164646974696f6e206f766572666c6f7720666f7220746f74616c2062616c616e6365202b206f6c644465706f7369744f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a206164646974696f6e206f766572666c6f7720666f7220726563697069656e742062616c616e63656164646974696f6e206f766572666c6f7720666f7220746f74616c20737570706c79202b207265776172644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572206f722061646d696e45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63657375627472616374696f6e206f766572666c6f7720666f7220746f74616c20737570706c796164646974696f6e206f766572666c6f7720666f7220746f74616c20737570706c797375627472616374696f6e206f766572666c6f7720666f72206c6971756964206465706f736974ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f446570726563617465626c653a20636f6e74726163742069732064657072656361746564a264697066735822122015806b87b46c722b54f5f8f50de4114610e92b1d2f590ccf5f0071b72431c67864736f6c63430006080033

Deployed Bytecode Sourcemap

11287:288:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11287:288:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;11324:81:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11324:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7908:159;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7908:159:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1913:103;;;:::i;:::-;;6096:333;;;:::i;:::-;;;;;;;;;;;;;;;;8884:360;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8884:360:0;;;;;;;;;;;;;;;;;:::i;11500:72::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8073:300;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8073:300:0;;;;;;;;:::i;2619:1165::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2619:1165:0;;;;;;;;:::i;4914:1164::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4914:1164:0;-1:-1:-1;;;;;4914:1164:0;;:::i;6435:962::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6435:962:0;-1:-1:-1;;;;;6435:962:0;;:::i;8379:328::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8379:328:0;;;;;;;;:::i;3790:1118::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3790:1118:0;;:::i;8713:165::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8713:165:0;;;;;;;;:::i;7403:147::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7403:147:0;;;;;;;;;;:::i;1530:182::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1530:182:0;-1:-1:-1;;;;;1530:182:0;;:::i;11324:81::-;11385:14;;;;;;;;;;;;-1:-1:-1;;;11385:14:0;;;;11324:81;:::o;7908:159::-;7993:4;8006:37;8015:10;8027:7;8036:6;8006:8;:37::i;:::-;-1:-1:-1;8057:4:0;7908:159;;;;:::o;1913:103::-;1420:6;;-1:-1:-1;;;;;1420:6:0;1430:10;1420:20;;:44;;-1:-1:-1;1444:6:0;;-1:-1:-1;;;;;1444:6:0;1454:10;1444:20;1420:44;1412:98;;;;-1:-1:-1;;;1412:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1973:4:::1;1960:17:::0;;-1:-1:-1;;;;1960:17:0::1;-1:-1:-1::0;;;1960:17:0::1;::::0;;1989:21:::1;::::0;1999:10:::1;::::0;1989:21:::1;::::0;1960:17;;1989:21:::1;1913:103::o:0;6096:333::-;6203:18;;6252:14;;6159:7;;6203:18;6283:33;;;:54;-1:-1:-1;6283:54:0;6275:101;;;;-1:-1:-1;;;6275:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6390:33;;-1:-1:-1;6096:333:0;:::o;8884:360::-;8992:4;9005:36;9015:6;9023:9;9034:6;9005:9;:36::i;:::-;-1:-1:-1;;;;;9065:19:0;;9050:12;9065:19;;;:11;:19;;;;;;;;9085:10;9065:31;;;;;;;;9111:14;;;;9103:67;;;;-1:-1:-1;;;9103:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9177:43;9186:6;9194:10;9213:6;9206:4;:13;9177:8;:43::i;:::-;-1:-1:-1;9234:4:0;;8884:360;-1:-1:-1;;;;8884:360:0:o;11500:72::-;11564:2;11500:72;:::o;8073:300::-;8212:10;8172:4;8200:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8200:32:0;;;;;;;;;;8247:17;;;:25;-1:-1:-1;8247:25:0;8239:55;;;;;-1:-1:-1;;;8239:55:0;;;;;;;;;;;;-1:-1:-1;;;8239:55:0;;;;;;;;;;;;;;;8301:48;8310:10;8322:7;8338:10;8331:4;:17;8301:8;:48::i;:::-;-1:-1:-1;8363:4:0;;8073:300;-1:-1:-1;;;8073:300:0:o;2619:1165::-;2732:4;1420:6;;-1:-1:-1;;;;;1420:6:0;1430:10;1420:20;;:44;;-1:-1:-1;1444:6:0;;-1:-1:-1;;;;;1444:6:0;1454:10;1444:20;1420:44;1412:98;;;;-1:-1:-1;;;1412:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:10:::1;::::0;-1:-1:-1;;;1842:10:0;::::1;;;1841:11;1833:60;;;;-1:-1:-1::0;;;1833:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2763:1:::2;2754:6;:10;2746:43;;;::::0;;-1:-1:-1;;;2746:43:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;2746:43:0;;;;;;;;;;;;;::::2;;-1:-1:-1::0;;;;;2804:21:0;::::2;2796:61;;;::::0;;-1:-1:-1;;;2796:61:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;2890:14;::::0;2919:22;;::::2;:39:::0;-1:-1:-1;2919:39:0::2;2911:81;;;::::0;;-1:-1:-1;;;2911:81:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;3016:22:::0;;::::2;2999:14;:39:::0;-1:-1:-1;;;;;3068:18:0;::::2;3047;3068::::0;;;:9:::2;:18;::::0;;;;;3097:15;3093:617:::2;;3144:18;3154:7;3144:9;:18::i;:::-;-1:-1:-1::0;;;;;3123:18:0;::::2;;::::0;;;:9:::2;:18;::::0;;;;;;;:39;;;;3205:9:::2;:16:::0;3171:22:::2;:31:::0;;;;;-1:-1:-1;;3205:20:0;;;3171:54;;3234:9:::2;:18:::0;;;:27;;;3093:617:::2;;;-1:-1:-1::0;;;;;3306:31:0;::::2;3284:19;3306:31:::0;;;:22:::2;:31;::::0;;;;;3365:9:::2;:16:::0;-1:-1:-1;;3365:20:0;3350:35;::::2;3346:357;;;3429:10;3419:6;3406:10;:19;:33;;3398:75;;;::::0;;-1:-1:-1;;;3398:75:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;-1:-1:-1::0;;;;;3484:18:0;::::2;;::::0;;;:9:::2;:18;::::0;;;;3505:19;;::::2;3484:40:::0;;3346:357:::2;;;3572:18;3582:7;3572:9;:18::i;:::-;-1:-1:-1::0;;;;;3551:18:0;::::2;;::::0;;;:9:::2;:18;::::0;;;;;;;:39;;;;3635:9:::2;:16:::0;3601:22:::2;:31:::0;;;;;-1:-1:-1;;3635:20:0;;;3601:54;;3666:9:::2;:18:::0;;;:27;;;3346:357:::2;3093:617;;3723:37;::::0;;;;;;;-1:-1:-1;;;;;3723:37:0;::::2;::::0;3740:1:::2;::::0;-1:-1:-1;;;;;;;;;;;3723:37:0;;;;::::2;::::0;;::::2;-1:-1:-1::0;3774:4:0::2;::::0;2619:1165;-1:-1:-1;;;;2619:1165:0:o;4914:1164::-;5012:4;1420:6;;-1:-1:-1;;;;;1420:6:0;1430:10;1420:20;;:44;;-1:-1:-1;1444:6:0;;-1:-1:-1;;;;;1444:6:0;1454:10;1444:20;1420:44;1412:98;;;;-1:-1:-1;;;1412:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:10:::1;::::0;-1:-1:-1;;;1842:10:0;::::1;;;1841:11;1833:60;;;;-1:-1:-1::0;;;1833:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5046:18:0;::::2;5025;5046::::0;;;:9:::2;:18;::::0;;;;;;;;5093:22:::2;:31:::0;;;;;;;5152:9:::2;:16:::0;-1:-1:-1;;5152:20:0;5137:35;::::2;5133:862;;;-1:-1:-1::0;;;;;5201:18:0;::::2;5183:15;5201:18:::0;;;:9:::2;:18;::::0;;;;;5247::::2;::::0;5236:29;::::2;;5228:79;;;;-1:-1:-1::0;;;5228:79:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:18;::::0;;:28;;::::2;5316:49:::0;;5398:14:::2;::::0;5384:28;::::2;;5376:80;;;;-1:-1:-1::0;;;5376:80:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499:10;5482:14;;:27;5465:14;:44;;;;5552:7;5538:10;5528:7;:20;:31;;5520:92;;;;-1:-1:-1::0;;;5520:92:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5626:51;::::0;;5656:20;;::::2;5626:51:::0;;;;5652:1:::2;::::0;-1:-1:-1;;;;;5626:51:0;::::2;::::0;-1:-1:-1;;;;;;;;;;;5626:51:0;;;;::::2;::::0;;::::2;5133:862;;;;5700:15;5718:18;5728:7;5718:9;:18::i;:::-;5773;::::0;5700:36;;-1:-1:-1;5808:28:0;;::::2;;5800:78;;;;-1:-1:-1::0;;;5800:78:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5908:27:::0;;::::2;5887:18;:48:::0;5949:38:::2;::::0;;;;;;;5975:1:::2;::::0;-1:-1:-1;;;;;5949:38:0;::::2;::::0;-1:-1:-1;;;;;;;;;;;5949:38:0;;;;::::2;::::0;;::::2;5133:862;;;-1:-1:-1::0;;;;;;;;6003:18:0;::::2;6024:1;6003:18:::0;;;:9:::2;:18;::::0;;;;;;;:22;;;6032:9:::2;:18:::0;;;;;:22;6068:4:::2;1900:1;4914:1164:::0;;;:::o;6435:962::-;-1:-1:-1;;;;;6543:18:0;;6509:7;6543:18;;;:9;:18;;;;;;;;;6589:9;:18;;;;;;6620:12;;:31;;;;-1:-1:-1;6636:15:0;;6620:31;6616:62;;;6669:1;6662:8;;;;;;6616:62;-1:-1:-1;;;;;6708:31:0;;6686:19;6708:31;;;:22;:31;;;;;;6765:9;:16;-1:-1:-1;;6765:20:0;6750:35;;6746:167;;;6828:7;6814:10;6804:7;:20;:31;;6796:73;;;;;-1:-1:-1;;;6796:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6885:20:0;;-1:-1:-1;6878:27:0;;6746:167;6925:15;6921:471;;6968:9;6978:16;;6951:14;;6968:9;-1:-1:-1;;6978:20:0;;;6968:31;;;;;;;;;;;;;;6951:48;;7034:9;7044:11;7034:22;;;;;;;;;;;;;;;;7024:7;7015:6;:16;:41;;;;;;7008:48;;;;;;;;6921:471;7079:18;7144:9;7154:11;7144:22;;;;;;;;;;;;;;;;;;7110:9;7120:16;;-1:-1:-1;;7120:20:0;;;7110:31;;;;;;;;;;;;;;7100:7;:41;:66;;;;;;7079:87;;7175:14;7239:9;7249:11;7263:1;7249:15;7239:26;;;;;;;;;;;;;;;;;;7205:9;7215:16;;-1:-1:-1;;7215:20:0;;;7205:31;;;;;;;;;;;;;;7192:10;:44;:73;;;;;;7175:90;;7305:10;7291;7282:6;:19;:33;;7274:75;;;;;-1:-1:-1;;;7274:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7365:19;;-1:-1:-1;7358:26:0;;-1:-1:-1;;;7358:26:0;8379:328;8523:10;8483:4;8511:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8511:32:0;;;;;;;;;;8558:23;;;;8550:73;;;;-1:-1:-1;;;8550:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8630:53;8639:10;8651:7;8667:15;8660:4;:22;8630:8;:53::i;3790:1118::-;3884:4;1420:6;;-1:-1:-1;;;;;1420:6:0;1430:10;1420:20;;:44;;-1:-1:-1;1444:6:0;;-1:-1:-1;;;;;1444:6:0;1454:10;1444:20;1420:44;1412:98;;;;-1:-1:-1;;;1412:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:10:::1;::::0;-1:-1:-1;;;1842:10:0;::::1;;;1841:11;1833:60;;;;-1:-1:-1::0;;;1833:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:1:::2;3905:6;:10;3897:43;;;::::0;;-1:-1:-1;;;3897:43:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;3897:43:0;;;;;;;;;;;;;::::2;;3977:18;::::0;4026:14:::2;::::0;4053:22;4049:594:::2;;4086:9;27:10:-1::0;;39:1:::2;23:18:::0;::::2;45:23:::0;;-1:-1;4086:30:0;;;;2296:8:::2;4086:30:::0;;;::::2;::::0;4049:594:::2;;;4160:9;4170:16:::0;;4139:18:::2;::::0;4160:9;-1:-1:-1;;4170:20:0;;;4160:31;::::2;;;;;;;;;;;;;4139:52;;4200:15;4244:17;2296:8;4218:6;:23;:43;;;;;;4200:61;;4306:7;2296:8;4278:7;:24;:35;;4270:77;;;::::0;;-1:-1:-1;;;4270:77:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;2296:8;4377:24:::0;;::::2;::::0;4410:9:::2;::::0;4425:23;;::::2;27:10:-1::0;;39:1:::2;23:18:::0;::::2;45:23:::0;;-1:-1;4410:56:0;;;::::2;::::0;;;4425:40;;::::2;4410:56:::0;::::2;::::0;4485:26;;::::2;:47:::0;-1:-1:-1;4485:47:0::2;4477:103;;;;-1:-1:-1::0;;;4477:103:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;4609:26:0;;::::2;::::0;4049:594:::2;4696:17;4679:13;4659:17;:33;:54;;4651:101;;;;-1:-1:-1::0;;;4651:101:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4780:33:::0;;::::2;4759:18;:54:::0;4837:1:::2;4820:14;:18:::0;4859:9:::2;:16:::0;4852:32:::2;::::0;;;;;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;;;;;;;::::2;-1:-1:-1::0;4898:4:0::2;::::0;3790:1118;-1:-1:-1;;;3790:1118:0:o;8713:165::-;8801:4;8814:40;8824:10;8836:9;8847:6;8814:9;:40::i;7403:147::-;-1:-1:-1;;;;;7517:18:0;;;7494:7;7517:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7403:147::o;1530:182::-;1420:6;;-1:-1:-1;;;;;1420:6:0;1430:10;1420:20;;:44;;-1:-1:-1;1444:6:0;;-1:-1:-1;;;;;1444:6:0;1454:10;1444:20;1420:44;1412:98;;;;-1:-1:-1;;;1412:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1617:22:0;::::1;1609:73;;;;-1:-1:-1::0;;;1609:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1689:6;:17:::0;;-1:-1:-1;;;;;;1689:17:0::1;-1:-1:-1::0;;;;;1689:17:0;;;::::1;::::0;;;::::1;::::0;;1530:182::o;7556:346::-;1842:10;;-1:-1:-1;;;1842:10:0;;;;1841:11;1833:60;;;;-1:-1:-1;;;1833:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7672:19:0;::::1;7664:68;;;;-1:-1:-1::0;;;7664:68:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7747:21:0;::::1;7739:68;;;;-1:-1:-1::0;;;7739:68:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7816:18:0;;::::1;;::::0;;;:11:::1;:18;::::0;;;;;;;:27;;::::1;::::0;;;;;;;;;;:36;;;7864:32;;;;;;;::::1;::::0;;;;;;;;::::1;7556:346:::0;;;:::o;9250:2030::-;1842:10;;-1:-1:-1;;;1842:10:0;;;;1841:11;1833:60;;;;-1:-1:-1;;;1833:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:1:::1;9370:6;:10;9362:43;;;::::0;;-1:-1:-1;;;9362:43:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;9362:43:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;9420:20:0;::::1;9412:70;;;;-1:-1:-1::0;;;9412:70:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9497:23:0;::::1;9489:71;;;;-1:-1:-1::0;;;9489:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9590:17:0;::::1;9569:18;9590:17:::0;;;:9:::1;:17;::::0;;;;;;;;9636:22:::1;:30:::0;;;;;;9590:17;;9709:15;;;:54:::1;;-1:-1:-1::0;9743:9:0::1;:16:::0;-1:-1:-1;;9743:20:0;9728:35;::::1;;9709:54;9705:786;;;9774:21;9798:17;9808:6;9798:9;:17::i;:::-;9774:41;;9842:13;9832:6;:23;;9824:74;;;;-1:-1:-1::0;;;9824:74:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9907:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;;9927:22;;;::::1;9907:42:::0;;;9960:9:::1;:17:::0;;;;;:21;;;10023:9:::1;:16:::0;9990:22:::1;:30:::0;;;;;;-1:-1:-1;;10023:20:0;;;9990:53;;9705:786:::1;;;10080:10;10070:6;:20;10066:418;;-1:-1:-1::0;;;;;;10103:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;10123:19;;::::1;10103:39:::0;;10136:6;10066:418:::1;;;-1:-1:-1::0;;;;;10224:17:0;::::1;10200:21;10224:17:::0;;;:9:::1;:17;::::0;;;;;10260:19;;::::1;:36:::0;-1:-1:-1;10260:36:0::1;10252:87;;;;-1:-1:-1::0;;;10252:87:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10350:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;;10387:19;;::::1;10370:37:::0;;::::1;10350:57:::0;;;10418:9:::1;:17:::0;;;;;:21;-1:-1:-1;10396:10:0;10066:418:::1;-1:-1:-1::0;;;;;10512:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;;;10553:22:::1;:33:::0;;;;;;;10512:20;;-1:-1:-1;10553:33:0;-1:-1:-1;10597:15:0;;;:54:::1;;-1:-1:-1::0;10631:9:0::1;:16:::0;-1:-1:-1;;10631:20:0;10616:35;::::1;;10597:54;10593:633;;;10662:24;10689:20;10699:9;10689;:20::i;:::-;10662:47;;10771:16;10751;10736:11;10727:6;:20;10726:41;:61;;10718:120;;;;-1:-1:-1::0;;;10718:120:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10847:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;;10890;;::::1;10870:41:::0;;;::::1;10847:64:::0;;;10956:9:::1;:16:::0;10920:22:::1;:33:::0;;;;;-1:-1:-1;;10956:20:0;;;10920:56;;10985:9:::1;:20:::0;;;:34;;;10593:633:::1;;;-1:-1:-1::0;;;;;11069:20:0;::::1;11042:24;11069:20:::0;;;:9:::1;:20;::::0;;;;;;;;;11141;;::::1;11121:41;11098:64:::0;;11171:9:::1;:20:::0;;;;;11194:24;;::::1;11171:47:::0;;10593:633:::1;11256:9;-1:-1:-1::0;;;;;11239:35:0::1;11248:6;-1:-1:-1::0;;;;;11239:35:0::1;-1:-1:-1::0;;;;;;;;;;;11267:6:0::1;11239:35;;;;;;;;;;;;;;;;;;1900:1;;;9250:2030:::0;;;:::o

Swarm Source

ipfs://15806b87b46c722b54f5f8f50de4114610e92b1d2f590ccf5f0071b72431c678

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

OVERVIEW

WAVES is the core token of the Waves blockchain, an open protocol, and development toolset for Web 3.0 applications and decentralized solutions, aiming to raise security, reliability, and speed of IT systems. It enables anyone to build their apps, fostering mass adoption of blockchain.

Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.