ETH Price: $3,056.02 (-4.24%)

Token

Artchain Global Token (ACG)
 

Overview

Max Total Supply

3,500,000,000 ACG

Holders

6,693

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
50 ACG

Value
$0.00
0x9c36dd291066427e9e0309c913cfbf5ec62a38d5
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

ArtChain Global - ACG is a revolution in registration, tracking, protection and accountability for artwork.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ArtChainToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-28
*/

pragma solidity ^0.4.21;
/**
 * Overflow aware uint math functions.
 *
 * Inspired by https://github.com/MakerDAO/maker-otc/blob/master/contracts/simple_market.sol
 */
contract SafeMath {
  //internals

  function safeMul(uint a, uint b) internal pure returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function safeSub(uint a, uint b) internal pure returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function safeAdd(uint a, uint b) internal pure returns (uint) {
    uint c = a + b;
    assert(c>=a && c>=b);
    return c;
  }

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);
  event Burn(address indexed _from, uint256 _value);
}




/**
 * ERC 20 token
 *
 * https://github.com/ethereum/EIPs/issues/20
 */
contract StandardToken is SafeMath {

    /**
     * Reviewed:
     * - Interger overflow = OK, checked
     */
    function transfer(address _to, uint256 _value) public returns (bool success) {

        require(_to != 0X0);

        // 如果 from 地址中 没有那么多的 token, 停止交易
        // 如果 这个转账 数量 是 负数, 停止交易
        if (balances[msg.sender] >= _value && balances[msg.sender] - _value < balances[msg.sender]) {

            // sender的户头 减去 对应token的数量, 使用 safemath 交易
            balances[msg.sender] = super.safeSub(balances[msg.sender], _value);
            // receiver的户头 增加 对应token的数量, 使用 safemath 交易
            balances[_to] = super.safeAdd(balances[_to], _value);

            emit Transfer(msg.sender, _to, _value);//呼叫event
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {

        require(_to != 0X0);

        // 如果 from 地址中 没有那么多的 token, 停止交易
        // 如果 from 地址的owner, 给这个msg.sender的权限没有这么多的token,停止交易
        // 如果 这个转账 数量 是 负数, 停止交易
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_from] - _value < balances[_from]) {

            // 该 交易sender 对 from账户的可用权限 减少 相对应的 数量, 使用 safemath 交易
            allowed[_from][msg.sender] = super.safeSub(allowed[_from][msg.sender], _value);
            // from的户头 减去 对应token的数量, 使用 safemath 交易
            balances[_from] = super.safeSub(balances[_from], _value);
            // to的户头 增加 对应token的数量, 使用 safemath 交易
            balances[_to] = super.safeAdd(balances[_to], _value);

            emit Transfer(_from, _to, _value);//呼叫event
            return true;
        } else { return false; }
    }

    function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        // 该交易的 msg.sender 可以设置 别的spender地址权限
        // 允许spender地址可以使用 msg.sender 地址下的一定数量的token
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
      // 查看 spender 能控制 多少个 owner 账户下的token
      return allowed[_owner][_spender];
    }

    mapping(address => uint256) balances;

    mapping (address => mapping (address => uint256)) allowed;

    uint256 public totalSupply;
}










/*******************************************************************************
 *
 * Artchain Token  智能合约.
 *
 * version 15, 2018-05-28
 *
 ******************************************************************************/
