Contract 0x4c41bff37db389ba1edc7ed7e757059a1d08ceb5

 

Contract Overview

Balance:
0 FTM

FTM Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x22b23f95b7a7a55187d8c502f5c2556f508b64a91b3c24e1bc6e280ffa5b5969Approve576644212023-03-16 0:14:0512 days 1 hr ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.004706254243
0x8c8f3580f14166090cfbf33716f72f852d3f6120b5c973dc392993f8198a5d55Approve570905272023-03-06 23:35:3221 days 2 hrs ago0x1133a383cd6aac49f1e63fbdd2e4807dbea27850 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.007222045516
0x1d894fd4e096bc46175131da769261127bf310290d092112c4a57eb87c586c04Approve570872442023-03-06 22:11:2121 days 3 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001262810545
0x08eefbdfd05271cc8e5687cb60b8821cb80031f0e468ac06f8643bcb5ab80806Approve568710162023-03-03 16:33:2624 days 9 hrs ago0x5e1f31f85344b72dfa6e1e4a37d8350a1a143fbb IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001250498402
0x988adcd49a4a2661cb5b99b05144e7835da851883b0887fddaadbfde7801f854Approve568709362023-03-03 16:31:5324 days 9 hrs ago0xb2a877632b8db0fc431cf47cbc5072aae3d0a26c IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001251240481
0x9e9f651e6c3c0ee7f38abea9eb5ab3f59783c5813b0b6f855442833c17e8e213Approve567959372023-03-02 13:48:2225 days 11 hrs ago0x1133a383cd6aac49f1e63fbdd2e4807dbea27850 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001570408305
0xb46a52a68944a84bff44f5b98289d3dfae7a668dfee63e151b5faa7c87d3823eApprove567539072023-03-01 22:22:4326 days 3 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001749185573
0x9bdff2aa0094d46bf2c6f24cce53da47dca3a526f795f0dcbc2d4a48d290ab0cApprove566676902023-02-28 12:30:2227 days 13 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.002127698866
0x2a43ad818b1e31e9e2f8663fa3d1f386259eeaa9608f0e1ae5bd21ad39398f3cApprove566210812023-02-27 18:39:4928 days 6 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.002282759887
0x9010c37522a04e3b74f36433ad9e90ac205c33808e7c49344e88d64f7fe487c4Approve563260152023-02-22 23:12:2833 days 2 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001197095085
0xadbb2ff6dfe671fc89e24a929aa23cb434d57c96e4a603f28b82c3c400405edcApprove554386902023-02-09 21:02:4346 days 4 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.005289824679
0xd922238076454b1f73259b87dc9fe461aab76f7ad053d73bee4549f9d9b6e687Approve548119272023-01-31 23:21:4755 days 2 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.007106762441
0xd8f93cc6915645c1d4aee5702c5a9acb9b2db35573b34bb776adfbdd97624369Approve548113262023-01-31 23:09:2955 days 2 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.002712963432
0x8b201b2c7798c18767514766e16da1bfe4c0cd6ab6c9143bc83afd32e4e6e21dApprove548112952023-01-31 23:08:4655 days 2 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.005167693663
0xdb4b981b30718d18c21e54a97332a80327217241725fb25a9a536834d66228d3Approve532371352023-01-04 21:42:1082 days 3 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001317062626
0xba058c59f774200743fd2a28644681c6802d51a0f03079851d1e297c09680d0aApprove531523542023-01-03 13:28:5083 days 12 hrs ago0x0e80e91f6fbdfcb7ee5fc4e0afe39a68306adc94 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.005277522484
0xd763cf4ba2697606cfa7642e0d14c72a5820ab26ded17b010915b0c4e0af81daApprove530552872022-12-31 13:58:3786 days 11 hrs ago0x7a29e882d24e29275e04e1d59653889375de1570 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.00406587181
0x6991b7e5577196b85a095c612e9c16c55c01cb64cade1b5b6ed02ef7e38071dfApprove530089512022-12-29 12:43:3788 days 12 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001835674638
0xe6c13d9ed0bc4fb36cbe5bc5eac3955fefcdfb1ab6e0cda3e96baa6971e489c8Approve530088902022-12-29 12:40:4088 days 12 hrs ago0xedb00816fb204b4cd9bcb45ff2ef693e99723484 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.002724389807
0x18f2eb7080fa01bd46865bdeb9e51cf6a672910a8d0dd98e2037e3ef7f3ecaebApprove529973392022-12-29 1:22:1089 days 14 mins ago0xcc81a58b59df2ee95acddea46eac0495fe4f1f5e IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001697743273
0x66f2579dc8b9dbffe7ad6c1bc709ebe4cac424d639e6aea80c067a796dcf499dApprove525635792022-12-20 2:02:2697 days 23 hrs ago0xa16eab5dbcac360e4c0bd1b94309401347257420 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.001086159513
0xa540558b8bc1ac1d81637de4aadd221c36b44d2e0554f14c83a73d8e0806f49cApprove525628792022-12-20 1:38:5997 days 23 hrs ago0x0e80e91f6fbdfcb7ee5fc4e0afe39a68306adc94 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.005384472403
0x29c739ec7c13d36f7140ee200eff886c27e7c3a94f7f626836071d2eb9588054Approve525114072022-12-18 15:09:2999 days 10 hrs ago0x0e80e91f6fbdfcb7ee5fc4e0afe39a68306adc94 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.004005147388
0x0bc4ba8b5a4882364bd12e9f6c0be5846005338126292e4ced37e2a679194017Approve525104192022-12-18 14:25:0699 days 11 hrs ago0x0e80e91f6fbdfcb7ee5fc4e0afe39a68306adc94 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.004006058747
0x702350ec7ca954c576c398cf23ef15257ab0d6b644ca9a802507946398f163ffApprove525101592022-12-18 14:13:5499 days 11 hrs ago0x0e80e91f6fbdfcb7ee5fc4e0afe39a68306adc94 IN  0x4c41bff37db389ba1edc7ed7e757059a1d08ceb50 FTM0.004006420858
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x8434869e628572ba61a809cd9dd4bd69717e6d4ad006337c572e993cc8fffc5a468783592022-09-13 13:25:39195 days 12 hrs ago 0xedb00816fb204b4cd9bcb45ff2ef693e99723484  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CherryToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at FtmScan.com on 2022-09-13
*/

