ETH Price: $3,203.01 (+5.09%)

Token

DSD Coupon Pool 2 (DPOOL2)
 

Overview

Max Total Supply

10,353.7009188536241 DPOOL2

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
0 DPOOL2

Value
$0.00
0x0000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PooledDSDCoupons

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-01-14
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.6.0;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


interface IDSDS {
  function epoch() external view returns (uint256);
  function couponsExpiration(uint256 epoch) external view returns (uint256);
  function transferCoupons(address sender, address recipient, uint256 epoch, uint256 amount) external;
}

contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () internal {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

contract PooledDSDCoupons is ReentrancyGuard {

  using SafeMath for uint;

  IDSDS public DSDS = IDSDS(0x6Bf977ED1A09214E6209F4EA5f525261f1A2690a);
  address public owner;

  uint public totalSupply;
  string public constant name = "DSD Coupon Pool 2";
  string public constant symbol = "DPOOL2";
  uint8 public constant decimals = 18;
  uint public constant WRAP_FEE_BPS = 100;

  mapping (address => uint) public balanceOf;
  mapping (address => mapping (address => uint)) public allowance;

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

  constructor() public {
    owner = msg.sender;
  }

  function wrap(uint _epoch, uint _amount) public nonReentrant {
    uint expiresIn = DSDS.couponsExpiration(_epoch).sub(DSDS.epoch());
    require(expiresIn >= 12, "PooledDSDCoupons: coupon expires in less than 12 epochs");

    //fee 1% for over 120 epochs and up to 10% for shorter expiry
    uint feeMultiplier = expiresIn.div(12);
    if (feeMultiplier > 10) {feeMultiplier = 1;} else {feeMultiplier = 11 - feeMultiplier;}  

    uint fee = _amount.mul(feeMultiplier).mul(WRAP_FEE_BPS).div(10000);
    _mint(owner, fee);
    _mint(msg.sender, _amount.sub(fee));
    DSDS.transferCoupons(msg.sender, address(this), _epoch, _amount);
  }

  function unwrap(uint _epoch, uint _amount) public nonReentrant {
    _burn(msg.sender, _amount);
    DSDS.transferCoupons(address(this), msg.sender, _epoch, _amount);
  }

  // ERC20 functions

  function approve(address _spender, uint _amount) public returns (bool) {
    _approve(msg.sender, _spender, _amount);
    return true;
  }

  function transfer(address _recipient, uint _amount) public returns (bool) {
    _transfer(msg.sender, _recipient, _amount);
    return true;
  }

  function transferFrom(address _sender, address _recipient, uint _amount) public returns (bool) {
    _transfer(_sender, _recipient, _amount);
    _approve(_sender, msg.sender, allowance[_sender][msg.sender].sub(_amount, "ERC20: transfer amount exceeds allowance"));
    return true;
  }

  function _transfer(
    address _sender,
    address _recipient,
    uint _amount
  ) internal {
    require(_sender != address(0), "ERC20: transfer from the zero address");
    require(_recipient != address(0), "ERC20: transfer to the zero address");

    balanceOf[_sender] = balanceOf[_sender].sub(_amount, "ERC20: transfer amount exceeds balance");
    balanceOf[_recipient] = balanceOf[_recipient].add(_amount);

    emit Transfer(_sender, _recipient, _amount);
  }

  function _mint(address _account, uint _amount) internal {
    require(_account != address(0), "ERC20: mint to the zero address");

    totalSupply = totalSupply.add(_amount);
    balanceOf[_account] = balanceOf[_account].add(_amount);
    emit Transfer(address(0), _account, _amount);
  }

  function _burn(address _account, uint _amount) internal {
    require(_account != address(0), "ERC20: burn to the zero address");

    totalSupply = totalSupply.sub(_amount);
    balanceOf[_account] = balanceOf[_account].sub(_amount);
    emit Transfer(_account, address(0), _amount);
  }

  function _approve(address _owner, address _spender, uint _amount) internal {
    require(_owner != address(0), "ERC20: approve from the zero address");
    require(_spender != address(0), "ERC20: approve to the zero address");

    allowance[_owner][_spender] = _amount;
    emit Approval(_owner, _spender, _amount);
  }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DSDS","outputs":[{"internalType":"contract IDSDS","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WRAP_FEE_BPS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":"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":"_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":"uint256","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unwrap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"wrap","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052736bf977ed1a09214e6209f4ea5f525261f1a2690a600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b50600160008190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506119d2806100be6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636e2866711161008c57806395d89b411161006657806395d89b41146103d0578063a9059cbb14610453578063bd4c0dc5146104b9578063dd62ed3e14610503576100ea565b80636e286671146102f657806370a082311461032e5780638da5cb5b14610386576100ea565b806323b872dd116100c857806323b872dd146101f657806325ded5861461027c578063313ce567146102b45780633aaee2ee146102d8576100ea565b806306fdde03146100ef578063095ea7b31461017257806318160ddd146101d8575b600080fd5b6100f761057b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013757808201518184015260208101905061011c565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101be6004803603604081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b4565b604051808215151515815260200191505060405180910390f35b6101e06105cb565b6040518082815260200191505060405180910390f35b6102626004803603606081101561020c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d1565b604051808215151515815260200191505060405180910390f35b6102b26004803603604081101561029257600080fd5b81019080803590602001909291908035906020019092919050505061069c565b005b6102bc610a9f565b604051808260ff1660ff16815260200191505060405180910390f35b6102e0610aa4565b6040518082815260200191505060405180910390f35b61032c6004803603604081101561030c57600080fd5b810190808035906020019092919080359060200190929190505050610aa9565b005b6103706004803603602081101561034457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c3c565b6040518082815260200191505060405180910390f35b61038e610c54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d8610c7a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104185780820151818401526020810190506103fd565b50505050905090810190601f1680156104455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61049f6004803603604081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb3565b604051808215151515815260200191505060405180910390f35b6104c1610cca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105656004803603604081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf0565b6040518082815260200191505060405180910390f35b6040518060400160405280601181526020017f44534420436f75706f6e20506f6f6c203200000000000000000000000000000081525081565b60006105c1338484610d15565b6001905092915050565b60035481565b60006105de848484610f0c565b610691843361068c8560405180606001604052806028815260200161192c60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111c69092919063ffffffff16565b610d15565b600190509392505050565b60026000541415610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60026000819055506000610881600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663900cf0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561078a57600080fd5b505afa15801561079e573d6000803e3d6000fd5b505050506040513d60208110156107b457600080fd5b8101908080519060200190929190505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166310e95b6c866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b810190808051906020019092919050505061128690919063ffffffff16565b9050600c8110156108dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806118f56037913960400191505060405180910390fd5b60006108f3600c836112d090919063ffffffff16565b9050600a811115610907576001905061090e565b80600b0390505b600061094a61271061093c606461092e868961131a90919063ffffffff16565b61131a90919063ffffffff16565b6112d090919063ffffffff16565b9050610978600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826113a0565b6109943361098f838761128690919063ffffffff16565b6113a0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16625edd37333088886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505060016000819055505050565b601281565b606481565b60026000541415610b22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550610b34338261155d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16625edd37303385856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015610c1857600080fd5b505af1158015610c2c573d6000803e3d6000fd5b5050505060016000819055505050565b60046020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600681526020017f44504f4f4c32000000000000000000000000000000000000000000000000000081525081565b6000610cc0338484610f0c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806119796024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061188c6022913960400191505060405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806119546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806118696023913960400191505060405180910390fd5b611084816040518060600160405280602681526020016118ae60269139600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111c69092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111981600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611273576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561123857808201518184015260208101905061121d565b50505050905090810190601f1680156112655780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60006112c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c6565b905092915050565b600061131283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b905092915050565b60008083141561132d576000905061139a565b600082840290508284828161133e57fe5b0414611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806118d46021913960400191505060405180910390fd5b809150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6114588160035461171a90919063ffffffff16565b6003819055506114b081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206275726e20746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6116158160035461128690919063ffffffff16565b60038190555061166d81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461128690919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808311829061184e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118135780820151818401526020810190506117f8565b50505050905090810190601f1680156118405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161185a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77506f6f6c6564445344436f75706f6e733a20636f75706f6e206578706972657320696e206c657373207468616e2031322065706f63687345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220a125e544fc02914495839027d1df5bc07c7c34c288eec389b8c1ecee74cba91964736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636e2866711161008c57806395d89b411161006657806395d89b41146103d0578063a9059cbb14610453578063bd4c0dc5146104b9578063dd62ed3e14610503576100ea565b80636e286671146102f657806370a082311461032e5780638da5cb5b14610386576100ea565b806323b872dd116100c857806323b872dd146101f657806325ded5861461027c578063313ce567146102b45780633aaee2ee146102d8576100ea565b806306fdde03146100ef578063095ea7b31461017257806318160ddd146101d8575b600080fd5b6100f761057b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013757808201518184015260208101905061011c565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101be6004803603604081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b4565b604051808215151515815260200191505060405180910390f35b6101e06105cb565b6040518082815260200191505060405180910390f35b6102626004803603606081101561020c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d1565b604051808215151515815260200191505060405180910390f35b6102b26004803603604081101561029257600080fd5b81019080803590602001909291908035906020019092919050505061069c565b005b6102bc610a9f565b604051808260ff1660ff16815260200191505060405180910390f35b6102e0610aa4565b6040518082815260200191505060405180910390f35b61032c6004803603604081101561030c57600080fd5b810190808035906020019092919080359060200190929190505050610aa9565b005b6103706004803603602081101561034457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c3c565b6040518082815260200191505060405180910390f35b61038e610c54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d8610c7a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104185780820151818401526020810190506103fd565b50505050905090810190601f1680156104455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61049f6004803603604081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb3565b604051808215151515815260200191505060405180910390f35b6104c1610cca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105656004803603604081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf0565b6040518082815260200191505060405180910390f35b6040518060400160405280601181526020017f44534420436f75706f6e20506f6f6c203200000000000000000000000000000081525081565b60006105c1338484610d15565b6001905092915050565b60035481565b60006105de848484610f0c565b610691843361068c8560405180606001604052806028815260200161192c60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111c69092919063ffffffff16565b610d15565b600190509392505050565b60026000541415610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60026000819055506000610881600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663900cf0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561078a57600080fd5b505afa15801561079e573d6000803e3d6000fd5b505050506040513d60208110156107b457600080fd5b8101908080519060200190929190505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166310e95b6c866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b810190808051906020019092919050505061128690919063ffffffff16565b9050600c8110156108dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806118f56037913960400191505060405180910390fd5b60006108f3600c836112d090919063ffffffff16565b9050600a811115610907576001905061090e565b80600b0390505b600061094a61271061093c606461092e868961131a90919063ffffffff16565b61131a90919063ffffffff16565b6112d090919063ffffffff16565b9050610978600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826113a0565b6109943361098f838761128690919063ffffffff16565b6113a0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16625edd37333088886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505060016000819055505050565b601281565b606481565b60026000541415610b22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550610b34338261155d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16625edd37303385856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015610c1857600080fd5b505af1158015610c2c573d6000803e3d6000fd5b5050505060016000819055505050565b60046020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600681526020017f44504f4f4c32000000000000000000000000000000000000000000000000000081525081565b6000610cc0338484610f0c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806119796024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061188c6022913960400191505060405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806119546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806118696023913960400191505060405180910390fd5b611084816040518060600160405280602681526020016118ae60269139600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111c69092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111981600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611273576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561123857808201518184015260208101905061121d565b50505050905090810190601f1680156112655780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60006112c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c6565b905092915050565b600061131283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b905092915050565b60008083141561132d576000905061139a565b600082840290508284828161133e57fe5b0414611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806118d46021913960400191505060405180910390fd5b809150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6114588160035461171a90919063ffffffff16565b6003819055506114b081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206275726e20746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6116158160035461128690919063ffffffff16565b60038190555061166d81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461128690919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808311829061184e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118135780820151818401526020810190506117f8565b50505050905090810190601f1680156118405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161185a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77506f6f6c6564445344436f75706f6e733a20636f75706f6e206578706972657320696e206c657373207468616e2031322065706f63687345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220a125e544fc02914495839027d1df5bc07c7c34c288eec389b8c1ecee74cba91964736f6c63430006000033

Deployed Bytecode Sourcemap

6883:3597:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6883:3597:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7094:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7094:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8467:141;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8467:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7066:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8767:290;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8767:290:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7608:650;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7608:650:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7193:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7233:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8264:173;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8264:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7279:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7279:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7039:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7148:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7148:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8614:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8614:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6965:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7326:63;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7326:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7094:49;;;;;;;;;;;;;;;;;;;:::o;8467:141::-;8532:4;8545:39;8554:10;8566:8;8576:7;8545:8;:39::i;:::-;8598:4;8591:11;;8467:141;;;;:::o;7066:23::-;;;;:::o;8767:290::-;8856:4;8869:39;8879:7;8888:10;8900:7;8869:9;:39::i;:::-;8915:118;8924:7;8933:10;8945:87;8980:7;8945:87;;;;;;;;;;;;;;;;;:9;:18;8955:7;8945:18;;;;;;;;;;;;;;;:30;8964:10;8945:30;;;;;;;;;;;;;;;;:34;;:87;;;;;:::i;:::-;8915:8;:118::i;:::-;9047:4;9040:11;;8767:290;;;;;:::o;7608:650::-;5928:1;6534:7;;:19;;6526:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:1;6667:7;:18;;;;7676:14:::1;7693:48;7728:4;;;;;;;;;;;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;7728:12:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;7728:12:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;7728:12:0;;;;;;;;;;;;;;;;7693:4;;;;;;;;;;;:22;;;7716:6;7693:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;7693:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;7693:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;7693:30:0;;;;;;;;;;;;;;;;:34;;:48;;;;:::i;:::-;7676:65;;7769:2;7756:9;:15;;7748:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7907:18;7928:17;7942:2;7928:9;:13;;:17;;;;:::i;:::-;7907:38;;7972:2;7956:13;:18;7952:87;;;7993:1;7977:17;;7952:87;;;8024:13;8019:2;:18;8003:34;;7952:87;8049:8;8060:55;8109:5;8060:44;7269:3;8060:26;8072:13;8060:7;:11;;:26;;;;:::i;:::-;:30;;:44;;;;:::i;:::-;:48;;:55;;;;:::i;:::-;8049:66;;8122:17;8128:5;;;;;;;;;;;8135:3;8122:5;:17::i;:::-;8146:35;8152:10;8164:16;8176:3;8164:7;:11;;:16;;;;:::i;:::-;8146:5;:35::i;:::-;8188:4;;;;;;;;;;;:20;;;8209:10;8229:4;8236:6;8244:7;8188:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;8188:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;8188:64:0;;;;6698:1;;;5884::::0;6846:7;:22;;;;7608:650;;:::o;7193:35::-;7226:2;7193:35;:::o;7233:39::-;7269:3;7233:39;:::o;8264:173::-;5928:1;6534:7;;:19;;6526:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:1;6667:7;:18;;;;8334:26:::1;8340:10;8352:7;8334:5;:26::i;:::-;8367:4;;;;;;;;;;;:20;;;8396:4;8403:10;8415:6;8423:7;8367:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;8367:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;8367:64:0;;;;5884:1:::0;6846:7;:22;;;;8264:173;;:::o;7279:42::-;;;;;;;;;;;;;;;;;:::o;7039:20::-;;;;;;;;;;;;;:::o;7148:40::-;;;;;;;;;;;;;;;;;;;:::o;8614:147::-;8682:4;8695:42;8705:10;8717;8729:7;8695:9;:42::i;:::-;8751:4;8744:11;;8614:147;;;;:::o;6965:69::-;;;;;;;;;;;;;:::o;7326:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10151:326::-;10259:1;10241:20;;:6;:20;;;;10233:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10337:1;10317:22;;:8;:22;;;;10309:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10417:7;10387:9;:17;10397:6;10387:17;;;;;;;;;;;;;;;:27;10405:8;10387:27;;;;;;;;;;;;;;;:37;;;;10453:8;10436:35;;10445:6;10436:35;;;10463:7;10436:35;;;;;;;;;;;;;;;;;;10151:326;;;:::o;9063:482::-;9196:1;9177:21;;:7;:21;;;;9169:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9277:1;9255:24;;:10;:24;;;;9247:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9349:73;9372:7;9349:73;;;;;;;;;;;;;;;;;:9;:18;9359:7;9349:18;;;;;;;;;;;;;;;;:22;;:73;;;;;:::i;:::-;9328:9;:18;9338:7;9328:18;;;;;;;;;;;;;;;:94;;;;9453:34;9479:7;9453:9;:21;9463:10;9453:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;9429:9;:21;9439:10;9429:21;;;;;;;;;;;;;;;:58;;;;9519:10;9501:38;;9510:7;9501:38;;;9531:7;9501:38;;;;;;;;;;;;;;;;;;9063:482;;;:::o;1235:192::-;1321:7;1354:1;1349;:6;;1357:12;1341:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1341:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1381:9;1397:1;1393;:5;1381:17;;1418:1;1411:8;;;1235:192;;;;;:::o;796:136::-;854:7;881:43;885:1;888;881:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;874:50;;796:136;;;;:::o;2633:132::-;2691:7;2718:39;2722:1;2725;2718:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2711:46;;2633:132;;;;:::o;1686:471::-;1744:7;1994:1;1989;:6;1985:47;;;2019:1;2012:8;;;;1985:47;2044:9;2060:1;2056;:5;2044:17;;2089:1;2084;2080;:5;;;;;;:10;2072:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2148:1;2141:8;;;1686:471;;;;;:::o;9551:294::-;9642:1;9622:22;;:8;:22;;;;9614:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9703:24;9719:7;9703:11;;:15;;:24;;;;:::i;:::-;9689:11;:38;;;;9756:32;9780:7;9756:9;:19;9766:8;9756:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;9734:9;:19;9744:8;9734:19;;;;;;;;;;;;;;;:54;;;;9821:8;9800:39;;9817:1;9800:39;;;9831:7;9800:39;;;;;;;;;;;;;;;;;;9551:294;;:::o;9851:::-;9942:1;9922:22;;:8;:22;;;;9914:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10003:24;10019:7;10003:11;;:15;;:24;;;;:::i;:::-;9989:11;:38;;;;10056:32;10080:7;10056:9;:19;10066:8;10056:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;10034:9;:19;10044:8;10034:19;;;;;;;;;;;;;;;:54;;;;10127:1;10100:39;;10109:8;10100:39;;;10131:7;10100:39;;;;;;;;;;;;;;;;;;9851:294;;:::o;332:181::-;390:7;410:9;426:1;422;:5;410:17;;451:1;446;:6;;438:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:1;497:8;;;332:181;;;;:::o;3261:278::-;3347:7;3379:1;3375;:5;3382:12;3367:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3367:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:9;3422:1;3418;:5;;;;;;3406:17;;3530:1;3523:8;;;3261:278;;;;;:::o

Swarm Source

ipfs://a125e544fc02914495839027d1df5bc07c7c34c288eec389b8c1ecee74cba919
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.