ETH Price: $1,949.48 (-1.95%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

WAVES (WAVES) ($0.4812)

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer245129762026-02-22 14:21:472 hrs ago1771770107IN
Waves: WAVES Token
0 ETH0.000070331.05978353
Approve244704142026-02-16 15:55:356 days ago1771257335IN
Waves: WAVES Token
0 ETH0.000004880.100654
Transfer244668472026-02-16 3:59:476 days ago1771214387IN
Waves: WAVES Token
0 ETH0.000002680.05979512
Transfer244668162026-02-16 3:53:236 days ago1771214003IN
Waves: WAVES Token
0 ETH0.000011960.14683551
Approve244617962026-02-15 11:06:237 days ago1771153583IN
Waves: WAVES Token
0 ETH0.000098592.03026992
Approve244617452026-02-15 10:56:117 days ago1771152971IN
Waves: WAVES Token
0 ETH0.000098152.03178541
Transfer244566342026-02-14 17:49:597 days ago1771091399IN
Waves: WAVES Token
0 ETH0.000002380.05325628
Transfer244482542026-02-13 13:47:359 days ago1770990455IN
Waves: WAVES Token
0 ETH0.000095661.10907498
Transfer244344852026-02-11 15:40:1111 days ago1770824411IN
Waves: WAVES Token
0 ETH0.000089131.34296634
Approve244245682026-02-10 6:25:3512 days ago1770704735IN
Waves: WAVES Token
0 ETH0.000002640.05449412
Transfer244176812026-02-09 7:21:1113 days ago1770621671IN
Waves: WAVES Token
0 ETH0.0000020.04477285
Transfer244095862026-02-08 4:05:1114 days ago1770523511IN
Waves: WAVES Token
0 ETH0.000072861.09786775
Transfer243977912026-02-06 12:29:3516 days ago1770380975IN
Waves: WAVES Token
0 ETH0.000114871.33158738
Approve243844772026-02-04 15:46:3518 days ago1770219995IN
Waves: WAVES Token
0 ETH0.000095461.96638918
Transfer243790162026-02-03 21:29:4718 days ago1770154187IN
Waves: WAVES Token
0 ETH0.000053830.62407756
Transfer243727902026-02-03 0:35:3519 days ago1770078935IN
Waves: WAVES Token
0 ETH0.000008510.10450847
Transfer243635692026-02-01 17:40:4720 days ago1769967647IN
Waves: WAVES Token
0 ETH0.00010081.51883243
Approve243570072026-01-31 19:41:2321 days ago1769888483IN
Waves: WAVES Token
0 ETH0.000312776.47435763
Transfer243569712026-01-31 19:34:1121 days ago1769888051IN
Waves: WAVES Token
0 ETH0.000704688.65191551
Transfer243552742026-01-31 13:52:1122 days ago1769867531IN
Waves: WAVES Token
0 ETH0.000095751.11034055
Transfer243478342026-01-30 12:58:3523 days ago1769777915IN
Waves: WAVES Token
0 ETH0.000073681.1103768
Approve243328402026-01-28 10:47:5925 days ago1769597279IN
Waves: WAVES Token
0 ETH0.000009590.19730207
Approve243192992026-01-26 13:27:2327 days ago1769434043IN
Waves: WAVES Token
0 ETH0.00001690.34806653
Transfer243164582026-01-26 3:57:3527 days ago1769399855IN
Waves: WAVES Token
0 ETH0.000002970.03442151
Transfer243162792026-01-26 3:21:4727 days ago1769397707IN
Waves: WAVES Token
0 ETH0.000046691.04190864
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.