// Cherry.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/**
 * Cherry Token (CHRY) contract
 *
 * ERC20 + burn() + mint()
 *
 * Burning:
 *  - token owners can burn their tokens
 *  - approved address can burn tokens from approvers
 *  - nobody else can burn tokens
 *
 * Minting:
 *  - only allowed to minter
 *  - only once per epoch
 *  - never mint more than 5% supply / epoch (unless low supply)
 *
 * Owner powers:
 *   - setMinter() as long as contract is not sealed
 *   - seal()      seal contract so that minter cannot be changed ever after
 */


abstract contract Ownable {

  // ==== Events      ====
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  // ==== Storage     ====
  // Private so it cannot be changed by inherited contracts
  address private _owner;


  // ==== Constructor ====
  constructor() {
    _transferOwnership(msg.sender);
  }


  // ==== Modifiers   ====
  modifier onlyOwner() {
    require(_owner == msg.sender, "Ownable: caller is not the owner");
    _;
  }


  // ==== Views       ====
  function owner() public view virtual returns (address) {
    return _owner;
  }


  // ==== Mutators    ====

  function renounceOwnership() public virtual onlyOwner {
    _transferOwnership(address(0));
  }

  function transferOwnership(address newOwner_) public virtual onlyOwner {
    require(newOwner_ != address(0), "Ownable: new owner is the zero address");
    _transferOwnership(newOwner_);
  }


  // ==== Internals   ====

  function _transferOwnership(address newOwner_) internal virtual {
    address oldOwner = owner();
    _owner = newOwner_;
    emit OwnershipTransferred(oldOwner, newOwner_);
  }
}


interface IERC20 {

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

    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 transfer(     address to,                uint256 amount)  external returns (bool);
    function approve(      address spender,           uint256 amount)  external returns (bool);
    function transferFrom( address from,  address to, uint256 amount ) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name()     external view returns (string memory);
    function symbol()   external view returns (string memory);
    function decimals() external view returns (uint8);
}