contract ArtChainToken is StandardToken {

    // 我们token的名字, 部署以后不可更改
    string public constant name = "Artchain Global Token";

    // 我们token的代号, 部署以后不可更改
    string public constant symbol = "ACG";

    // 我们的 contract 部署的时候 之前已经有多少数量的 block
    uint public startBlock;

    //支持 小数点后8位的交易。 e.g. 最小交易量 0.00000001 个 token
    uint public constant decimals = 8;

    // 我们的 token 的总共的数量 (不用在意 *10**uint(decimals))
    uint256 public totalSupply = 3500000000*10**uint(decimals); // 35亿


    // founder账户 - 地址可以更改
    address public founder = 0x3b7ca9550a641B2bf2c60A0AeFbf1eA48891e58b;
    // 部署该合约时,founder_token = founder
    // 相对应的 token 被存入(并根据规则锁定)在这个账户中
    // 更改 founder 地址, token 将保留在 founder_token 地址的中,不会被转移
    // 该 founder_token 的地址在合约部署后将不能被更改,该地址下的token只能按照既定的规则释放
    address public constant founder_token = 0x3b7ca9550a641B2bf2c60A0AeFbf1eA48891e58b;// founder_token=founder;


    // 激励团队poi账户 - 地址可以更改
    address public poi = 0x98d95A8178ff41834773D3D270907942F5BE581e;
    // 部署该合约时,poi_token = poi
    // 相对应的 token 被存入(并根据规则锁定)在这个账户中
    // 更改 poi 地址, token 将保留在 poi_token 地址的中,不会被转移
    // 该 poi_token 的地址在合约部署后将不能被更改, 该地址下的token只能按照既定的规则释放
    address public constant poi_token = 0x98d95A8178ff41834773D3D270907942F5BE581e; // poi_token=poi


    // 用于私募的账户, 合约部署后不可更改,但是 token 可以随意转移 没有限制
    address public constant privateSale = 0x31F2F3361e929192aB2558b95485329494955aC4;


    // 用于冷冻账户转账/交易
    // 大概每14秒产生一个block, 根据block的数量, 确定冷冻的时间,
    // 产生 185143 个 block 大约需要一个月时间
    uint public constant one_month = 185143;// ----   时间标准
    uint public poiLockup = super.safeMul(uint(one_month), 7);  // poi 账户 冻结的时间 7个月

    // 用于 暂停交易, 只能 founder 账户 才可以更改这个状态
    bool public halted = false;



    /*******************************************************************
     *
     *  部署合约的 主体
     *
     *******************************************************************/
    function ArtChainToken() public {
    //constructor() public {

        // 部署该合约的时候  startBlock等于最新的 block的数量
        startBlock = block.number;

        // 给founder 20% 的 token, 35亿的 20% 是7亿  (不用在意 *10**uint(decimals))
        balances[founder] = 700000000*10**uint(decimals); // 7亿

        // 给poi账户 40% 的 token, 35亿的 40% 是14亿
        balances[poi] = 1400000000*10**uint(decimals);   // 14亿

        // 给私募账户 40% 的 token, 35亿的 40% 是14亿
        balances[privateSale] = 1400000000*10**uint(decimals); // 14亿
    }


    /*******************************************************************
     *
     *  紧急停止所有交易, 只能 founder 账户可以运行
     *
     *******************************************************************/
    function halt() public returns (bool success) {
        if (msg.sender!=founder) return false;
        halted = true;
        return true;
    }
    function unhalt() public returns (bool success) {
        if (msg.sender!=founder) return false;
        halted = false;
        return true;
    }


    /*******************************************************************
     *
     * 修改founder/poi的地址, 只能 “现founder” 可以修改
     *
     * 但是 token 还是存在 founder_token 和 poi_token下
     *
     *******************************************************************/
    function changeFounder(address newFounder) public returns (bool success){
        // 只有 "现founder" 可以更改 Founder的地址
        if (msg.sender!=founder) return false;
        founder = newFounder;
        return true;
    }
    function changePOI(address newPOI) public returns (bool success){
        // 只有 "现founder" 可以更改 poi的地址
        if (msg.sender!=founder) return false;
        poi = newPOI;
        return true;
    }




    /********************************************************
     *
     *  转移 自己账户中的 token (需要满足 冻结规则的 前提下)
     *
     ********************************************************/
    function transfer(address _to, uint256 _value) public returns (bool success) {

      // 如果 现在是 ”暂停交易“ 状态的话, 拒绝交易
      if (halted==true) return false;

      // poi_token 中的 token, 判断是否在冻结时间内 冻结时间为一年, 也就是 poiLockup 个block的时间
      if (msg.sender==poi_token && block.number <= startBlock + poiLockup)  return false;

      // founder_token 中的 token, 根据规则分为48个月释放(初始状态有7亿)
      if (msg.sender==founder_token){
        // 前6个月 不能动 founder_token 账户的 余额 要维持 100% (7亿的100% = 7亿)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 6)  && super.safeSub(balanceOf(msg.sender), _value)<700000000*10**uint(decimals)) return false;
        // 6个月到12个月  founder_token 账户的 余额 至少要 85% (7亿的85% = 5亿9千5百万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 12) && super.safeSub(balanceOf(msg.sender), _value)<595000000*10**uint(decimals)) return false;
        // 12个月到18个月 founder_token 账户的 余额 至少要 70% (7亿的70% = 4亿9千万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 18) && super.safeSub(balanceOf(msg.sender), _value)<490000000*10**uint(decimals)) return false;
        // 18个月到24个月 founder_token 账户的 余额 至少要 57.5% (7亿的57.5% = 4亿0千2百5十万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 24) && super.safeSub(balanceOf(msg.sender), _value)<402500000*10**uint(decimals)) return false;
        // 24个月到30个月 founder_token 账户的 余额 至少要 45% (7亿的45% = 3亿1千5百万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 30) && super.safeSub(balanceOf(msg.sender), _value)<315000000*10**uint(decimals)) return false;
        // 30个月到36个月 founder_token 账户的 余额 至少要 32.5% (7亿的32.5% = 2亿2千7百5十万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 36) && super.safeSub(balanceOf(msg.sender), _value)<227500000*10**uint(decimals)) return false;
        // 36个月到42个月 founder_token 账户的 余额 至少要 20% (7亿的20% = 1亿4千万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 42) && super.safeSub(balanceOf(msg.sender), _value)<140000000*10**uint(decimals)) return false;
        // 42个月到48个月 founder_token 账户的 余额 至少要 10% (7亿的10% = 7千万)
        if (block.number <= startBlock + super.safeMul(uint(one_month), 48) && super.safeSub(balanceOf(msg.sender), _value)< 70000000*10**uint(decimals)) return false;
        // 48个月以后 没有限制
      }

      //其他情况下, 正常进行交易
      return super.transfer(_to, _value);
    }

    /********************************************************
     *
     *  转移 别人账户中的 token (需要满足 冻结规则的 前提下)
     *
     ********************************************************/
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        // 如果 现在是 ”暂停交易“ 状态的话, 拒绝交易
        if (halted==true) return false;

        // poi_token 中的 token, 判断是否在冻结时间内 冻结时间为一年, 也就是 poiLockup 个block的时间
        if (_from==poi_token && block.number <= startBlock + poiLockup) return false;

        // founder_token 中的 token, 根据规则分为48个月释放(初始状态有7亿)
        if (_from==founder_token){
          // 前6个月 不能动 founder_token 账户的 余额 要维持 100% (7亿的100% = 7亿)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 6)  && super.safeSub(balanceOf(_from), _value)<700000000*10**uint(decimals)) return false;
          // 6个月到12个月  founder_token 账户的 余额 至少要 85% (7亿的85% = 5亿9千5百万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 12) && super.safeSub(balanceOf(_from), _value)<595000000*10**uint(decimals)) return false;
          // 12个月到18个月 founder_token 账户的 余额 至少要 70% (7亿的70% = 4亿9千万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 18) && super.safeSub(balanceOf(_from), _value)<490000000*10**uint(decimals)) return false;
          // 18个月到24个月 founder_token 账户的 余额 至少要 57.5% (7亿的57.5% = 4亿0千2百5十万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 24) && super.safeSub(balanceOf(_from), _value)<402500000*10**uint(decimals)) return false;
          // 24个月到30个月 founder_token 账户的 余额 至少要 45% (7亿的45% = 3亿1千5百万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 30) && super.safeSub(balanceOf(_from), _value)<315000000*10**uint(decimals)) return false;
          // 30个月到36个月 founder_token 账户的 余额 至少要 32.5% (7亿的32.5% = 2亿2千7百5十万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 36) && super.safeSub(balanceOf(_from), _value)<227500000*10**uint(decimals)) return false;
          // 36个月到42个月 founder_token 账户的 余额 至少要 20% (7亿的20% = 1亿4千万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 42) && super.safeSub(balanceOf(_from), _value)<140000000*10**uint(decimals)) return false;
          // 42个月到48个月 founder_token 账户的 余额 至少要 10% (7亿的10% = 7千万)
          if (block.number <= startBlock + super.safeMul(uint(one_month), 48) && super.safeSub(balanceOf(_from), _value)< 70000000*10**uint(decimals)) return false;
          // 48个月以后 没有限制
        }

        //其他情况下, 正常进行交易
        return super.transferFrom(_from, _to, _value);
    }









    /***********************************************************、、
     *
     * 销毁 自己账户内的 tokens
     *
     ***********************************************************/
    function burn(uint256 _value) public returns (bool success) {

      // 如果 现在是 ”暂停交易“ 状态的话, 拒绝交易
      if (halted==true) return false;

      // poi_token 中的 token, 判断是否在冻结时间内 冻结时间为 poiLockup 个block的时间
      if (msg.sender==poi_token && block.number <= startBlock + poiLockup) return false;

      // founder_token 中的 token, 不可以被销毁
      if (msg.sender==founder_token) return false;


      //如果 该账户 不足 输入的 token 数量, 终止交易
      if (balances[msg.sender] < _value) return false;
      //如果 要销毁的 _value 是负数, 终止交易
      if (balances[msg.sender] - _value > balances[msg.sender]) return false;


      // 除了以上的 情况, 下面进行 销毁过程

      // 账户token数量减小, 使用 safemath
      balances[msg.sender] = super.safeSub(balances[msg.sender], _value);
      // 由于账户token数量 被销毁, 所以 token的总数量也会减少, 使用 safemath
      totalSupply = super.safeSub(totalSupply, _value);

      emit Burn(msg.sender, _value); //呼叫event

      return true;

    }




    /***********************************************************、、
     *
     * 销毁 别人账户内的 tokens
     *
     ***********************************************************/
    function burnFrom(address _from, uint256 _value) public returns (bool success) {

      // 如果 现在是 ”暂停交易“ 状态的话, 拒绝交易
      if (halted==true) return false;

      // 如果 要销毁 poi_token 中的 token,
      // 需要判断是否在冻结时间内 (冻结时间为 poiLockup 个block的时间)
      if (_from==poi_token && block.number <= startBlock + poiLockup) return false;

      // 如果要销毁 founder_token 下的 token, 停止交易
      // founder_token 中的 token, 不可以被销毁
      if (_from==founder_token) return false;


      //如果 该账户 不足 输入的 token 数量, 终止交易
      if (balances[_from] < _value) return false;
      //如果 该账户 给这个 msg.sender 的权限不足 输入的 token 数量, 终止交易
      if (allowed[_from][msg.sender] < _value) return false;
      //如果 要销毁的 _value 是负数, 终止交易
      if (balances[_from] - _value > balances[_from]) return false;


      // 除了以上的 情况, 下面进行 销毁过程

      // from账户中 msg.sender可以支配的 token数量 也减少, 使用 safemath
      allowed[_from][msg.sender] = super.safeSub(allowed[_from][msg.sender], _value);
      // 账户token数量减小, 使用 safemath
      balances[_from] = super.safeSub(balances[_from], _value);
      // 由于账户token数量 被销毁, 所以 token的总数量也会减少, 使用 safemath
      totalSupply = super.safeSub(totalSupply, _value);

      emit Burn(_from, _value); //呼叫 event

      return true;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"poi","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"poi_token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"one_month","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"founder_token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newFounder","type":"address"}],"name":"changeFounder","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"privateSale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPOI","type":"address"}],"name":"changePOI","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"poiLockup","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040526008600a0a63d09dc30002600455733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507398d95a8178ff41834773d3d270907942f5be581e600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000e06202d3376007620002586401000000000262001b9f176401000000009004565b6007556000600860006101000a81548160ff0219169083151502179055503480156200010b57600080fd5b50436003819055506008600a0a6329b9270002600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008600a0a6353724e0002600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008600a0a6353724e00026000807331f2f3361e929192ab2558b95485329494955ac473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200028e565b600080828402905060008414806200027b57508284828115156200027857fe5b04145b15156200028457fe5b8091505092915050565b6122d8806200029e6000396000f30060806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d357806318160ddd1461023857806323b872dd14610263578063313ce567146102e85780633807ba1b146103135780633ffdabda1461036a57806342966c68146103c157806348cd4cb1146104065780634d853ee5146104315780635ed7ca5b146104885780636d771f77146104b75780636f159c4f146104e257806370a082311461053957806379cc67901461059057806393c32e06146105f557806395d89b4114610650578063a9059cbb146106e0578063b9b8af0b14610745578063ba1f879f14610774578063c7fde81f146107cb578063cb3e64fd14610826578063dd4e882314610855578063dd62ed3e14610880575b600080fd5b34801561014f57600080fd5b506101586108f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019857808201518184015260208101905061017d565b50505050905090810190601f1680156101c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101df57600080fd5b5061021e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610930565b604051808215151515815260200191505060405180910390f35b34801561024457600080fd5b5061024d610a22565b6040518082815260200191505060405180910390f35b34801561026f57600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a28565b604051808215151515815260200191505060405180910390f35b3480156102f457600080fd5b506102fd610d58565b6040518082815260200191505060405180910390f35b34801561031f57600080fd5b50610328610d5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037657600080fd5b5061037f610d83565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cd57600080fd5b506103ec60048036038101908080359060200190929190505050610d9b565b604051808215151515815260200191505060405180910390f35b34801561041257600080fd5b5061041b611048565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b5061044661104e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049457600080fd5b5061049d611074565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc6110f9565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b506104f7611100565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054557600080fd5b5061057a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611118565b6040518082815260200191505060405180910390f35b34801561059c57600080fd5b506105db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611160565b604051808215151515815260200191505060405180910390f35b34801561060157600080fd5b50610636600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a1565b604051808215151515815260200191505060405180910390f35b34801561065c57600080fd5b5061066561164e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a557808201518184015260208101905061068a565b50505050905090810190601f1680156106d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106ec57600080fd5b5061072b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611687565b604051808215151515815260200191505060405180910390f35b34801561075157600080fd5b5061075a6119b5565b604051808215151515815260200191505060405180910390f35b34801561078057600080fd5b506107896119c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d757600080fd5b5061080c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e0565b604051808215151515815260200191505060405180910390f35b34801561083257600080fd5b5061083b611a8d565b604051808215151515815260200191505060405180910390f35b34801561086157600080fd5b5061086a611b12565b6040518082815260200191505060405180910390f35b34801561088c57600080fd5b506108e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b18565b6040518082815260200191505060405180910390f35b6040805190810160405280601581526020017f417274636861696e20476c6f62616c20546f6b656e000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b600060011515600860009054906101000a900460ff1615151415610a4f5760009050610d51565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610aa45750600754600354014311155b15610ab25760009050610d51565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d4357610b086202d3376006611b9f565b600354014311158015610b3557506008600a0a6329b9270002610b33610b2d86611118565b84611bd2565b105b15610b435760009050610d51565b610b516202d337600c611b9f565b600354014311158015610b7e57506008600a0a632376fac002610b7c610b7686611118565b84611bd2565b105b15610b8c5760009050610d51565b610b9a6202d3376012611b9f565b600354014311158015610bc757506008600a0a631d34ce8002610bc5610bbf86611118565b84611bd2565b105b15610bd55760009050610d51565b610be36202d3376018611b9f565b600354014311158015610c1057506008600a0a6317fda9a002610c0e610c0886611118565b84611bd2565b105b15610c1e5760009050610d51565b610c2c6202d337601e611b9f565b600354014311158015610c5957506008600a0a6312c684c002610c57610c5186611118565b84611bd2565b105b15610c675760009050610d51565b610c756202d3376024611b9f565b600354014311158015610ca257506008600a0a630d8f5fe002610ca0610c9a86611118565b84611bd2565b105b15610cb05760009050610d51565b610cbe6202d337602a611b9f565b600354014311158015610ceb57506008600a0a6308583b0002610ce9610ce386611118565b84611bd2565b105b15610cf95760009050610d51565b610d076202d3376030611b9f565b600354014311158015610d3457506008600a0a63042c1d8002610d32610d2c86611118565b84611bd2565b105b15610d425760009050610d51565b5b610d4e848484611beb565b90505b9392505050565b600881565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7398d95a8178ff41834773d3d270907942f5be581e81565b600060011515600860009054906101000a900460ff1615151415610dc25760009050611043565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610e175750600754600354014311155b15610e255760009050611043565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610e765760009050611043565b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec55760009050611043565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054031115610f545760009050611043565b610f9c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fea60045483611bd2565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b919050565b60035481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d657600090506110f6565b6001600860006101000a81548160ff021916908315150217905550600190505b90565b6202d33781565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b81565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060011515600860009054906101000a900460ff1615151415611187576000905061159b565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111dc5750600754600354014311155b156111ea576000905061159b565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123b576000905061159b565b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561128a576000905061159b565b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611317576000905061159b565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156113a6576000905061159b565b61142c600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f46000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154260045483611bd2565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b92915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116035760009050611649565b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b919050565b6040805190810160405280600381526020017f414347000000000000000000000000000000000000000000000000000000000081525081565b600060011515600860009054906101000a900460ff16151514156116ae57600090506119af565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156117035750600754600354014311155b1561171157600090506119af565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119a2576117676202d3376006611b9f565b60035401431115801561179457506008600a0a6329b927000261179261178c33611118565b84611bd2565b105b156117a257600090506119af565b6117b06202d337600c611b9f565b6003540143111580156117dd57506008600a0a632376fac0026117db6117d533611118565b84611bd2565b105b156117eb57600090506119af565b6117f96202d3376012611b9f565b60035401431115801561182657506008600a0a631d34ce800261182461181e33611118565b84611bd2565b105b1561183457600090506119af565b6118426202d3376018611b9f565b60035401431115801561186f57506008600a0a6317fda9a00261186d61186733611118565b84611bd2565b105b1561187d57600090506119af565b61188b6202d337601e611b9f565b6003540143111580156118b857506008600a0a6312c684c0026118b66118b033611118565b84611bd2565b105b156118c657600090506119af565b6118d46202d3376024611b9f565b60035401431115801561190157506008600a0a630d8f5fe0026118ff6118f933611118565b84611bd2565b105b1561190f57600090506119af565b61191d6202d337602a611b9f565b60035401431115801561194a57506008600a0a6308583b000261194861194233611118565b84611bd2565b105b1561195857600090506119af565b6119666202d3376030611b9f565b60035401431115801561199357506008600a0a63042c1d800261199161198b33611118565b84611bd2565b105b156119a157600090506119af565b5b6119ac8383611ffe565b90505b92915050565b600860009054906101000a900460ff1681565b7331f2f3361e929192ab2558b95485329494955ac481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a425760009050611a88565b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aef5760009050611b0f565b6000600860006101000a81548160ff021916908315150217905550600190505b90565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008082840290506000841480611bc05750828482811515611bbd57fe5b04145b1515611bc857fe5b8091505092915050565b6000828211151515611be057fe5b818303905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515611c1257600080fd5b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611cdc575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015611d6557506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403105b15611ff257611df0600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb86000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f426000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612282565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611ff7565b600090505b9392505050565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561202557600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156120f057506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403105b156122775761213d6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c76000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612282565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061227c565b600090505b92915050565b600080828401905083811015801561229a5750828110155b15156122a257fe5b80915050929150505600a165627a7a723058202b2fb9d6f453895a8eaeee6686a9d87fa9101f3475a4b4099e4536fe5a7469d00029

