Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 5,364 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15583489 | 860 days ago | IN | 0 ETH | 0.00203073 | ||||
Transfer | 13509669 | 1188 days ago | IN | 0 ETH | 0.00787251 | ||||
Transfer | 13466233 | 1195 days ago | IN | 0 ETH | 0.00371312 | ||||
Transfer | 11455343 | 1506 days ago | IN | 0 ETH | 0.00237462 | ||||
Transfer | 11364358 | 1520 days ago | IN | 0 ETH | 0.00309549 | ||||
Transfer | 11157590 | 1552 days ago | IN | 0 ETH | 0.00254424 | ||||
Transfer | 11025413 | 1572 days ago | IN | 0 ETH | 0.00301068 | ||||
Transfer | 10969111 | 1581 days ago | IN | 0 ETH | 0.00249267 | ||||
Transfer | 10956813 | 1583 days ago | IN | 0 ETH | 0.00487646 | ||||
Transfer | 10945284 | 1585 days ago | IN | 0 ETH | 0.00194398 | ||||
Transfer | 10945205 | 1585 days ago | IN | 0 ETH | 0.00202523 | ||||
Transfer | 10945141 | 1585 days ago | IN | 0 ETH | 0.00407483 | ||||
Transfer | 10918412 | 1589 days ago | IN | 0 ETH | 0.00229992 | ||||
Transfer | 10918361 | 1589 days ago | IN | 0 ETH | 0.00711512 | ||||
Transfer | 10911817 | 1590 days ago | IN | 0 ETH | 0.00468608 | ||||
Transfer | 10911778 | 1590 days ago | IN | 0 ETH | 0.00986936 | ||||
Transfer | 10903804 | 1591 days ago | IN | 0 ETH | 0.00521569 | ||||
Transfer | 10864614 | 1597 days ago | IN | 0 ETH | 0.0041052 | ||||
Transfer | 10864614 | 1597 days ago | IN | 0 ETH | 0.0063552 | ||||
Transfer | 10864594 | 1597 days ago | IN | 0 ETH | 0.004107 | ||||
Transfer | 10864594 | 1597 days ago | IN | 0 ETH | 0.004107 | ||||
Transfer | 10814383 | 1605 days ago | IN | 0 ETH | 0.0041052 | ||||
Transfer | 10814383 | 1605 days ago | IN | 0 ETH | 0.0041052 | ||||
Transfer | 10814383 | 1605 days ago | IN | 0 ETH | 0.0041052 | ||||
Transfer | 10814383 | 1605 days ago | IN | 0 ETH | 0.0041052 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
HKExCoin
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-02-24 */ pragma solidity ^0.4.24; // File: node_modules\zeppelin-solidity\contracts\math\SafeMath.sol /** * @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; } } // File: node_modules\zeppelin-solidity\contracts\ownership\Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: node_modules\zeppelin-solidity\contracts\token\ERC20\ERC20Basic.sol /** * @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); } // File: node_modules\zeppelin-solidity\contracts\token\ERC20\BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 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(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = 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 balances[_owner]; } } // File: node_modules\zeppelin-solidity\contracts\token\ERC20\ERC20.sol /** * @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 ); } // File: node_modules\zeppelin-solidity\contracts\token\ERC20\StandardToken.sol /** * @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(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); 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; } } // File: node_modules\zeppelin-solidity\contracts\lifecycle\Pausable.sol /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } // File: node_modules\zeppelin-solidity\contracts\token\ERC20\PausableToken.sol /** * @title Pausable token * @dev StandardToken modified with pausable transfers. **/ contract PausableToken is StandardToken, Pausable { function transfer( address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom( address _from, address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve( address _spender, uint256 _value ) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } function increaseApproval( address _spender, uint _addedValue ) public whenNotPaused returns (bool success) { return super.increaseApproval(_spender, _addedValue); } function decreaseApproval( address _spender, uint _subtractedValue ) public whenNotPaused returns (bool success) { return super.decreaseApproval(_spender, _subtractedValue); } } // File: contracts\HKExCoin.sol /***************************************************************************** * *Copyright 2018 HKExCoin * *Licensed under the Apache License, Version 2.0 (the "License"); *you may not use this file except in compliance with the License. *You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * *Unless required by applicable law or agreed to in writing, software *distributed under the License is distributed on an "AS IS" BASIS, *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *See the License for the specific language governing permissions and *limitations under the License. * *****************************************************************************/ contract HKExCoin is PausableToken { using SafeMath for uint256; // ERC20 constants string public name="HKExCoin"; string public symbol="HKC"; string public standard="ERC20"; uint8 public constant decimals = 18; // solium-disable-line uppercase uint256 public constant INITIAL_SUPPLY = 10 *(10**8)*(10 ** uint256(decimals)); event NewLock(address indexed target,uint256 indexed locktime,uint256 lockamount); event UnLock(address indexed target,uint256 indexed unlocktime,uint256 unlockamount); mapping(address => TimeLock[]) public allocations; struct TimeLock { uint256 releaseTime; uint256 balance; } /*Here is the constructor function that is executed when the instance is created*/ constructor() public { totalSupply_ = INITIAL_SUPPLY; balances[msg.sender] = INITIAL_SUPPLY; emit Transfer(address(0), msg.sender, INITIAL_SUPPLY); } function transfer(address _to, uint256 _value) public returns (bool) { require(canSubAllocation(msg.sender, _value)); subAllocation(msg.sender); return super.transfer(_to, _value); } function transferFrom(address _from, address _to,uint256 _value) public returns (bool) { require(canSubAllocation(_from, _value)); subAllocation(_from); return super.transferFrom(_from,_to, _value); } function canSubAllocation(address sender, uint256 sub_value) constant private returns (bool) { if (sub_value==0) { return false; } if (balances[sender] < sub_value) { return false; } if (allocations[sender].length == 0) { return true; } uint256 alllock_sum = 0; for (uint j=0; j<allocations[sender].length; j++) { if (allocations[sender][j].releaseTime >= block.timestamp) { alllock_sum = alllock_sum.add(allocations[sender][j].balance); } } uint256 can_unlock = balances[sender].sub(alllock_sum); return can_unlock >= sub_value; } function subAllocation(address sender) private { uint256 total_lockamount = 0; uint256 total_unlockamount = 0; for (uint j=0; j<allocations[sender].length; j++) { if (allocations[sender][j].releaseTime < block.timestamp) { total_unlockamount = total_unlockamount.add(allocations[sender][j].balance); allocations[sender][j].balance = 0; } else { total_lockamount = total_lockamount.add(allocations[sender][j].balance); } } if (total_unlockamount > 0) { emit UnLock(sender, block.timestamp, total_unlockamount); } if(total_lockamount == 0 && allocations[sender].length > 0) { delete allocations[sender]; } } function setAllocation(address _address, uint256 total_value, uint[] times, uint256[] balanceRequires) public onlyOwner returns (bool) { require(times.length == balanceRequires.length); require(balances[msg.sender]>=total_value); uint256 sum = 0; for (uint x=0; x<balanceRequires.length; x++) { require(balanceRequires[x]>0); sum = sum.add(balanceRequires[x]); } require(total_value >= sum); for (uint i=0; i<times.length; i++) { bool find = false; for (uint j=0; j<allocations[_address].length; j++) { if (allocations[_address][j].releaseTime == times[i]) { allocations[_address][j].balance = allocations[_address][j].balance.add(balanceRequires[i]); find = true; break; } } if (!find) { allocations[_address].push(TimeLock(times[i], balanceRequires[i])); } } emit NewLock(_address, block.timestamp, sum); return super.transfer(_address, total_value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"allocations","outputs":[{"name":"releaseTime","type":"uint256"},{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"total_value","type":"uint256"},{"name":"times","type":"uint256[]"},{"name":"balanceRequires","type":"uint256[]"}],"name":"setAllocation","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":true,"name":"locktime","type":"uint256"},{"indexed":false,"name":"lockamount","type":"uint256"}],"name":"NewLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":true,"name":"unlocktime","type":"uint256"},{"indexed":false,"name":"unlockamount","type":"uint256"}],"name":"UnLock","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
6003805460a060020a60ff021916905560c0604052600860808190527f484b4578436f696e00000000000000000000000000000000000000000000000060a09081526200005091600491906200015f565b506040805180820190915260038082527f484b430000000000000000000000000000000000000000000000000000000000602090920191825262000097916005916200015f565b506040805180820190915260058082527f45524332300000000000000000000000000000000000000000000000000000006020909201918252620000de916006916200015f565b50348015620000ec57600080fd5b5060038054600160a060020a031916339081179091556b033b2e3c9fd0803ce8000000600181905560008281526020818152604080832084905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a362000204565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a257805160ff1916838001178555620001d2565b82800160010185558215620001d2579182015b82811115620001d2578251825591602001919060010190620001b5565b50620001e0929150620001e4565b5090565b6200020191905b80821115620001e05760008155600101620001eb565b90565b61144e80620002146000396000f3006080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663010bc33c811461011657806306fdde0314610153578063095ea7b3146101dd57806318160ddd1461021557806323b872dd1461023c5780632ff2e9dc14610266578063313ce5671461027b5780633f4ba83a146102a65780635a3b7e42146102bd5780635c975abb146102d257806366188463146102e757806370a082311461030b5780638456cb591461032c5780638da5cb5b1461034157806395d89b4114610372578063a9059cbb14610387578063d73dd623146103ab578063dd62ed3e146103cf578063f2fde38b146103f6578063faa23e5d14610417575b600080fd5b34801561012257600080fd5b5061013a600160a060020a03600435166024356104b7565b6040805192835260208301919091528051918290030190f35b34801561015f57600080fd5b506101686104f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a257818101518382015260200161018a565b50505050905090810190601f1680156101cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e957600080fd5b50610201600160a060020a0360043516602435610580565b604080519115158252519081900360200190f35b34801561022157600080fd5b5061022a6105ab565b60408051918252519081900360200190f35b34801561024857600080fd5b50610201600160a060020a03600435811690602435166044356105b2565b34801561027257600080fd5b5061022a6105e5565b34801561028757600080fd5b506102906105f5565b6040805160ff9092168252519081900360200190f35b3480156102b257600080fd5b506102bb6105fa565b005b3480156102c957600080fd5b50610168610672565b3480156102de57600080fd5b506102016106cd565b3480156102f357600080fd5b50610201600160a060020a03600435166024356106dd565b34801561031757600080fd5b5061022a600160a060020a0360043516610701565b34801561033857600080fd5b506102bb61071c565b34801561034d57600080fd5b50610356610799565b60408051600160a060020a039092168252519081900360200190f35b34801561037e57600080fd5b506101686107a8565b34801561039357600080fd5b50610201600160a060020a0360043516602435610803565b3480156103b757600080fd5b50610201600160a060020a036004351660243561082d565b3480156103db57600080fd5b5061022a600160a060020a0360043581169060243516610851565b34801561040257600080fd5b506102bb600160a060020a036004351661087c565b34801561042357600080fd5b506040805160206004604435818101358381028086018501909652808552610201958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061089f9650505050505050565b6007602052816000526040600020818154811015156104d257fe5b600091825260209091206002909102018054600190910154909250905082565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b505050505081565b60035460009060a060020a900460ff161561059a57600080fd5b6105a48383610b92565b9392505050565b6001545b90565b60006105be8483610bf8565b15156105c957600080fd5b6105d284610d57565b6105dd848484610f16565b949350505050565b6b033b2e3c9fd0803ce800000081565b601281565b600354600160a060020a0316331461061157600080fd5b60035460a060020a900460ff16151561062957600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff16156106f757600080fd5b6105a48383610f3b565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461073357600080fd5b60035460a060020a900460ff161561074a57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b600061080f3383610bf8565b151561081a57600080fd5b61082333610d57565b6105a4838361102a565b60035460009060a060020a900460ff161561084757600080fd5b6105a4838361104e565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a0316331461089357600080fd5b61089c816110e7565b50565b60035460009081908190819081908190600160a060020a031633146108c357600080fd5b86518851146108d157600080fd5b336000908152602081905260409020548911156108ed57600080fd5b60009450600093505b8651841015610958576000878581518110151561090f57fe5b602090810290910101511161092357600080fd5b61094b878581518110151561093457fe5b60209081029091010151869063ffffffff61116516565b94506001909301926108f6565b8489101561096557600080fd5b600092505b8751831015610b3a575060009050805b600160a060020a038a16600090815260076020526040902054811015610a9b5787838151811015156109a857fe5b6020908102909101810151600160a060020a038c166000908152600790925260409091208054839081106109d857fe5b9060005260206000209060020201600001541415610a9357610a518784815181101515610a0157fe5b6020908102909101810151600160a060020a038d16600090815260079092526040909120805484908110610a3157fe5b90600052602060002090600202016001015461116590919063ffffffff16565b600160a060020a038b166000908152600760205260409020805483908110610a7557fe5b90600052602060002090600202016001018190555060019150610a9b565b60010161097a565b811515610b2f57600760008b600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808a86815181101515610ae057fe5b9060200190602002015181526020018986815181101515610afd57fe5b602090810290910181015190915282546001818101855560009485529382902083516002909202019081559101519101555b60019092019161096a565b6040805186815290514291600160a060020a038d16917f7879fe07a34927cf93a00574a8c2e55740a44179eb359ed6850e486df16c52229181900360200190a3610b848a8a61102a565b9a9950505050505050505050565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000808080841515610c0d5760009350610d4e565b600160a060020a038616600090815260208190526040902054851115610c365760009350610d4e565b600160a060020a0386166000908152600760205260409020541515610c5e5760019350610d4e565b60009250600091505b600160a060020a038616600090815260076020526040902054821015610d1c57600160a060020a0386166000908152600760205260409020805442919084908110610cae57fe5b600091825260209091206002909102015410610d1157600160a060020a03861660009081526007602052604090208054610d0e919084908110610ced57fe5b9060005260206000209060020201600101548461116590919063ffffffff16565b92505b600190910190610c67565b600160a060020a038616600090815260208190526040902054610d45908463ffffffff61117816565b90508481101593505b50505092915050565b600080805b600160a060020a038416600090815260076020526040902054811015610e7c57600160a060020a0384166000908152600760205260409020805442919083908110610da357fe5b9060005260206000209060020201600001541015610e4857600160a060020a03841660009081526007602052604090208054610e05919083908110610de457fe5b9060005260206000209060020201600101548361116590919063ffffffff16565b600160a060020a03851660009081526007602052604081208054929450909183908110610e2e57fe5b906000526020600020906002020160010181905550610e74565b600160a060020a03841660009081526007602052604090208054610e71919083908110610ced57fe5b92505b600101610d5c565b6000821115610ec6576040805183815290514291600160a060020a038716917fc56cef68903bdd36458fd80e70fac1fabcf0b8b37d32e6b9d02ccef26642570b9181900360200190a35b82158015610eea5750600160a060020a038416600090815260076020526040812054115b15610f1057600160a060020a0384166000908152600760205260408120610f10916113e2565b50505050565b60035460009060a060020a900460ff1615610f3057600080fd5b6105dd84848461118a565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610f8f57336000908152600260209081526040808320600160a060020a0388168452909152812055610fc4565b610f9f818463ffffffff61117816565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60035460009060a060020a900460ff161561104457600080fd5b6105a48383611301565b336000908152600260209081526040808320600160a060020a0386168452909152812054611082908363ffffffff61116516565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156110fc57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8181018281101561117257fe5b92915050565b60008282111561118457fe5b50900390565b6000600160a060020a03831615156111a157600080fd5b600160a060020a0384166000908152602081905260409020548211156111c657600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156111f657600080fd5b600160a060020a03841660009081526020819052604090205461121f908363ffffffff61117816565b600160a060020a038086166000908152602081905260408082209390935590851681522054611254908363ffffffff61116516565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611296908363ffffffff61117816565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6000600160a060020a038316151561131857600080fd5b3360009081526020819052604090205482111561133457600080fd5b33600090815260208190526040902054611354908363ffffffff61117816565b3360009081526020819052604080822092909255600160a060020a03851681522054611386908363ffffffff61116516565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b508054600082556002029060005260206000209081019061089c91906105af91905b8082111561141e5760008082556001820155600201611404565b50905600a165627a7a7230582054ca0bed880059f64550c974655933c7cc513aa022c32d106f213f091221ac6d0029
Deployed Bytecode
0x6080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663010bc33c811461011657806306fdde0314610153578063095ea7b3146101dd57806318160ddd1461021557806323b872dd1461023c5780632ff2e9dc14610266578063313ce5671461027b5780633f4ba83a146102a65780635a3b7e42146102bd5780635c975abb146102d257806366188463146102e757806370a082311461030b5780638456cb591461032c5780638da5cb5b1461034157806395d89b4114610372578063a9059cbb14610387578063d73dd623146103ab578063dd62ed3e146103cf578063f2fde38b146103f6578063faa23e5d14610417575b600080fd5b34801561012257600080fd5b5061013a600160a060020a03600435166024356104b7565b6040805192835260208301919091528051918290030190f35b34801561015f57600080fd5b506101686104f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a257818101518382015260200161018a565b50505050905090810190601f1680156101cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e957600080fd5b50610201600160a060020a0360043516602435610580565b604080519115158252519081900360200190f35b34801561022157600080fd5b5061022a6105ab565b60408051918252519081900360200190f35b34801561024857600080fd5b50610201600160a060020a03600435811690602435166044356105b2565b34801561027257600080fd5b5061022a6105e5565b34801561028757600080fd5b506102906105f5565b6040805160ff9092168252519081900360200190f35b3480156102b257600080fd5b506102bb6105fa565b005b3480156102c957600080fd5b50610168610672565b3480156102de57600080fd5b506102016106cd565b3480156102f357600080fd5b50610201600160a060020a03600435166024356106dd565b34801561031757600080fd5b5061022a600160a060020a0360043516610701565b34801561033857600080fd5b506102bb61071c565b34801561034d57600080fd5b50610356610799565b60408051600160a060020a039092168252519081900360200190f35b34801561037e57600080fd5b506101686107a8565b34801561039357600080fd5b50610201600160a060020a0360043516602435610803565b3480156103b757600080fd5b50610201600160a060020a036004351660243561082d565b3480156103db57600080fd5b5061022a600160a060020a0360043581169060243516610851565b34801561040257600080fd5b506102bb600160a060020a036004351661087c565b34801561042357600080fd5b506040805160206004604435818101358381028086018501909652808552610201958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061089f9650505050505050565b6007602052816000526040600020818154811015156104d257fe5b600091825260209091206002909102018054600190910154909250905082565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b505050505081565b60035460009060a060020a900460ff161561059a57600080fd5b6105a48383610b92565b9392505050565b6001545b90565b60006105be8483610bf8565b15156105c957600080fd5b6105d284610d57565b6105dd848484610f16565b949350505050565b6b033b2e3c9fd0803ce800000081565b601281565b600354600160a060020a0316331461061157600080fd5b60035460a060020a900460ff16151561062957600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff16156106f757600080fd5b6105a48383610f3b565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461073357600080fd5b60035460a060020a900460ff161561074a57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105785780601f1061054d57610100808354040283529160200191610578565b600061080f3383610bf8565b151561081a57600080fd5b61082333610d57565b6105a4838361102a565b60035460009060a060020a900460ff161561084757600080fd5b6105a4838361104e565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a0316331461089357600080fd5b61089c816110e7565b50565b60035460009081908190819081908190600160a060020a031633146108c357600080fd5b86518851146108d157600080fd5b336000908152602081905260409020548911156108ed57600080fd5b60009450600093505b8651841015610958576000878581518110151561090f57fe5b602090810290910101511161092357600080fd5b61094b878581518110151561093457fe5b60209081029091010151869063ffffffff61116516565b94506001909301926108f6565b8489101561096557600080fd5b600092505b8751831015610b3a575060009050805b600160a060020a038a16600090815260076020526040902054811015610a9b5787838151811015156109a857fe5b6020908102909101810151600160a060020a038c166000908152600790925260409091208054839081106109d857fe5b9060005260206000209060020201600001541415610a9357610a518784815181101515610a0157fe5b6020908102909101810151600160a060020a038d16600090815260079092526040909120805484908110610a3157fe5b90600052602060002090600202016001015461116590919063ffffffff16565b600160a060020a038b166000908152600760205260409020805483908110610a7557fe5b90600052602060002090600202016001018190555060019150610a9b565b60010161097a565b811515610b2f57600760008b600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808a86815181101515610ae057fe5b9060200190602002015181526020018986815181101515610afd57fe5b602090810290910181015190915282546001818101855560009485529382902083516002909202019081559101519101555b60019092019161096a565b6040805186815290514291600160a060020a038d16917f7879fe07a34927cf93a00574a8c2e55740a44179eb359ed6850e486df16c52229181900360200190a3610b848a8a61102a565b9a9950505050505050505050565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000808080841515610c0d5760009350610d4e565b600160a060020a038616600090815260208190526040902054851115610c365760009350610d4e565b600160a060020a0386166000908152600760205260409020541515610c5e5760019350610d4e565b60009250600091505b600160a060020a038616600090815260076020526040902054821015610d1c57600160a060020a0386166000908152600760205260409020805442919084908110610cae57fe5b600091825260209091206002909102015410610d1157600160a060020a03861660009081526007602052604090208054610d0e919084908110610ced57fe5b9060005260206000209060020201600101548461116590919063ffffffff16565b92505b600190910190610c67565b600160a060020a038616600090815260208190526040902054610d45908463ffffffff61117816565b90508481101593505b50505092915050565b600080805b600160a060020a038416600090815260076020526040902054811015610e7c57600160a060020a0384166000908152600760205260409020805442919083908110610da357fe5b9060005260206000209060020201600001541015610e4857600160a060020a03841660009081526007602052604090208054610e05919083908110610de457fe5b9060005260206000209060020201600101548361116590919063ffffffff16565b600160a060020a03851660009081526007602052604081208054929450909183908110610e2e57fe5b906000526020600020906002020160010181905550610e74565b600160a060020a03841660009081526007602052604090208054610e71919083908110610ced57fe5b92505b600101610d5c565b6000821115610ec6576040805183815290514291600160a060020a038716917fc56cef68903bdd36458fd80e70fac1fabcf0b8b37d32e6b9d02ccef26642570b9181900360200190a35b82158015610eea5750600160a060020a038416600090815260076020526040812054115b15610f1057600160a060020a0384166000908152600760205260408120610f10916113e2565b50505050565b60035460009060a060020a900460ff1615610f3057600080fd5b6105dd84848461118a565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610f8f57336000908152600260209081526040808320600160a060020a0388168452909152812055610fc4565b610f9f818463ffffffff61117816565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60035460009060a060020a900460ff161561104457600080fd5b6105a48383611301565b336000908152600260209081526040808320600160a060020a0386168452909152812054611082908363ffffffff61116516565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156110fc57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8181018281101561117257fe5b92915050565b60008282111561118457fe5b50900390565b6000600160a060020a03831615156111a157600080fd5b600160a060020a0384166000908152602081905260409020548211156111c657600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156111f657600080fd5b600160a060020a03841660009081526020819052604090205461121f908363ffffffff61117816565b600160a060020a038086166000908152602081905260408082209390935590851681522054611254908363ffffffff61116516565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611296908363ffffffff61117816565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6000600160a060020a038316151561131857600080fd5b3360009081526020819052604090205482111561133457600080fd5b33600090815260208190526040902054611354908363ffffffff61117816565b3360009081526020819052604080822092909255600160a060020a03851681522054611386908363ffffffff61116516565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b508054600082556002029060005260206000209081019061089c91906105af91905b8082111561141e5760008082556001820155600201611404565b50905600a165627a7a7230582054ca0bed880059f64550c974655933c7cc513aa022c32d106f213f091221ac6d0029
Deployed Bytecode Sourcemap
12399:4227:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12946:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12946:49:0;-1:-1:-1;;;;;12946:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12497:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12497:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12497:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10997:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10997:171:0;-1:-1:-1;;;;;10997:171:0;;;;;;;;;;;;;;;;;;;;;;;;;3695:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3695:85:0;;;;;;;;;;;;;;;;;;;;13579:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13579:232:0;-1:-1:-1;;;;;13579:232:0;;;;;;;;;;;;12678:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12678:78:0;;;;12601:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12601:35:0;;;;;;;;;;;;;;;;;;;;;;;10288:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10288:95:0;;;;;;12562:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12562:30:0;;;;9667:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9667:26:0;;;;11384:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11384:214:0;-1:-1:-1;;;;;11384:214:0;;;;;;;4479:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4479:101:0;-1:-1:-1;;;;;4479:101:0;;;;;10108:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10108:93:0;;;;1755:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1755:20:0;;;;;;;;-1:-1:-1;;;;;1755:20:0;;;;;;;;;;;;;;12531:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12531:26:0;;;;13350:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13350:223:0;-1:-1:-1;;;;;13350:223:0;;;;;;;11174:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11174:204:0;-1:-1:-1;;;;;11174:204:0;;;;;;;7544:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7544:162:0;-1:-1:-1;;;;;7544:162:0;;;;;;;;;;2386:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2386:105:0;-1:-1:-1;;;;;2386:105:0;;;;;15415:1208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15415:1208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15415:1208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15415:1208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15415:1208:0;;;;-1:-1:-1;15415:1208:0;-1:-1:-1;15415:1208:0;;-1:-1:-1;15415:1208:0;;;;;;;;;-1:-1:-1;15415:1208:0;;-1:-1:-1;15415:1208:0;;-1:-1:-1;;;;;;;15415:1208:0;12946:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12946:49:0;-1:-1:-1;12946:49:0;:::o;12497:29::-;;;;;;;;;;;;;;;-1:-1:-1;;12497:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10997:171::-;9843:6;;11108:4;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;11131:31;11145:8;11155:6;11131:13;:31::i;:::-;11124:38;10997:171;-1:-1:-1;;;10997:171:0:o;3695:85::-;3762:12;;3695:85;;:::o;13579:232::-;13660:4;13686:31;13703:5;13710:6;13686:16;:31::i;:::-;13678:40;;;;;;;;13729:20;13743:5;13729:13;:20::i;:::-;13767:37;13786:5;13792:3;13797:6;13767:18;:37::i;:::-;13760:44;13579:232;-1:-1:-1;;;;13579:232:0:o;12678:78::-;12719:37;12678:78;:::o;12601:35::-;12634:2;12601:35;:::o;10288:95::-;2196:5;;-1:-1:-1;;;;;2196:5:0;2182:10;:19;2174:28;;;;;;10003:6;;-1:-1:-1;;;10003:6:0;;;;9995:15;;;;;;;;10342:6;:14;;-1:-1:-1;;10342:14:0;;;10368:9;;;;10351:5;;10368:9;10288:95::o;12562:30::-;;;;;;;;;;;;;;;-1:-1:-1;;12562:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9667:26;;;-1:-1:-1;;;9667:26:0;;;;;:::o;11384:214::-;9843:6;;11511:12;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;11542:50;11565:8;11575:16;11542:22;:50::i;4479:101::-;-1:-1:-1;;;;;4558:16:0;4535:7;4558:16;;;;;;;;;;;;4479:101::o;10108:93::-;2196:5;;-1:-1:-1;;;;;2196:5:0;2182:10;:19;2174:28;;;;;;9843:6;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;10163:6;:13;;-1:-1:-1;;10163:13:0;-1:-1:-1;;;10163:13:0;;;10188:7;;;;10163:13;;10188:7;10108:93::o;1755:20::-;;;-1:-1:-1;;;;;1755:20:0;;:::o;12531:26::-;;;;;;;;;;;;;;;-1:-1:-1;;12531:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13350:223;13413:4;13440:36;13457:10;13469:6;13440:16;:36::i;:::-;13432:45;;;;;;;;13492:25;13506:10;13492:13;:25::i;:::-;13539:27;13554:3;13559:6;13539:14;:27::i;11174:204::-;9843:6;;11296:12;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;11327:45;11350:8;11360:11;11327:22;:45::i;7544:162::-;-1:-1:-1;;;;;7675:15:0;;;7649:7;7675:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;7544:162::o;2386:105::-;2196:5;;-1:-1:-1;;;;;2196:5:0;2182:10;:19;2174:28;;;;;;2456:29;2475:9;2456:18;:29::i;:::-;2386:105;:::o;15415:1208::-;2196:5;;15544:4;;;;;;;;;;;;-1:-1:-1;;;;;2196:5:0;2182:10;:19;2174:28;;;;;;15586:22;;15570:12;;:38;15562:47;;;;;;15635:10;15626:8;:20;;;;;;;;;;;:33;-1:-1:-1;15626:33:0;15618:42;;;;;;15686:1;15672:15;;15708:1;15701:8;;15696:151;15713:15;:22;15711:1;:24;15696:151;;;15789:1;15770:15;15786:1;15770:18;;;;;;;;;;;;;;;;;;;:20;15762:29;;;;;;15810:27;15818:15;15834:1;15818:18;;;;;;;;;;;;;;;;;;;15810:3;;:27;:7;:27;:::i;:::-;15804:33;-1:-1:-1;15737:3:0;;;;;15696:151;;;15871:18;;;;15863:27;;;;;;15913:1;15906:8;;15901:600;15918:5;:12;15916:1;:14;15901:600;;;-1:-1:-1;15969:5:0;;-1:-1:-1;15969:5:0;15999:350;-1:-1:-1;;;;;16016:21:0;;;;;;:11;:21;;;;;:28;16014:30;;15999:350;;;16123:5;16129:1;16123:8;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16083:21:0;;;;;;:11;:21;;;;;;;:24;;16105:1;;16083:24;;;;;;;;;;;;;;;;:36;;;:48;16079:257;;;16204:56;16241:15;16257:1;16241:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16204:21:0;;;;;;:11;:21;;;;;;;:24;;16226:1;;16204:24;;;;;;;;;;;;;;;;:32;;;:36;;:56;;;;:::i;:::-;-1:-1:-1;;;;;16169:21:0;;;;;;:11;:21;;;;;:24;;16191:1;;16169:24;;;;;;;;;;;;;;;;:32;;:91;;;;16288:4;16281:11;;16313:5;;16079:257;16046:3;;15999:350;;;16378:4;16377:5;16373:119;;;16412:11;:21;16424:8;-1:-1:-1;;;;;16412:21:0;-1:-1:-1;;;;;16412:21:0;;;;;;;;;;;;16439:38;;;;;;;;;16448:5;16454:1;16448:8;;;;;;;;;;;;;;;;;;16439:38;;;;16458:15;16474:1;16458:18;;;;;;;;;;;;;;;;;;;;16439:38;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;16412:66:0;;;;;;;;;;;;;;;;;;;;;;;16373:119;15932:3;;;;;15901:600;;;16516:39;;;;;;;;16534:15;;-1:-1:-1;;;;;16516:39:0;;;;;;;;;;;;16579:37;16594:8;16604:11;16579:14;:37::i;:::-;16572:44;15415:1208;-1:-1:-1;;;;;;;;;;15415:1208:0:o;7025:192::-;7113:10;7092:4;7105:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7105:29:0;;;;;;;;;;;:38;;;7155;;;;;;;7092:4;;7105:29;;7113:10;;7155:38;;;;;;;;-1:-1:-1;7207:4:0;7025:192;;;;:::o;13817:757::-;13904:4;;;;13926:12;;13922:60;;;13967:5;13960:12;;;;13922:60;-1:-1:-1;;;;;14002:16:0;;:8;:16;;;;;;;;;;;:28;-1:-1:-1;13998:76:0;;;14059:5;14052:12;;;;13998:76;-1:-1:-1;;;;;14088:19:0;;;;;;:11;:19;;;;;:26;:31;14084:78;;;14148:4;14141:11;;;;14084:78;14200:1;14178:23;;14222:1;14215:8;;14210:241;-1:-1:-1;;;;;14227:19:0;;;;;;:11;:19;;;;;:26;14225:28;;14210:241;;;-1:-1:-1;;;;;14284:19:0;;;;;;:11;:19;;;;;:22;;14322:15;;14284:19;14304:1;;14284:22;;;;;;;;;;;;;;;;;;;:34;:53;14280:162;;-1:-1:-1;;;;;14397:19:0;;;;;;:11;:19;;;;;:22;;14381:47;;14397:19;14417:1;;14397:22;;;;;;;;;;;;;;;;:30;;;14381:11;:15;;:47;;;;:::i;:::-;14367:61;;14280:162;14255:3;;;;;14210:241;;;-1:-1:-1;;;;;14488:16:0;;:8;:16;;;;;;;;;;;:33;;14509:11;14488:33;:20;:33;:::i;:::-;14467:54;;14559:9;14545:10;:23;;14538:30;;13817:757;;;;;;;;:::o;14580:829::-;14639:24;;;14715:435;-1:-1:-1;;;;;14732:19:0;;;;;;:11;:19;;;;;:26;14730:28;;14715:435;;;-1:-1:-1;;;;;14789:19:0;;;;;;:11;:19;;;;;:22;;14826:15;;14789:19;14809:1;;14789:22;;;;;;;;;;;;;;;;:34;;;:52;14785:356;;;-1:-1:-1;;;;;14915:19:0;;;;;;:11;:19;;;;;:22;;14892:54;;14915:19;14935:1;;14915:22;;;;;;;;;;;;;;;;:30;;;14892:18;:22;;:54;;;;:::i;:::-;-1:-1:-1;;;;;14963:19:0;;14996:1;14963:19;;;:11;:19;;;;;:22;;14871:75;;-1:-1:-1;14996:1:0;;14983;;14963:22;;;;;;;;;;;;;;;;:30;;:34;;;;14785:356;;;-1:-1:-1;;;;;15096:19:0;;;;;;:11;:19;;;;;:22;;15075:52;;15096:19;15116:1;;15096:22;;;;;15075:52;15056:71;;14785:356;14760:3;;14715:435;;;15185:1;15164:18;:22;15160:112;;;15211:51;;;;;;;;15226:15;;-1:-1:-1;;;;;15211:51:0;;;;;;;;;;;;15160:112;15291:21;;:55;;;;-1:-1:-1;;;;;;15316:19:0;;15345:1;15316:19;;;:11;:19;;;;;:26;:30;15291:55;15288:116;;;-1:-1:-1;;;;;15375:19:0;;;;;;:11;:19;;;;;15368:26;;;:::i;:::-;14580:829;;;;:::o;10793:198::-;9843:6;;10924:4;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;10947:38;10966:5;10973:3;10978:6;10947:18;:38::i;8944:447::-;9098:10;9055:4;9090:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9090:29:0;;;;;;;;;;9130:28;;;9126:169;;9177:10;9201:1;9169:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9169:29:0;;;;;;;;;:33;9126:169;;;9257:30;:8;9270:16;9257:30;:12;:30;:::i;:::-;9233:10;9225:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9225:29:0;;;;;;;;;:62;9126:169;9315:10;9337:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9306:61:0;;9337:29;;;;;;;;;;;9306:61;;;;;;;;;9315:10;9306:61;;;;;;;;;;;-1:-1:-1;9381:4:0;;8944:447;-1:-1:-1;;;8944:447:0:o;10624:163::-;9843:6;;10731:4;;-1:-1:-1;;;9843:6:0;;;;9842:7;9834:16;;;;;;10754:27;10769:3;10774:6;10754:14;:27::i;8169:307::-;8340:10;8275:4;8332:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8332:29:0;;;;;;;;;;:46;;8366:11;8332:46;:33;:46;:::i;:::-;8299:10;8291:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8291:29:0;;;;;;;;;;;;:88;;;8391:61;;;;;;8291:29;;8391:61;;;;;;;;;;;-1:-1:-1;8466:4:0;8169:307;;;;:::o;2632:175::-;-1:-1:-1;;;;;2703:23:0;;;;2695:32;;;;;;2760:5;;2739:38;;-1:-1:-1;;;;;2739:38:0;;;;2760:5;;2739:38;;2760:5;;2739:38;2784:5;:17;;-1:-1:-1;;2784:17:0;-1:-1:-1;;;;;2784:17:0;;;;;;;;;;2632:175::o;1329:127::-;1409:5;;;1428:6;;;;1421:14;;;;1329:127;;;;:::o;1149:113::-;1207:7;1230:6;;;;1223:14;;;;-1:-1:-1;1251:5:0;;;1149:113::o;5909:487::-;6021:4;-1:-1:-1;;;;;6045:17:0;;;;6037:26;;;;;;-1:-1:-1;;;;;6088:15:0;;:8;:15;;;;;;;;;;;6078:25;;;6070:34;;;;;;-1:-1:-1;;;;;6129:14:0;;;;;;:7;:14;;;;;;;;6144:10;6129:26;;;;;;;;6119:36;;;6111:45;;;;;;-1:-1:-1;;;;;6183:15:0;;:8;:15;;;;;;;;;;;:27;;6203:6;6183:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;6165:15:0;;;:8;:15;;;;;;;;;;;:45;;;;6233:13;;;;;;;:25;;6251:6;6233:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;6217:13:0;;;:8;:13;;;;;;;;;;;:41;;;;6294:14;;;;;:7;:14;;;;;6309:10;6294:26;;;;;;;:38;;6325:6;6294:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;6265:14:0;;;;;;;:7;:14;;;;;;;;6280:10;6265:26;;;;;;;;:67;;;;6344:28;;;;;;;;;;;6265:14;;6344:28;;;;;;;;;;;-1:-1:-1;6386:4:0;5909:487;;;;;:::o;3941:329::-;4004:4;-1:-1:-1;;;;;4025:17:0;;;;4017:26;;;;;;4077:10;4068:8;:20;;;;;;;;;;;4058:30;;;4050:39;;;;;;4130:10;4121:8;:20;;;;;;;;;;;:32;;4146:6;4121:32;:24;:32;:::i;:::-;4107:10;4098:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;4176:13:0;;;;;;:25;;4194:6;4176:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4160:13:0;;:8;:13;;;;;;;;;;;;:41;;;;4213:33;;;;;;;4160:13;;4222:10;;4213:33;;;;;;;;;;-1:-1:-1;4260:4:0;3941:329;;;;:::o;12399:4227::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://54ca0bed880059f64550c974655933c7cc513aa022c32d106f213f091221ac6d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.