abstract contract ERC20 is IERC20, IERC20Metadata {

    // ==== Storage ====

    uint   private _totalSupply;

    // Strings cannot be immutable
    string private _name;
    string private _symbol;

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


    // ==== Constructor ====

    constructor(string memory name_, string memory symbol_) {
      _name = name_;
      _symbol = symbol_;
    }


    // ==== Views      ====

    function name() public view virtual override returns (string memory) {
      return _name;
    }

    function symbol() public view virtual override returns (string memory) {
      return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
      return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
      return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
      return _balances[account];
    }


    // ==== Mutators   ====

    /**
     * @dev See {IERC20-transfer}.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
      address owner = msg.sender;
      _transfer(owner, to, amount);
      return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
      return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = msg.sender;
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    // ==== Internals ====

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to   != address(0), "ERC20: transfer to the zero address");

        uint fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }


    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply       += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal 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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
}


// Minimal interface for Minter contract
interface IMinter {
  // returns the token address that the minter wants to mint
  function token() external view returns (address);
}


contract CherryToken is ERC20, Ownable {

  // ==== Constants ====
  uint    constant PERIOD    = 6 hours;
  uint    constant minSupply = 10000 ether;

  // ==== Storage   ====
  bool    public isSealed;
  uint32  public epoch;
  address public minter;


  // ==== Constructor ====
  constructor() ERC20("Cherry", "CHRY") {
      //   10 000 for initial liquidity pool
      // + 10 000 for airdrops and Cherrific team
      _mint(msg.sender, 20000 ether);
  }


  // ==== Governance  ====

  // seal contract for ever
  function seal() external onlyOwner {
    isSealed = true;
  }

  // set minter as long as contract isn't sealed
  function setMinter(address minter_) external onlyOwner {
    // function disabled once contract is sealed
    require( ! isSealed , "Contract is sealed");

    // Safeguard: make sure we set the correct minter
    // If this fails, it means minter is not set correctly
    require( IMinter(minter_).token() == address(this), "Minter not correctly set");

    minter = minter_;
  }


  // ==== Views    ====

  // Current epoch
  function getEpoch() public view returns (uint) {
    return block.timestamp / PERIOD;
  }


  // ==== Mutators ====

  // from OpenZeppelin
  function burn(uint256 amount) external returns (bool) {
    _burn(msg.sender, amount);
    return true;
  }

  // from OpenZeppelin
  function burnFrom(address account, uint256 amount) external returns (bool) {
    _spendAllowance(account, msg.sender, amount);
    _burn(account, amount);
    return true;
  }




  // only minter can mint
  function mint(address recipient_, uint256 amount_) external returns (bool) {

    require(msg.sender == minter, "Only minter can mint");

    uint newEpoch = getEpoch();
    require(newEpoch > epoch, "Mint only once per epoch");

    // all below code can only run once per epoch

    epoch = uint32(newEpoch);

    // make sure we don't mint too much
    uint supply = totalSupply();
    if (supply < minSupply) {
      // during low supply, we don't want to mint up to more than 120% minSupply
      require( supply + amount_ <= (minSupply * 120) / 100, "Minting too much while low supply");
    } else {
      // make sure minter does not go crazy
      // don't mint more than 5% of total supply per epoch
      // +5 if to allow for rounding errors on the minter side
      require( amount_ <= (supply / 20) + 5, "Don't mint > 5% supply per epoch");
    }

    _mint(recipient_, amount_);
    return true;
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"epoch","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isSealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"seal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"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"}]

60806040523480156200001157600080fd5b506040518060400160405280600681526020016543686572727960d01b815250604051806040016040528060048152602001634348525960e01b81525081600190816200005f919062000293565b5060026200006e828262000293565b50505062000082336200009e60201b60201c565b620000983369043c33c193756480000062000107565b62000387565b6000620000b36005546001600160a01b031690565b600580546001600160a01b0319166001600160a01b0385811691821790925560405192935091908316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001625760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806000808282546200017591906200035f565b90915550506001600160a01b03821660009081526003602052604081208054839290620001a49084906200035f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200021957607f821691505b6020821081036200023a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200028e57600081815260208120601f850160051c81016020861015620002695750805b601f850160051c820191505b818110156200028a5782815560010162000275565b5050505b505050565b81516001600160401b03811115620002af57620002af620001ee565b620002c781620002c0845462000204565b8462000240565b602080601f831160018114620002ff5760008415620002e65750858301515b600019600386901b1c1916600185901b1785556200028a565b600085815260208120601f198616915b8281101562000330578886015182559484019460019091019084016200030f565b50858210156200034f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200038157634e487b7160e01b600052601160045260246000fd5b92915050565b61147980620003976000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e357806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e14610340578063f2fde38b14610379578063fca3b5aa1461038c57600080fd5b806395d89b4114610312578063a457c2d71461031a578063a9059cbb1461032d57600080fd5b806379cc6790116100bd57806379cc6790146102c25780638da5cb5b146102d5578063900cf0cf146102e657600080fd5b806370a0823114610289578063715018a6146102b2578063757991a8146102ba57600080fd5b8063313ce5671161014557806340c10f191161011f57806340c10f191461024f57806342966c6814610262578063631f98521461027557600080fd5b8063313ce5671461022357806339509351146102325780633fb27b851461024557600080fd5b8063095ea7b311610176578063095ea7b3146101db57806318160ddd146101fe57806323b872dd1461021057600080fd5b806306fdde031461019257806307546172146101b0575b600080fd5b61019a61039f565b6040516101a79190611231565b60405180910390f35b6006546101c3906001600160a01b031681565b6040516001600160a01b0390911681526020016101a7565b6101ee6101e9366004611294565b610431565b60405190151581526020016101a7565b6000545b6040519081526020016101a7565b6101ee61021e3660046112c0565b61044b565b604051601281526020016101a7565b6101ee610240366004611294565b61046f565b61024d6104ae565b005b6101ee61025d366004611294565b61053d565b6101ee610270366004611301565b610763565b6005546101ee90600160a01b900460ff1681565b61020261029736600461131a565b6001600160a01b031660009081526003602052604090205490565b61024d610777565b6102026107dd565b6101ee6102d0366004611294565b6107f0565b6005546001600160a01b03166101c3565b6005546102fd90600160a81b900463ffffffff1681565b60405163ffffffff90911681526020016101a7565b61019a610810565b6101ee610328366004611294565b61081f565b6101ee61033b366004611294565b6108c9565b61020261034e36600461133e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61024d61038736600461131a565b6108d7565b61024d61039a36600461131a565b6109b9565b6060600180546103ae90611377565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90611377565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b5050505050905090565b60003361043f818585610b5e565b60019150505b92915050565b600033610459858285610cb7565b610464858585610d49565b506001949350505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490919061043f90829086906104a99087906113c7565b610b5e565b6005546001600160a01b0316331461050d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055565b6006546000906001600160a01b0316331461059a5760405162461bcd60e51b815260206004820152601460248201527f4f6e6c79206d696e7465722063616e206d696e740000000000000000000000006044820152606401610504565b60006105a46107dd565b600554909150600160a81b900463ffffffff1681116106055760405162461bcd60e51b815260206004820152601860248201527f4d696e74206f6e6c79206f6e6365207065722065706f636800000000000000006044820152606401610504565b600580547fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff16600160a81b63ffffffff84160217905560005469021e19e0c9bab24000008110156106f457606461066769021e19e0c9bab240000060786113da565b61067191906113f1565b61067b85836113c7565b11156106ef5760405162461bcd60e51b815260206004820152602160248201527f4d696e74696e6720746f6f206d756368207768696c65206c6f7720737570706c60448201527f79000000000000000000000000000000000000000000000000000000000000006064820152608401610504565b610759565b6106ff6014826113f1565b61070a9060056113c7565b8411156107595760405162461bcd60e51b815260206004820181905260248201527f446f6e2774206d696e74203e20352520737570706c79207065722065706f63686044820152606401610504565b6104648585610f61565b600061076f338361103f565b506001919050565b6005546001600160a01b031633146107d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610504565b6107db60006111bc565b565b60006107eb615460426113f1565b905090565b60006107fd833384610cb7565b610807838361103f565b50600192915050565b6060600280546103ae90611377565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909190838110156108bc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610504565b6104648286868403610b5e565b60003361043f818585610d49565b6005546001600160a01b031633146109315760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610504565b6001600160a01b0381166109ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610504565b6109b6816111bc565b50565b6005546001600160a01b03163314610a135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610504565b600554600160a01b900460ff1615610a6d5760405162461bcd60e51b815260206004820152601260248201527f436f6e7472616374206973207365616c656400000000000000000000000000006044820152606401610504565b306001600160a01b0316816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad99190611413565b6001600160a01b031614610b2f5760405162461bcd60e51b815260206004820152601860248201527f4d696e746572206e6f7420636f72726563746c792073657400000000000000006044820152606401610504565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610bd95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b038216610c555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038381166000908152600460209081526040808320938616835292905220546000198114610d435781811015610d365760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610504565b610d438484848403610b5e565b50505050565b6001600160a01b038316610dc55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b038216610e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b03831660009081526003602052604090205481811015610ed05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b03808516600090815260036020526040808220858503905591851681529081208054849290610f079084906113c7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f5391815260200190565b60405180910390a350505050565b6001600160a01b038216610fb75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610504565b80600080828254610fc891906113c7565b90915550506001600160a01b03821660009081526003602052604081208054839290610ff59084906113c7565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382166110bb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b0382166000908152600360205260409020548181101561114a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610504565b6001600160a01b0383166000908152600360205260408120838303905580548391908190611179908490611430565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610caa565b60006111d06005546001600160a01b031690565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385811691821790925560405192935091908316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b8181101561125e57858101830151858201604001528201611242565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109b657600080fd5b600080604083850312156112a757600080fd5b82356112b28161127f565b946020939093013593505050565b6000806000606084860312156112d557600080fd5b83356112e08161127f565b925060208401356112f08161127f565b929592945050506040919091013590565b60006020828403121561131357600080fd5b5035919050565b60006020828403121561132c57600080fd5b81356113378161127f565b9392505050565b6000806040838503121561135157600080fd5b823561135c8161127f565b9150602083013561136c8161127f565b809150509250929050565b600181811c9082168061138b57607f821691505b6020821081036113ab57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610445576104456113b1565b8082028115828204841417610445576104456113b1565b60008261140e57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561142557600080fd5b81516113378161127f565b81810381811115610445576104456113b156fea2646970667358221220fc7d9b6eaf9ff4b3c9e3f3c41e9dbfe640ca991992425e450d838265736b8a5564736f6c63430008110033

Deployed ByteCode Sourcemap

8590:2559:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3316:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8829:21;;;;;-1:-1:-1;;;;;8829:21:0;;;;;;-1:-1:-1;;;;;731:55:1;;;713:74;;701:2;686:18;8829:21:0;567:226:1;4651:199:0;;;;;;:::i;:::-;;:::i;:::-;;;1442:14:1;;1435:22;1417:41;;1405:2;1390:18;4651:199:0;1277:187:1;3631:106:0;3692:7;3717:12;3631:106;;;1615:25:1;;;1603:2;1588:18;3631:106:0;1469:177:1;4916:293:0;;;;;;:::i;:::-;;:::i;3532:91::-;;;3613:2;2254:36:1;;2242:2;2227:18;3532:91:0;2112:184:1;5319:236:0;;;;;;:::i;:::-;;:::i;9134:63::-;;;:::i;:::-;;10205:939;;;;;;:::i;:::-;;:::i;9847:110::-;;;;;;:::i;:::-;;:::i;8776:23::-;;;;;-1:-1:-1;;;8776:23:0;;;;;;3800:125;;;;;;:::i;:::-;-1:-1:-1;;;;;3899:18:0;3874:7;3899:18;;;:9;:18;;;;;;;3800:125;1253:97;;;:::i;9697:91::-;;;:::i;9987:179::-;;;;;;:::i;:::-;;:::i;1134:81::-;1203:6;;-1:-1:-1;;;;;1203:6:0;1134:81;;8804:20;;;;;-1:-1:-1;;;8804:20:0;;;;;;;;;2912:10:1;2900:23;;;2882:42;;2870:2;2855:18;8804:20:0;2738:192:1;3422:102:0;;;:::i;5665:434::-;;;;;;:::i;:::-;;:::i;4020:185::-;;;;;;:::i;:::-;;:::i;4268:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4382:18:0;;;4357:7;4382:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4268:149;1356:194;;;;;;:::i;:::-;;:::i;9253:389::-;;;;;;:::i;:::-;;:::i;3316:98::-;3370:13;3401:5;3394:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3316:98;:::o;4651:199::-;4734:4;4767:10;4788:32;4767:10;4804:7;4813:6;4788:8;:32::i;:::-;4838:4;4831:11;;;4651:199;;;;;:::o;4916:293::-;5047:4;5082:10;5103:38;5119:4;5082:10;5134:6;5103:15;:38::i;:::-;5152:27;5162:4;5168:2;5172:6;5152:9;:27::i;:::-;-1:-1:-1;5197:4:0;;4916:293;-1:-1:-1;;;;4916:293:0:o;5319:236::-;5440:10;5407:4;4382:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4382:27:0;;;;;;;;;;5407:4;;5440:10;5461:64;;5440:10;;4382:27;;5486:38;;5514:10;;5486:38;:::i;:::-;5461:8;:64::i;9134:63::-;1027:6;;-1:-1:-1;;;;;1027:6:0;1037:10;1027:20;1019:65;;;;-1:-1:-1;;;1019:65:0;;4291:2:1;1019:65:0;;;4273:21:1;;;4310:18;;;4303:30;4369:34;4349:18;;;4342:62;4421:18;;1019:65:0;;;;;;;;;9176:8:::1;:15:::0;;;::::1;-1:-1:-1::0;;;9176:15:0::1;::::0;;9134:63::o;10205:939::-;10311:6;;10274:4;;-1:-1:-1;;;;;10311:6:0;10297:10;:20;10289:53;;;;-1:-1:-1;;;10289:53:0;;4652:2:1;10289:53:0;;;4634:21:1;4691:2;4671:18;;;4664:30;4730:22;4710:18;;;4703:50;4770:18;;10289:53:0;4450:344:1;10289:53:0;10351:13;10367:10;:8;:10::i;:::-;10403:5;;10351:26;;-1:-1:-1;;;;10403:5:0;;;;10392:16;;10384:53;;;;-1:-1:-1;;;10384:53:0;;5001:2:1;10384:53:0;;;4983:21:1;5040:2;5020:18;;;5013:30;5079:26;5059:18;;;5052:54;5123:18;;10384:53:0;4799:348:1;10384:53:0;10499:5;:24;;;;-1:-1:-1;;;10499:24:0;;;;;;;-1:-1:-1;3717:12:0;8732:11;10611:18;;10607:479;;;10771:3;10752:15;8732:11;10764:3;10752:15;:::i;:::-;10751:23;;;;:::i;:::-;10731:16;10740:7;10731:6;:16;:::i;:::-;:43;;10722:90;;;;-1:-1:-1;;;10722:90:0;;5806:2:1;10722:90:0;;;5788:21:1;5845:2;5825:18;;;5818:30;5884:34;5864:18;;;5857:62;5955:3;5935:18;;;5928:31;5976:19;;10722:90:0;5604:397:1;10722:90:0;10607:479;;;11025:11;11034:2;11025:6;:11;:::i;:::-;11024:17;;11040:1;11024:17;:::i;:::-;11013:7;:28;;11004:74;;;;-1:-1:-1;;;11004:74:0;;6208:2:1;11004:74:0;;;6190:21:1;;;6227:18;;;6220:30;6286:34;6266:18;;;6259:62;6338:18;;11004:74:0;6006:356:1;11004:74:0;11094:26;11100:10;11112:7;11094:5;:26::i;9847:110::-;9895:4;9908:25;9914:10;9926:6;9908:5;:25::i;:::-;-1:-1:-1;9947:4:0;;9847:110;-1:-1:-1;9847:110:0:o;1253:97::-;1027:6;;-1:-1:-1;;;;;1027:6:0;1037:10;1027:20;1019:65;;;;-1:-1:-1;;;1019:65:0;;4291:2:1;1019:65:0;;;4273:21:1;;;4310:18;;;4303:30;4369:34;4349:18;;;4342:62;4421:18;;1019:65:0;4089:356:1;1019:65:0;1314:30:::1;1341:1;1314:18;:30::i;:::-;1253:97::o:0;9697:91::-;9738:4;9758:24;8691:7;9758:15;:24;:::i;:::-;9751:31;;9697:91;:::o;9987:179::-;10056:4;10069:44;10085:7;10094:10;10106:6;10069:15;:44::i;:::-;10120:22;10126:7;10135:6;10120:5;:22::i;:::-;-1:-1:-1;10156:4:0;9987:179;;;;:::o;3422:102::-;3478:13;3509:7;3502:14;;;;;:::i;5665:434::-;5791:10;5758:4;4382:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4382:27:0;;;;;;;;;;5758:4;;5791:10;5903:15;5883:16;:35;;5875:85;;;;-1:-1:-1;;;5875:85:0;;6569:2:1;5875:85:0;;;6551:21:1;6608:2;6588:18;;;6581:30;6647:34;6627:18;;;6620:62;6718:7;6698:18;;;6691:35;6743:19;;5875:85:0;6367:401:1;5875:85:0;5996:60;6005:5;6012:7;6040:15;6021:16;:34;5996:8;:60::i;4020:185::-;4099:4;4130:10;4149:28;4130:10;4166:2;4170:6;4149:9;:28::i;1356:194::-;1027:6;;-1:-1:-1;;;;;1027:6:0;1037:10;1027:20;1019:65;;;;-1:-1:-1;;;1019:65:0;;4291:2:1;1019:65:0;;;4273:21:1;;;4310:18;;;4303:30;4369:34;4349:18;;;4342:62;4421:18;;1019:65:0;4089:356:1;1019:65:0;-1:-1:-1;;;;;1442:23:0;::::1;1434:74;;;::::0;-1:-1:-1;;;1434:74:0;;6975:2:1;1434:74:0::1;::::0;::::1;6957:21:1::0;7014:2;6994:18;;;6987:30;7053:34;7033:18;;;7026:62;7124:8;7104:18;;;7097:36;7150:19;;1434:74:0::1;6773:402:1::0;1434:74:0::1;1515:29;1534:9;1515:18;:29::i;:::-;1356:194:::0;:::o;9253:389::-;1027:6;;-1:-1:-1;;;;;1027:6:0;1037:10;1027:20;1019:65;;;;-1:-1:-1;;;1019:65:0;;4291:2:1;1019:65:0;;;4273:21:1;;;4310:18;;;4303:30;4369:34;4349:18;;;4342:62;4421:18;;1019:65:0;4089:356:1;1019:65:0;9376:8:::1;::::0;-1:-1:-1;;;9376:8:0;::::1;;;9374:10;9365:43;;;::::0;-1:-1:-1;;;9365:43:0;;7382:2:1;9365:43:0::1;::::0;::::1;7364:21:1::0;7421:2;7401:18;;;7394:30;7460:20;7440:18;;;7433:48;7498:18;;9365:43:0::1;7180:342:1::0;9365:43:0::1;9577:4;-1:-1:-1::0;;;;;9541:41:0::1;9549:7;-1:-1:-1::0;;;;;9541:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9541:41:0::1;;9532:79;;;::::0;-1:-1:-1;;;9532:79:0;;7985:2:1;9532:79:0::1;::::0;::::1;7967:21:1::0;8024:2;8004:18;;;7997:30;8063:26;8043:18;;;8036:54;8107:18;;9532:79:0::1;7783:348:1::0;9532:79:0::1;9620:6;:16:::0;;-1:-1:-1;;9620:16:0::1;-1:-1:-1::0;;;;;9620:16:0;;;::::1;::::0;;;::::1;::::0;;9253:389::o;7556:382::-;-1:-1:-1;;;;;7692:21:0;;7684:70;;;;-1:-1:-1;;;7684:70:0;;8338:2:1;7684:70:0;;;8320:21:1;8377:2;8357:18;;;8350:30;8416:34;8396:18;;;8389:62;8487:6;8467:18;;;8460:34;8511:19;;7684:70:0;8136:400:1;7684:70:0;-1:-1:-1;;;;;7773:21:0;;7765:68;;;;-1:-1:-1;;;7765:68:0;;8743:2:1;7765:68:0;;;8725:21:1;8782:2;8762:18;;;8755:30;8821:34;8801:18;;;8794:62;8892:4;8872:18;;;8865:32;8914:19;;7765:68:0;8541:398:1;7765:68:0;-1:-1:-1;;;;;7846:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7898:32;;1615:25:1;;;7898:32:0;;1588:18:1;7898:32:0;;;;;;;;7556:382;;;:::o;7946:450::-;-1:-1:-1;;;;;4382:18:0;;;8081:21;4382:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;8145:37:0;;8141:248;;8227:6;8207:16;:26;;8199:68;;;;-1:-1:-1;;;8199:68:0;;9146:2:1;8199:68:0;;;9128:21:1;9185:2;9165:18;;;9158:30;9224:31;9204:18;;;9197:59;9273:18;;8199:68:0;8944:353:1;8199:68:0;8311:51;8320:5;8327:7;8355:6;8336:16;:25;8311:8;:51::i;:::-;8070:326;7946:450;;;:::o;6214:569::-;-1:-1:-1;;;;;6345:18:0;;6337:68;;;;-1:-1:-1;;;6337:68:0;;9504:2:1;6337:68:0;;;9486:21:1;9543:2;9523:18;;;9516:30;9582:34;9562:18;;;9555:62;9653:7;9633:18;;;9626:35;9678:19;;6337:68:0;9302:401:1;6337:68:0;-1:-1:-1;;;;;6424:18:0;;6416:66;;;;-1:-1:-1;;;6416:66:0;;9910:2:1;6416:66:0;;;9892:21:1;9949:2;9929:18;;;9922:30;9988:34;9968:18;;;9961:62;10059:5;10039:18;;;10032:33;10082:19;;6416:66:0;9708:399:1;6416:66:0;-1:-1:-1;;;;;6514:15:0;;6495:16;6514:15;;;:9;:15;;;;;;6548:21;;;;6540:72;;;;-1:-1:-1;;;6540:72:0;;10314:2:1;6540:72:0;;;10296:21:1;10353:2;10333:18;;;10326:30;10392:34;10372:18;;;10365:62;10463:8;10443:18;;;10436:36;10489:19;;6540:72:0;10112:402:1;6540:72:0;-1:-1:-1;;;;;6648:15:0;;;;;;;:9;:15;;;;;;6666:20;;;6648:38;;6708:13;;;;;;;;:23;;6680:6;;6648:15;6708:23;;6680:6;;6708:23;:::i;:::-;;;;;;;;6764:2;-1:-1:-1;;;;;6749:26:0;6758:4;-1:-1:-1;;;;;6749:26:0;;6768:6;6749:26;;;;1615:25:1;;1603:2;1588:18;;1469:177;6749:26:0;;;;;;;;6326:457;6214:569;;;:::o;6793:282::-;-1:-1:-1;;;;;6877:21:0;;6869:65;;;;-1:-1:-1;;;6869:65:0;;10721:2:1;6869:65:0;;;10703:21:1;10760:2;10740:18;;;10733:30;10799:33;10779:18;;;10772:61;10850:18;;6869:65:0;10519:355:1;6869:65:0;6969:6;6947:12;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6986:18:0;;;;;;:9;:18;;;;;:28;;7008:6;;6986:18;:28;;7008:6;;6986:28;:::i;:::-;;;;-1:-1:-1;;7030:37:0;;1615:25:1;;;-1:-1:-1;;;;;7030:37:0;;;7047:1;;7030:37;;1603:2:1;1588:18;7030:37:0;;;;;;;6793:282;;:::o;7083:465::-;-1:-1:-1;;;;;7167:21:0;;7159:67;;;;-1:-1:-1;;;7159:67:0;;11081:2:1;7159:67:0;;;11063:21:1;11120:2;11100:18;;;11093:30;11159:34;11139:18;;;11132:62;11230:3;11210:18;;;11203:31;11251:19;;7159:67:0;10879:397:1;7159:67:0;-1:-1:-1;;;;;7261:18:0;;7239:19;7261:18;;;:9;:18;;;;;;7298:24;;;;7290:71;;;;-1:-1:-1;;;7290:71:0;;11483:2:1;7290:71:0;;;11465:21:1;11522:2;11502:18;;;11495:30;11561:34;11541:18;;;11534:62;11632:4;11612:18;;;11605:32;11654:19;;7290:71:0;11281:398:1;7290:71:0;-1:-1:-1;;;;;7397:18:0;;;;;;:9;:18;;;;;7418:23;;;7397:44;;7463:22;;7435:6;;7397:18;;;7463:22;;7435:6;;7463:22;:::i;:::-;;;;-1:-1:-1;;7503:37:0;;1615:25:1;;;7529:1:0;;-1:-1:-1;;;;;7503:37:0;;;;;1603:2:1;1588:18;7503:37:0;1469:177:1;1588:181:0;1659:16;1678:7;1203:6;;-1:-1:-1;;;;;1203:6:0;;1134:81;1678:7;1692:6;:18;;-1:-1:-1;;1692:18:0;-1:-1:-1;;;;;1692:18:0;;;;;;;;;1722:41;;1659:26;;-1:-1:-1;1692:18:0;1722:41;;;;;;-1:-1:-1;;1722:41:0;1652:117;1588:181;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;798:154::-;-1:-1:-1;;;;;877:5:1;873:54;866:5;863:65;853:93;;942:1;939;932:12;957:315;1025:6;1033;1086:2;1074:9;1065:7;1061:23;1057:32;1054:52;;;1102:1;1099;1092:12;1054:52;1141:9;1128:23;1160:31;1185:5;1160:31;:::i;:::-;1210:5;1262:2;1247:18;;;;1234:32;;-1:-1:-1;;;957:315:1:o;1651:456::-;1728:6;1736;1744;1797:2;1785:9;1776:7;1772:23;1768:32;1765:52;;;1813:1;1810;1803:12;1765:52;1852:9;1839:23;1871:31;1896:5;1871:31;:::i;:::-;1921:5;-1:-1:-1;1978:2:1;1963:18;;1950:32;1991:33;1950:32;1991:33;:::i;:::-;1651:456;;2043:7;;-1:-1:-1;;;2097:2:1;2082:18;;;;2069:32;;1651:456::o;2301:180::-;2360:6;2413:2;2401:9;2392:7;2388:23;2384:32;2381:52;;;2429:1;2426;2419:12;2381:52;-1:-1:-1;2452:23:1;;2301:180;-1:-1:-1;2301:180:1:o;2486:247::-;2545:6;2598:2;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2653:9;2640:23;2672:31;2697:5;2672:31;:::i;:::-;2722:5;2486:247;-1:-1:-1;;;2486:247:1:o;2935:388::-;3003:6;3011;3064:2;3052:9;3043:7;3039:23;3035:32;3032:52;;;3080:1;3077;3070:12;3032:52;3119:9;3106:23;3138:31;3163:5;3138:31;:::i;:::-;3188:5;-1:-1:-1;3245:2:1;3230:18;;3217:32;3258:33;3217:32;3258:33;:::i;:::-;3310:7;3300:17;;;2935:388;;;;;:::o;3328:437::-;3407:1;3403:12;;;;3450;;;3471:61;;3525:4;3517:6;3513:17;3503:27;;3471:61;3578:2;3570:6;3567:14;3547:18;3544:38;3541:218;;-1:-1:-1;;;3612:1:1;3605:88;3716:4;3713:1;3706:15;3744:4;3741:1;3734:15;3541:218;;3328:437;;;:::o;3770:184::-;-1:-1:-1;;;3819:1:1;3812:88;3919:4;3916:1;3909:15;3943:4;3940:1;3933:15;3959:125;4024:9;;;4045:10;;;4042:36;;;4058:18;;:::i;5152:168::-;5225:9;;;5256;;5273:15;;;5267:22;;5253:37;5243:71;;5294:18;;:::i;5325:274::-;5365:1;5391;5381:189;;-1:-1:-1;;;5423:1:1;5416:88;5527:4;5524:1;5517:15;5555:4;5552:1;5545:15;5381:189;-1:-1:-1;5584:9:1;;5325:274::o;7527:251::-;7597:6;7650:2;7638:9;7629:7;7625:23;7621:32;7618:52;;;7666:1;7663;7656:12;7618:52;7698:9;7692:16;7717:31;7742:5;7717:31;:::i;11684:128::-;11751:9;;;11772:11;;;11769:37;;;11786:18;;:::i

Swarm Source

ipfs://fc7d9b6eaf9ff4b3c9e3f3c41e9dbfe640ca991992425e450d838265736b8a55
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.