Deployed Bytecode

0x60806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d357806318160ddd1461023857806323b872dd14610263578063313ce567146102e85780633807ba1b146103135780633ffdabda1461036a57806342966c68146103c157806348cd4cb1146104065780634d853ee5146104315780635ed7ca5b146104885780636d771f77146104b75780636f159c4f146104e257806370a082311461053957806379cc67901461059057806393c32e06146105f557806395d89b4114610650578063a9059cbb146106e0578063b9b8af0b14610745578063ba1f879f14610774578063c7fde81f146107cb578063cb3e64fd14610826578063dd4e882314610855578063dd62ed3e14610880575b600080fd5b34801561014f57600080fd5b506101586108f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019857808201518184015260208101905061017d565b50505050905090810190601f1680156101c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101df57600080fd5b5061021e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610930565b604051808215151515815260200191505060405180910390f35b34801561024457600080fd5b5061024d610a22565b6040518082815260200191505060405180910390f35b34801561026f57600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a28565b604051808215151515815260200191505060405180910390f35b3480156102f457600080fd5b506102fd610d58565b6040518082815260200191505060405180910390f35b34801561031f57600080fd5b50610328610d5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037657600080fd5b5061037f610d83565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cd57600080fd5b506103ec60048036038101908080359060200190929190505050610d9b565b604051808215151515815260200191505060405180910390f35b34801561041257600080fd5b5061041b611048565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b5061044661104e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049457600080fd5b5061049d611074565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc6110f9565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b506104f7611100565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054557600080fd5b5061057a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611118565b6040518082815260200191505060405180910390f35b34801561059c57600080fd5b506105db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611160565b604051808215151515815260200191505060405180910390f35b34801561060157600080fd5b50610636600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a1565b604051808215151515815260200191505060405180910390f35b34801561065c57600080fd5b5061066561164e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a557808201518184015260208101905061068a565b50505050905090810190601f1680156106d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106ec57600080fd5b5061072b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611687565b604051808215151515815260200191505060405180910390f35b34801561075157600080fd5b5061075a6119b5565b604051808215151515815260200191505060405180910390f35b34801561078057600080fd5b506107896119c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d757600080fd5b5061080c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e0565b604051808215151515815260200191505060405180910390f35b34801561083257600080fd5b5061083b611a8d565b604051808215151515815260200191505060405180910390f35b34801561086157600080fd5b5061086a611b12565b6040518082815260200191505060405180910390f35b34801561088c57600080fd5b506108e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b18565b6040518082815260200191505060405180910390f35b6040805190810160405280601581526020017f417274636861696e20476c6f62616c20546f6b656e000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b600060011515600860009054906101000a900460ff1615151415610a4f5760009050610d51565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610aa45750600754600354014311155b15610ab25760009050610d51565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d4357610b086202d3376006611b9f565b600354014311158015610b3557506008600a0a6329b9270002610b33610b2d86611118565b84611bd2565b105b15610b435760009050610d51565b610b516202d337600c611b9f565b600354014311158015610b7e57506008600a0a632376fac002610b7c610b7686611118565b84611bd2565b105b15610b8c5760009050610d51565b610b9a6202d3376012611b9f565b600354014311158015610bc757506008600a0a631d34ce8002610bc5610bbf86611118565b84611bd2565b105b15610bd55760009050610d51565b610be36202d3376018611b9f565b600354014311158015610c1057506008600a0a6317fda9a002610c0e610c0886611118565b84611bd2565b105b15610c1e5760009050610d51565b610c2c6202d337601e611b9f565b600354014311158015610c5957506008600a0a6312c684c002610c57610c5186611118565b84611bd2565b105b15610c675760009050610d51565b610c756202d3376024611b9f565b600354014311158015610ca257506008600a0a630d8f5fe002610ca0610c9a86611118565b84611bd2565b105b15610cb05760009050610d51565b610cbe6202d337602a611b9f565b600354014311158015610ceb57506008600a0a6308583b0002610ce9610ce386611118565b84611bd2565b105b15610cf95760009050610d51565b610d076202d3376030611b9f565b600354014311158015610d3457506008600a0a63042c1d8002610d32610d2c86611118565b84611bd2565b105b15610d425760009050610d51565b5b610d4e848484611beb565b90505b9392505050565b600881565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7398d95a8178ff41834773d3d270907942f5be581e81565b600060011515600860009054906101000a900460ff1615151415610dc25760009050611043565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610e175750600754600354014311155b15610e255760009050611043565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610e765760009050611043565b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec55760009050611043565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054031115610f545760009050611043565b610f9c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fea60045483611bd2565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b919050565b60035481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d657600090506110f6565b6001600860006101000a81548160ff021916908315150217905550600190505b90565b6202d33781565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b81565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060011515600860009054906101000a900460ff1615151415611187576000905061159b565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111dc5750600754600354014311155b156111ea576000905061159b565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123b576000905061159b565b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561128a576000905061159b565b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611317576000905061159b565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156113a6576000905061159b565b61142c600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f46000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154260045483611bd2565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b92915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116035760009050611649565b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b919050565b6040805190810160405280600381526020017f414347000000000000000000000000000000000000000000000000000000000081525081565b600060011515600860009054906101000a900460ff16151514156116ae57600090506119af565b7398d95a8178ff41834773d3d270907942f5be581e73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156117035750600754600354014311155b1561171157600090506119af565b733b7ca9550a641b2bf2c60a0aefbf1ea48891e58b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119a2576117676202d3376006611b9f565b60035401431115801561179457506008600a0a6329b927000261179261178c33611118565b84611bd2565b105b156117a257600090506119af565b6117b06202d337600c611b9f565b6003540143111580156117dd57506008600a0a632376fac0026117db6117d533611118565b84611bd2565b105b156117eb57600090506119af565b6117f96202d3376012611b9f565b60035401431115801561182657506008600a0a631d34ce800261182461181e33611118565b84611bd2565b105b1561183457600090506119af565b6118426202d3376018611b9f565b60035401431115801561186f57506008600a0a6317fda9a00261186d61186733611118565b84611bd2565b105b1561187d57600090506119af565b61188b6202d337601e611b9f565b6003540143111580156118b857506008600a0a6312c684c0026118b66118b033611118565b84611bd2565b105b156118c657600090506119af565b6118d46202d3376024611b9f565b60035401431115801561190157506008600a0a630d8f5fe0026118ff6118f933611118565b84611bd2565b105b1561190f57600090506119af565b61191d6202d337602a611b9f565b60035401431115801561194a57506008600a0a6308583b000261194861194233611118565b84611bd2565b105b1561195857600090506119af565b6119666202d3376030611b9f565b60035401431115801561199357506008600a0a63042c1d800261199161198b33611118565b84611bd2565b105b156119a157600090506119af565b5b6119ac8383611ffe565b90505b92915050565b600860009054906101000a900460ff1681565b7331f2f3361e929192ab2558b95485329494955ac481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a425760009050611a88565b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aef5760009050611b0f565b6000600860006101000a81548160ff021916908315150217905550600190505b90565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008082840290506000841480611bc05750828482811515611bbd57fe5b04145b1515611bc857fe5b8091505092915050565b6000828211151515611be057fe5b818303905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515611c1257600080fd5b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611cdc575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015611d6557506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403105b15611ff257611df0600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb86000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f426000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612282565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611ff7565b600090505b9392505050565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561202557600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156120f057506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403105b156122775761213d6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611bd2565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c76000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612282565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061227c565b600090505b92915050565b600080828401905083811015801561229a5750828110155b15156122a257fe5b80915050929150505600a165627a7a723058202b2fb9d6f453895a8eaeee6686a9d87fa9101f3475a4b4099e4536fe5a7469d00029

Swarm Source

bzzr://2b2fb9d6f453895a8eaeee6686a9d87fa9101f3475a4b4099e4536fe5a7469d0
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.