ETH Price: $3,326.04 (+0.11%)
 

Overview

Max Total Supply

10,000,000,000 BGPT

Holders

986

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
ZB.com 6
Balance
71,004,892.864850288418413314 BGPT

Value
$0.00
0x38B78904a6B44F63eB81D98937fc6614870cFbB9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
IBRIDGE

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-07
*/

pragma solidity ^0.5.1;

library IterableMapping {
  struct itmap
  {
    mapping(address => IndexValue) data;
    KeyFlag[] keys;
    uint size;
  }
  struct IndexValue { uint keyIndex; uint value; }
  struct KeyFlag { address key; bool deleted; }
  function insert(itmap storage self, address key, uint value) public returns (bool replaced)
  {
    uint keyIndex = self.data[key].keyIndex;
    self.data[key].value = value;
    if (keyIndex > 0)
      return true;
    else
    {
      keyIndex = self.keys.length++;
      self.data[key].keyIndex = keyIndex + 1;
      self.keys[keyIndex].key = key;
      self.size++;
      return false;
    }
  }
  function remove(itmap storage self, address key) public returns (bool success)
  {
    uint keyIndex = self.data[key].keyIndex;
    if (keyIndex == 0)
      return false;
    delete self.data[key];
    self.keys[keyIndex - 1].deleted = true;
    self.size --;
  }
  function contains(itmap storage self, address key) public view returns (bool)
  {
    return self.data[key].keyIndex > 0;
  }
  function iterate_start(itmap storage self) public view returns (uint keyIndex)
  {
    return iterate_next(self, uint(-1));
  }
  function iterate_valid(itmap storage self, uint keyIndex) public view returns (bool)
  {
    return keyIndex < self.keys.length;
  }
  function iterate_next(itmap storage self, uint keyIndex) public view returns (uint r_keyIndex)
  {
    keyIndex++;
    while (keyIndex < self.keys.length && self.keys[keyIndex].deleted)
      keyIndex++;
    return keyIndex;
  }
  function iterate_get(itmap storage self, uint keyIndex) public view returns (address key, uint value)
  {
    key = self.keys[keyIndex].key;
    value = self.data[key].value;
  }
  function iterate_getValue(itmap storage self, address key) public view returns (uint value) {
      return self.data[key].value;
  }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = _a / _b;
    assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
    return _a / _b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * See https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address _who) public view returns (uint256);
  function transfer(address _to, uint256 _value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;
  IterableMapping.itmap balances;

  uint256 internal totalSupply_;

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev Transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
      
    require(_value <= IterableMapping.iterate_getValue(balances, msg.sender));
    require(_to != address(0));
    
    IterableMapping.insert(balances, msg.sender, IterableMapping.iterate_getValue(balances, msg.sender).sub(_value));
    IterableMapping.insert(balances, _to, IterableMapping.iterate_getValue(balances, _to).add(_value));
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256) {
      return IterableMapping.iterate_getValue(balances, _owner);
  }

}



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender)
    public view returns (uint256);

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

  function approve(address _spender, uint256 _value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/issues/20
 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

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


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
      
    require(_value <= IterableMapping.iterate_getValue(balances, _from));
    // require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);
    require(_to != address(0));

    IterableMapping.insert(balances, _from, IterableMapping.iterate_getValue(balances, _from).sub(_value));
    IterableMapping.insert(balances, _to, IterableMapping.iterate_getValue(balances, _to).add(_value));
    // balances[_from] = balances[_from].sub(_value);
    // balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(
    address _spender,
    uint256 _addedValue
  )
    public
    returns (bool)
  {
    allowed[msg.sender][_spender] = (
      allowed[msg.sender][_spender].add(_addedValue));
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(
    address _spender,
    uint256 _subtractedValue
  )
    public
    returns (bool)
  {
    uint256 oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue >= oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract IBRIDGE is StandardToken {
    
    string public name = "Bridge Protocol";
    string public symbol = "BGPT";
    uint8 public decimals = 18;
    uint256 public INITIAL_SUPPLY = 10000000000 ether;

    constructor () public {
    	totalSupply_ = INITIAL_SUPPLY;
    	IterableMapping.insert(balances, tx.origin, INITIAL_SUPPLY);
    }
    
    function balancesStart() public view returns(uint256) {
        return IterableMapping.iterate_start(balances);
    }
    
    function balancesGetBool(uint256 num) public view returns(bool){
        return IterableMapping.iterate_valid(balances, num);
    }
    
    function balancesGetNext(uint256 num) public view returns(uint256) {
        return IterableMapping.iterate_next(balances, num);
    }
    
    function balancesGetValue(uint256 num) public view returns(address, uint256) {
        address key;                            
        uint256 value;                          
        (key, value) = IterableMapping.iterate_get(balances, num);
        return (key, value);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"balancesGetBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"balancesGetNext","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"balancesGetValue","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balancesStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600f81526020017f4272696467652050726f746f636f6c00000000000000000000000000000000008152506005908051906020019062000051929190620001b6565b506040518060400160405280600481526020017f4247505400000000000000000000000000000000000000000000000000000000815250600690805190602001906200009f929190620001b6565b506012600760006101000a81548160ff021916908360ff1602179055506b204fce5e3e25026110000000600855348015620000d957600080fd5b5060085460038190555073daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f6000326008546040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b1580156200017257600080fd5b505af415801562000187573d6000803e3d6000fd5b505050506040513d60208110156200019e57600080fd5b81019080805190602001909291905050505062000265565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001f957805160ff19168380011785556200022a565b828001600101855582156200022a579182015b82811115620002295782518255916020019190600101906200020c565b5b5090506200023991906200023d565b5090565b6200026291905b808211156200025e57600081600090555060010162000244565b5090565b90565b611c6c80620002756000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80637e0c574711610097578063cf2adac811610066578063cf2adac81461050e578063d1505c5d14610550578063d73dd62314610596578063dd62ed3e146105fc57610100565b80637e0c57471461039257806395d89b4114610407578063a9059cbb1461048a578063b8ba5c20146104f057610100565b80632ff2e9dc116100d35780632ff2e9dc14610292578063313ce567146102b057806366188463146102d457806370a082311461033a57610100565b806306fdde0314610105578063095ea7b31461018857806318160ddd146101ee57806323b872dd1461020c575b600080fd5b61010d610674565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014d578082015181840152602081019050610132565b50505050905090810190601f16801561017a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d46004803603604081101561019e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610712565b604051808215151515815260200191505060405180910390f35b6101f6610804565b6040518082815260200191505060405180910390f35b6102786004803603606081101561022257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061080e565b604051808215151515815260200191505060405180910390f35b61029a610e4d565b6040518082815260200191505060405180910390f35b6102b8610e53565b604051808260ff1660ff16815260200191505060405180910390f35b610320600480360360408110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e66565b604051808215151515815260200191505060405180910390f35b61037c6004803603602081101561035057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f6565b6040518082815260200191505060405180910390f35b6103be600480360360208110156103a857600080fd5b81019080803590602001909291905050506111be565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61040f611275565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044f578082015181840152602081019050610434565b50505050905090810190601f16801561047c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104d6600480360360408110156104a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611313565b604051808215151515815260200191505060405180910390f35b6104f86117b9565b6040518082815260200191505060405180910390f35b61053a6004803603602081101561052457600080fd5b810190808035906020019092919050505061184b565b6040518082815260200191505060405180910390f35b61057c6004803603602081101561056657600080fd5b81019080803590602001909291905050506118e7565b604051808215151515815260200191505060405180910390f35b6105e2600480360360408110156105ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611983565b604051808215151515815260200191505060405180910390f35b61065e6004803603604081101561061257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b7f565b6040518082815260200191505060405180910390f35b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561089457600080fd5b505af41580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b81019080805190602001909291905050508211156108db57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561096457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561099e57600080fd5b73daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f600086610a8c8673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008c6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610a4357600080fd5b505af4158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b8101908080519060200190929190505050611c0690919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b158015610afa57600080fd5b505af4158015610b0e573d6000803e3d6000fd5b505050506040513d6020811015610b2457600080fd5b81019080805190602001909291905050505073daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f600085610c248673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008b6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610bdb57600080fd5b505af4158015610bef573d6000803e3d6000fd5b505050506040513d6020811015610c0557600080fd5b8101908080519060200190929190505050611c1d90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b158015610c9257600080fd5b505af4158015610ca6573d6000803e3d6000fd5b505050506040513d6020811015610cbc57600080fd5b810190808051906020019092919050505050610d5d82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0690919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60085481565b600760009054906101000a900460ff1681565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310610f76576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061100a565b610f898382611c0690919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561117c57600080fd5b505af4158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b81019080805190602001909291905050509050919050565b60008060008073daf20c91122dc1de83910ed2ebdebcb7a702697b6375a3e8e86000876040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561121b57600080fd5b505af415801561122f573d6000803e3d6000fd5b505050506040513d604081101561124557600080fd5b81019080805190602001909291908051906020019092919050505080925081935050508181935093505050915091565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561130b5780601f106112e05761010080835404028352916020019161130b565b820191906000526020600020905b8154815290600101906020018083116112ee57829003601f168201915b505050505081565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000336040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561139957600080fd5b505af41580156113ad573d6000803e3d6000fd5b505050506040513d60208110156113c357600080fd5b81019080805190602001909291905050508211156113e057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561141a57600080fd5b73daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f6000336115088673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000336040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156114bf57600080fd5b505af41580156114d3573d6000803e3d6000fd5b505050506040513d60208110156114e957600080fd5b8101908080519060200190929190505050611c0690919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561157657600080fd5b505af415801561158a573d6000803e3d6000fd5b505050506040513d60208110156115a057600080fd5b81019080805190602001909291905050505073daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f6000856116a08673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008b6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561165757600080fd5b505af415801561166b573d6000803e3d6000fd5b505050506040513d602081101561168157600080fd5b8101908080519060200190929190505050611c1d90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561170e57600080fd5b505af4158015611722573d6000803e3d6000fd5b505050506040513d602081101561173857600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b63a21ab71660006040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561180b57600080fd5b505af415801561181f573d6000803e3d6000fd5b505050506040513d602081101561183557600080fd5b8101908080519060200190929190505050905090565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b6388d044376000846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156118a557600080fd5b505af41580156118b9573d6000803e3d6000fd5b505050506040513d60208110156118cf57600080fd5b81019080805190602001909291905050509050919050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b63c8fccc696000846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561194157600080fd5b505af4158015611955573d6000803e3d6000fd5b505050506040513d602081101561196b57600080fd5b81019080805190602001909291905050509050919050565b6000611a1482600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1d90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115611c1257fe5b818303905092915050565b6000818301905082811015611c2e57fe5b8090509291505056fea265627a7a723158208dd8500cc346394b2b1c790699826e2a8ffcfbbca2a11315305b2f442707992864736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80637e0c574711610097578063cf2adac811610066578063cf2adac81461050e578063d1505c5d14610550578063d73dd62314610596578063dd62ed3e146105fc57610100565b80637e0c57471461039257806395d89b4114610407578063a9059cbb1461048a578063b8ba5c20146104f057610100565b80632ff2e9dc116100d35780632ff2e9dc14610292578063313ce567146102b057806366188463146102d457806370a082311461033a57610100565b806306fdde0314610105578063095ea7b31461018857806318160ddd146101ee57806323b872dd1461020c575b600080fd5b61010d610674565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014d578082015181840152602081019050610132565b50505050905090810190601f16801561017a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d46004803603604081101561019e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610712565b604051808215151515815260200191505060405180910390f35b6101f6610804565b6040518082815260200191505060405180910390f35b6102786004803603606081101561022257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061080e565b604051808215151515815260200191505060405180910390f35b61029a610e4d565b6040518082815260200191505060405180910390f35b6102b8610e53565b604051808260ff1660ff16815260200191505060405180910390f35b610320600480360360408110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e66565b604051808215151515815260200191505060405180910390f35b61037c6004803603602081101561035057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f6565b6040518082815260200191505060405180910390f35b6103be600480360360208110156103a857600080fd5b81019080803590602001909291905050506111be565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61040f611275565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044f578082015181840152602081019050610434565b50505050905090810190601f16801561047c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104d6600480360360408110156104a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611313565b604051808215151515815260200191505060405180910390f35b6104f86117b9565b6040518082815260200191505060405180910390f35b61053a6004803603602081101561052457600080fd5b810190808035906020019092919050505061184b565b6040518082815260200191505060405180910390f35b61057c6004803603602081101561056657600080fd5b81019080803590602001909291905050506118e7565b604051808215151515815260200191505060405180910390f35b6105e2600480360360408110156105ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611983565b604051808215151515815260200191505060405180910390f35b61065e6004803603604081101561061257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b7f565b6040518082815260200191505060405180910390f35b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561089457600080fd5b505af41580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b81019080805190602001909291905050508211156108db57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561096457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561099e57600080fd5b73daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f600086610a8c8673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008c6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610a4357600080fd5b505af4158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b8101908080519060200190929190505050611c0690919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b158015610afa57600080fd5b505af4158015610b0e573d6000803e3d6000fd5b505050506040513d6020811015610b2457600080fd5b81019080805190602001909291905050505073daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f600085610c248673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008b6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610bdb57600080fd5b505af4158015610bef573d6000803e3d6000fd5b505050506040513d6020811015610c0557600080fd5b8101908080519060200190929190505050611c1d90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b158015610c9257600080fd5b505af4158015610ca6573d6000803e3d6000fd5b505050506040513d6020811015610cbc57600080fd5b810190808051906020019092919050505050610d5d82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0690919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60085481565b600760009054906101000a900460ff1681565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310610f76576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061100a565b610f898382611c0690919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561117c57600080fd5b505af4158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b81019080805190602001909291905050509050919050565b60008060008073daf20c91122dc1de83910ed2ebdebcb7a702697b6375a3e8e86000876040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561121b57600080fd5b505af415801561122f573d6000803e3d6000fd5b505050506040513d604081101561124557600080fd5b81019080805190602001909291908051906020019092919050505080925081935050508181935093505050915091565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561130b5780601f106112e05761010080835404028352916020019161130b565b820191906000526020600020905b8154815290600101906020018083116112ee57829003601f168201915b505050505081565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000336040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561139957600080fd5b505af41580156113ad573d6000803e3d6000fd5b505050506040513d60208110156113c357600080fd5b81019080805190602001909291905050508211156113e057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561141a57600080fd5b73daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f6000336115088673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae6000336040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156114bf57600080fd5b505af41580156114d3573d6000803e3d6000fd5b505050506040513d60208110156114e957600080fd5b8101908080519060200190929190505050611c0690919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561157657600080fd5b505af415801561158a573d6000803e3d6000fd5b505050506040513d60208110156115a057600080fd5b81019080805190602001909291905050505073daf20c91122dc1de83910ed2ebdebcb7a702697b63ab517b4f6000856116a08673daf20c91122dc1de83910ed2ebdebcb7a702697b634c5e1cae60008b6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561165757600080fd5b505af415801561166b573d6000803e3d6000fd5b505050506040513d602081101561168157600080fd5b8101908080519060200190929190505050611c1d90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561170e57600080fd5b505af4158015611722573d6000803e3d6000fd5b505050506040513d602081101561173857600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b63a21ab71660006040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561180b57600080fd5b505af415801561181f573d6000803e3d6000fd5b505050506040513d602081101561183557600080fd5b8101908080519060200190929190505050905090565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b6388d044376000846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156118a557600080fd5b505af41580156118b9573d6000803e3d6000fd5b505050506040513d60208110156118cf57600080fd5b81019080805190602001909291905050509050919050565b600073daf20c91122dc1de83910ed2ebdebcb7a702697b63c8fccc696000846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561194157600080fd5b505af4158015611955573d6000803e3d6000fd5b505050506040513d602081101561196b57600080fd5b81019080805190602001909291905050509050919050565b6000611a1482600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1d90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115611c1257fe5b818303905092915050565b6000818301905082811015611c2e57fe5b8090509291505056fea265627a7a723158208dd8500cc346394b2b1c790699826e2a8ffcfbbca2a11315305b2f442707992864736f6c63430005110032

Libraries Used

IterableMapping : 0xdaf20c91122dc1de83910ed2ebdebcb7a702697bUnverified

Deployed Bytecode Sourcemap

10095:1081:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10095:1081:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10142:38;;;:::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;10142:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7720:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7720:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4035:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6298:793;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6298:793:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10256:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10223:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9639:447;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9639:447:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4979:137;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4979:137:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10884:283;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10884:283:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10187:29;;;:::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;10187:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4281:489;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4281:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10460:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10736:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10736:136:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10591:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10591:133:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8864:307;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8864:307:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8239:162;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8239:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10142:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7720:192::-;7787:4;7832:6;7800:7;:19;7808:10;7800:19;;;;;;;;;;;;;;;:29;7820:8;7800:29;;;;;;;;;;;;;;;:38;;;;7871:8;7850:38;;7859:10;7850:38;;;7881:6;7850:38;;;;;;;;;;;;;;;;;;7902:4;7895:11;;7720:192;;;;:::o;4035:85::-;4079:7;4102:12;;4095:19;;4035:85;:::o;6298:793::-;6410:4;6452:15;:32;6485:8;6495:5;6452:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6452:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6452:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6452:49:0;;;;;;;;;;;;;;;;6442:6;:59;;6434:68;;;;;;6571:7;:14;6579:5;6571:14;;;;;;;;;;;;;;;:26;6586:10;6571:26;;;;;;;;;;;;;;;;6561:6;:36;;6553:45;;;;;;6628:1;6613:17;;:3;:17;;;;6605:26;;;;;;6640:15;:22;6663:8;6673:5;6680:61;6734:6;6680:15;:32;6713:8;6723:5;6680:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6680:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6680:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6680:49:0;;;;;;;;;;;;;;;;:53;;:61;;;;:::i;:::-;6640:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6640:102:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6640:102:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6640:102:0;;;;;;;;;;;;;;;;;6749:15;:22;6772:8;6782:3;6787:59;6839:6;6787:15;:32;6820:8;6830:3;6787:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6787:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6787:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6787:47:0;;;;;;;;;;;;;;;;:51;;:59;;;;:::i;:::-;6749:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6749:98:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6749:98:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6749:98:0;;;;;;;;;;;;;;;;;6989:38;7020:6;6989:7;:14;6997:5;6989:14;;;;;;;;;;;;;;;:26;7004:10;6989:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6960:7;:14;6968:5;6960:14;;;;;;;;;;;;;;;:26;6975:10;6960:26;;;;;;;;;;;;;;;:67;;;;7055:3;7039:28;;7048:5;7039:28;;;7060:6;7039:28;;;;;;;;;;;;;;;;;;7081:4;7074:11;;6298:793;;;;;:::o;10256:49::-;;;;:::o;10223:26::-;;;;;;;;;;;;;:::o;9639:447::-;9750:4;9766:16;9785:7;:19;9793:10;9785:19;;;;;;;;;;;;;;;:29;9805:8;9785:29;;;;;;;;;;;;;;;;9766:48;;9845:8;9825:16;:28;9821:169;;9896:1;9864:7;:19;9872:10;9864:19;;;;;;;;;;;;;;;:29;9884:8;9864:29;;;;;;;;;;;;;;;:33;;;;9821:169;;;9952:30;9965:16;9952:8;:12;;:30;;;;:::i;:::-;9920:7;:19;9928:10;9920:19;;;;;;;;;;;;;;;:29;9940:8;9920:29;;;;;;;;;;;;;;;:62;;;;9821:169;10022:8;10001:61;;10010:10;10001:61;;;10032:7;:19;10040:10;10032:19;;;;;;;;;;;;;;;:29;10052:8;10032:29;;;;;;;;;;;;;;;;10001:61;;;;;;;;;;;;;;;;;;10076:4;10069:11;;;9639:447;;;;:::o;4979:137::-;5035:7;5060:15;:32;5093:8;5103:6;5060:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5060:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5060:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5060:50:0;;;;;;;;;;;;;;;;5053:57;;4979:137;;;:::o;10884:283::-;10943:7;10952;10972:11;11022:13;11087:15;:27;11115:8;11125:3;11087:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11087:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11087:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11087:42:0;;;;;;;;;;;;;;;;;;;;;;;;;11072:57;;;;;;;;11148:3;11153:5;11140:19;;;;;;10884:283;;;:::o;10187:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4281:489::-;4344:4;4383:15;:32;4416:8;4426:10;4383:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4383:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4383:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4383:54:0;;;;;;;;;;;;;;;;4373:6;:64;;4365:73;;;;;;4468:1;4453:17;;:3;:17;;;;4445:26;;;;;;4484:15;:22;4507:8;4517:10;4529:66;4588:6;4529:15;:32;4562:8;4572:10;4529:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4529:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4529:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4529:54:0;;;;;;;;;;;;;;;;:58;;:66;;;;:::i;:::-;4484:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4484:112:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4484:112:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4484:112:0;;;;;;;;;;;;;;;;;4603:15;:22;4626:8;4636:3;4641:59;4693:6;4641:15;:32;4674:8;4684:3;4641:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4641:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4641:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4641:47:0;;;;;;;;;;;;;;;;:51;;:59;;;;:::i;:::-;4603:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4603:98:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4603:98:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4603:98:0;;;;;;;;;;;;;;;;;4734:3;4713:33;;4722:10;4713:33;;;4739:6;4713:33;;;;;;;;;;;;;;;;;;4760:4;4753:11;;4281:489;;;;:::o;10460:119::-;10505:7;10532:15;:29;10562:8;10532:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10532:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10532:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10532:39:0;;;;;;;;;;;;;;;;10525:46;;10460:119;:::o;10736:136::-;10794:7;10821:15;:28;10850:8;10860:3;10821:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10821:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10821:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10821:43:0;;;;;;;;;;;;;;;;10814:50;;10736:136;;;:::o;10591:133::-;10649:4;10672:15;:29;10702:8;10712:3;10672:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10672:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10672:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10672:44:0;;;;;;;;;;;;;;;;10665:51;;10591:133;;;:::o;8864:307::-;8970:4;9027:46;9061:11;9027:7;:19;9035:10;9027:19;;;;;;;;;;;;;;;:29;9047:8;9027:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;8986:7;:19;8994:10;8986:19;;;;;;;;;;;;;;;:29;9006:8;8986:29;;;;;;;;;;;;;;;:88;;;;9107:8;9086:61;;9095:10;9086:61;;;9117:7;:19;9125:10;9117:19;;;;;;;;;;;;;;;:29;9137:8;9117:29;;;;;;;;;;;;;;;;9086:61;;;;;;;;;;;;;;;;;;9161:4;9154:11;;8864:307;;;;:::o;8239:162::-;8344:7;8370;:15;8378:6;8370:15;;;;;;;;;;;;;;;:25;8386:8;8370:25;;;;;;;;;;;;;;;;8363:32;;8239:162;;;;:::o;2983:119::-;3043:7;3072:2;3066;:8;;3059:16;;;;3094:2;3089;:7;3082:14;;2983:119;;;;:::o;3169:132::-;3229:9;3256:2;3251;:7;3247:11;;3277:2;3272:1;:7;;3265:15;;;;3294:1;3287:8;;3169:132;;;;:::o

Swarm Source

bzzr://8dd8500cc346394b2b1c790699826e2a8ffcfbbca2a11315305b2f4427079928
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.