Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 34,762 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 20453427 | 525 days ago | IN | 0 ETH | 0.0000314 | ||||
| Transfer | 20453008 | 525 days ago | IN | 0 ETH | 0.00003139 | ||||
| Transfer | 18590344 | 785 days ago | IN | 0 ETH | 0.00119391 | ||||
| Transfer | 18589079 | 786 days ago | IN | 0 ETH | 0.00081086 | ||||
| Transfer | 18589067 | 786 days ago | IN | 0 ETH | 0.0007844 | ||||
| Transfer | 18589060 | 786 days ago | IN | 0 ETH | 0.00114288 | ||||
| Transfer | 18435013 | 807 days ago | IN | 0 ETH | 0.003371 | ||||
| Approve | 16706870 | 1050 days ago | IN | 0 ETH | 0.00108434 | ||||
| Transfer | 16706787 | 1050 days ago | IN | 0 ETH | 0.00321048 | ||||
| Approve | 16675917 | 1054 days ago | IN | 0 ETH | 0.00154554 | ||||
| Approve | 16675483 | 1054 days ago | IN | 0 ETH | 0.00130172 | ||||
| Transfer | 16675455 | 1054 days ago | IN | 0 ETH | 0.0030864 | ||||
| Transfer | 15793917 | 1178 days ago | IN | 0 ETH | 0.00259257 | ||||
| Transfer | 13079245 | 1602 days ago | IN | 0 ETH | 0.00326387 | ||||
| Transfer | 13059186 | 1605 days ago | IN | 0 ETH | 0.00290329 | ||||
| Transfer | 12650928 | 1668 days ago | IN | 0 ETH | 0.00172905 | ||||
| Transfer | 12618595 | 1673 days ago | IN | 0 ETH | 0.00059256 | ||||
| Transfer | 12609075 | 1675 days ago | IN | 0 ETH | 0.00049382 | ||||
| Transfer | 12608559 | 1675 days ago | IN | 0 ETH | 0.00035712 | ||||
| Transfer | 12580000 | 1679 days ago | IN | 0 ETH | 0.00029018 | ||||
| Transfer | 12579440 | 1680 days ago | IN | 0 ETH | 0.00044628 | ||||
| Transfer | 12578965 | 1680 days ago | IN | 0 ETH | 0.00044628 | ||||
| Transfer | 11924682 | 1781 days ago | IN | 0 ETH | 0.00506304 | ||||
| Transfer | 11905899 | 1783 days ago | IN | 0 ETH | 0.00384645 | ||||
| Transfer | 11905899 | 1783 days ago | IN | 0 ETH | 0.00384645 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
THENODE
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-10-02
*/
pragma solidity ^0.5.8;
/**
* @title SafeMath
* @dev Unsigned math operations with safety checks that revert on error
*/
library SafeMath {
/**
* @dev Multiplies two unsigned integers, reverts on overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b);
return c;
}
/**
* @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0);
uint256 c = a / b;
return c;
}
/**
* @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a);
uint256 c = a - b;
return c;
}
/**
* @dev Adds two unsigned integers, reverts on overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
/**
* @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
* reverts when dividing by zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}
contract Ownable
{
bool private stopped;
address public _owner;
address public _admin;
address private proposedOwner;
mapping(address => bool) private _allowed;
event Stopped();
event Started();
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event Allowed(address indexed _address);
event RemoveAllowed(address indexed _address);
constructor () internal
{
stopped = false;
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address)
{
return _owner;
}
modifier onlyOwner()
{
require(isOwner());
_;
}
modifier onlyAllowed()
{
require(isAllowed() || isOwner());
_;
}
modifier onlyWhenNotStopped()
{
require(!isStopped());
_;
}
function isOwner() public view returns (bool)
{
return msg.sender == _owner;
}
function isAllowed() public view returns (bool)
{
return _allowed[msg.sender];
}
function allow(address _target) external onlyOwner returns (bool)
{
_allowed[_target] = true;
emit Allowed(_target);
return true;
}
function removeAllowed(address _target) external onlyOwner returns (bool)
{
_allowed[_target] = false;
emit RemoveAllowed(_target);
return true;
}
function isStopped() public view returns (bool)
{
if(isOwner() || isAllowed())
{
return false;
}
else
{
return stopped;
}
}
function stop() public onlyOwner
{
_stop();
}
function start() public onlyOwner
{
_start();
}
function proposeOwner(address _proposedOwner) public onlyOwner
{
require(msg.sender != _proposedOwner);
proposedOwner = _proposedOwner;
}
function claimOwnership() public
{
require(msg.sender == proposedOwner);
emit OwnershipTransferred(_owner, proposedOwner);
_owner = proposedOwner;
proposedOwner = address(0);
}
function _stop() internal
{
emit Stopped();
stopped = true;
}
function _start() internal
{
emit Started();
stopped = false;
}
}
contract BaseToken is Ownable
{
using SafeMath for uint256;
uint256 constant internal E18 = 1000000000000000000;
uint256 constant public decimals = 18;
uint256 public totalSupply;
struct Lock {
uint256 amount;
uint256 expiresAt;
}
mapping (address => uint256) public balances;
mapping (address => mapping ( address => uint256 )) public approvals;
mapping (address => Lock[]) public lockup;
mapping(address => bool) public lockedAddresses;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Locked(address _who,uint256 _index);
event UnlockedAll(address _who);
event UnlockedIndex(address _who, uint256 _index);
event Burn(address indexed from, uint256 indexed value);
constructor() public
{
balances[msg.sender] = totalSupply;
}
modifier transferParamsValidation(address _from, address _to, uint256 _value)
{
require(_from != address(0));
require(_to != address(0));
require(_value > 0);
require(balances[_from] >= _value);
require(!isLocked(_from, _value));
_;
}
modifier canTransfer(address _sender, uint256 _value) {
require(!lockedAddresses[_sender]);
require(_sender != address(0));
_;
}
function balanceOf(address _who) view public returns (uint256)
{
return balances[_who];
}
function lockedBalanceOf(address _who) view public returns (uint256)
{
require(_who != address(0));
uint256 lockedBalance = 0;
if(lockup[_who].length > 0)
{
Lock[] storage locks = lockup[_who];
uint256 length = locks.length;
for (uint i = 0; i < length; i++)
{
if (now < locks[i].expiresAt)
{
lockedBalance = lockedBalance.add(locks[i].amount);
}
}
}
return lockedBalance;
}
function allowance(address _owner, address _spender) view external returns (uint256)
{
return approvals[_owner][_spender];
}
function isLocked(address _who, uint256 _value) view public returns(bool)
{
uint256 lockedBalance = lockedBalanceOf(_who);
uint256 balance = balanceOf(_who);
if(lockedBalance <= 0)
{
return false;
}
else
{
return !(balance > lockedBalance && balance.sub(lockedBalance) >= _value);
}
}
function transfer(address _to, uint256 _value) external onlyWhenNotStopped canTransfer(msg.sender, _value) transferParamsValidation(msg.sender, _to, _value) returns (bool)
{
_transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) external onlyWhenNotStopped transferParamsValidation(_from, _to, _value) returns (bool)
{
require(approvals[_from][msg.sender] >= _value);
approvals[_from][msg.sender] = approvals[_from][msg.sender].sub(_value);
_transfer(_from, _to, _value);
return true;
}
// transferWithLock is only for airdrop or marketing purpose
function transferWithLock(address _to, uint256 _value, uint256 _time) onlyOwner transferParamsValidation(msg.sender, _to, _value) external returns (bool)
{
require(_time > now);
_lock(_to, _value, _time);
_transfer(msg.sender, _to, _value);
return true;
}
// lockAddress is only for security accident prevention
function lockAddress(address _addr, bool _locked) onlyOwner external
{
lockedAddresses[_addr] = _locked;
}
// approve is for transfer authentication
function approve(address _spender, uint256 _value) external onlyWhenNotStopped returns (bool)
{
require(_spender != address(0));
require(balances[msg.sender] >= _value);
require(msg.sender != _spender);
approvals[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function unlock(address _who, uint256 _index) onlyOwner external returns (bool)
{
uint256 length = lockup[_who].length;
require(length > _index);
lockup[_who][_index] = lockup[_who][length - 1];
lockup[_who].length--;
emit UnlockedIndex(_who, _index);
return true;
}
function unlockAll(address _who) onlyOwner external returns (bool)
{
require(lockup[_who].length > 0);
delete lockup[_who];
emit UnlockedAll(_who);
return true;
}
// burn is for incubator fund or security accident prevention
function burn(uint256 _value) external
{
require(balances[msg.sender] >= _value);
require(_value > 0);
balances[msg.sender] = balances[msg.sender].sub(_value);
totalSupply = totalSupply.sub(_value);
emit Burn(msg.sender, _value);
}
function _mint(address account, uint256 _value) internal
{
require(account != address(0));
totalSupply = totalSupply.add(_value);
balances[account] = balances[account].add(_value);
emit Transfer(address(0), account, _value);
}
function _transfer(address _from, address _to, uint256 _value) internal
{
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(_from, _to, _value);
}
function _lock(address _who, uint256 _value, uint256 _dateTime) onlyOwner internal
{
lockup[_who].push(Lock(_value, _dateTime));
emit Locked(_who, lockup[_who].length - 1);
}
// destruction is for token upgrade
function destruction() onlyOwner public
{
selfdestruct(msg.sender);
}
}
/**
* @title Roles
* @dev Library for managing addresses assigned to a Role.
*/
library Roles {
struct Role {
mapping (address => bool) bearer;
}
/**
* @dev give an account access to this role
*/
function add(Role storage role, address account) internal {
require(account != address(0));
require(!has(role, account));
role.bearer[account] = true;
}
/**
* @dev remove an account's access to this role
*/
function remove(Role storage role, address account) internal {
require(account != address(0));
require(has(role, account));
role.bearer[account] = false;
}
/**
* @dev check if an account has this role
* @return bool
*/
function has(Role storage role, address account) internal view returns (bool) {
require(account != address(0));
return role.bearer[account];
}
}
contract MinterRole {
using Roles for Roles.Role;
event MinterAdded(address indexed account);
event MinterRemoved(address indexed account);
Roles.Role private _minters;
constructor () internal {
_addMinter(msg.sender);
}
modifier onlyMinter() {
require(isMinter(msg.sender));
_;
}
function isMinter(address account) public view returns (bool) {
return _minters.has(account);
}
function addMinter(address account) public onlyMinter {
_addMinter(account);
}
function renounceMinter() public {
_removeMinter(msg.sender);
}
function _addMinter(address account) internal {
_minters.add(account);
emit MinterAdded(account);
}
function _removeMinter(address account) internal {
_minters.remove(account);
emit MinterRemoved(account);
}
}
/**
* @title ERC20Mintable
* @dev ERC20 minting logic
*/
contract ERC20Mintable is BaseToken, MinterRole {
/**
* @dev Function to mint tokens
* @param to The address that will receive the minted tokens.
* @param value The amount of tokens to mint.
* @return A boolean that indicates if the operation was successful.
*/
// mint is only for THENODE's daily MPoS mining (250000 THE)
function mint(address to, uint256 value) public onlyMinter returns (bool) {
_mint(to, value);
return true;
}
}
contract THENODE is BaseToken, ERC20Mintable
{
using SafeMath for uint256;
string constant public name = 'THENODE';
string constant public symbol = 'THE';
string constant public version = '1.0.0';
constructor() public
{
totalSupply = 25000000 * E18;
balances[msg.sender] = totalSupply;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"_admin","outputs":[{"name":"","type":"address"}],"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":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"lockedBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"removeAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_index","type":"uint256"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"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":"isOwner","outputs":[{"name":"","type":"bool"}],"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":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"},{"name":"_value","type":"uint256"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"approvals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockedAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockup","outputs":[{"name":"amount","type":"uint256"},{"name":"expiresAt","type":"uint256"}],"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":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"proposeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"unlockAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destruction","outputs":[],"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":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"transferWithLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_locked","type":"bool"}],"name":"lockAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"allow","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","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"},{"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":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"}],"name":"UnlockedAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"UnlockedIndex","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Stopped","type":"event"},{"anonymous":false,"inputs":[],"name":"Started","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":"_address","type":"address"}],"name":"Allowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"RemoveAllowed","type":"event"}]Contract Creation Code
60806040523480156200001157600080fd5b5060008060006101000a81548160ff02191690831515021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200014133620001a260201b60201c565b670de0b6b3a764000063017d784002600481905550600454600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200034c565b620001bd8160096200020360201b620029901790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200023e57600080fd5b620002508282620002b960201b60201c565b156200025b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002f557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612b98806200035c6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806395d89b4111610130578063aa271e1a116100b8578063d37c6c9e1161007c578063d37c6c9e14610bfb578063dd62ed3e14610c05578063de6baccb14610c7d578063f226003114610ced578063ff9913e814610d3d57610232565b8063aa271e1a14610aab578063b2bdfa7b14610b07578063b5ed298a14610b51578063be9a655514610b95578063c4f3a85314610b9f57610232565b8063a21fbc92116100ff578063a21fbc92146108e6578063a32ce11e14610908578063a5bbd67a14610980578063a7b86824146109dc578063a9059cbb14610a4557610232565b806395d89b41146107af578063983b2d5614610832578063986502751461087657806399cca36c1461088057610232565b806340c10f19116101be5780636470db2f116101825780636470db2f1461062957806370a08231146106855780637eee288d146106dd5780638da5cb5b146107435780638f32d59b1461078d57610232565b806340c10f19146104b057806342966c68146105165780634e71e0c81461054457806354fd4d501461054e57806359355736146105d157610232565b806318160ddd1161020557806318160ddd1461037457806323b872dd1461039257806327e235e314610418578063313ce567146104705780633f683b6a1461048e57610232565b806301bc45c91461023757806306fdde031461028157806307da68f514610304578063095ea7b31461030e575b600080fd5b61023f610d99565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610289610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c95780820151818401526020810190506102ae565b50505050905090810190601f1680156102f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61030c610df8565b005b61035a6004803603604081101561032457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e13565b604051808215151515815260200191505060405180910390f35b61037c610fd6565b6040518082815260200191505060405180910390f35b6103fe600480360360608110156103a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fdc565b604051808215151515815260200191505060405180910390f35b61045a6004803603602081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611285565b6040518082815260200191505060405180910390f35b61047861129d565b6040518082815260200191505060405180910390f35b6104966112a2565b604051808215151515815260200191505060405180910390f35b6104fc600480360360408110156104c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112de565b604051808215151515815260200191505060405180910390f35b6105426004803603602081101561052c57600080fd5b8101908080359060200190929190505050611306565b005b61054c611456565b005b6105566115f5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561059657808201518184015260208101905061057b565b50505050905090810190601f1680156105c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610613600480360360208110156105e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162e565b6040518082815260200191505060405180910390f35b61066b6004803603602081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611785565b604051808215151515815260200191505060405180910390f35b6106c76004803603602081101561069b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183c565b6040518082815260200191505060405180910390f35b610729600480360360408110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611885565b604051808215151515815260200191505060405180910390f35b61074b611a7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610795611aa7565b604051808215151515815260200191505060405180910390f35b6107b7611afe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f75780820151818401526020810190506107dc565b50505050905090810190601f1680156108245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108746004803603602081101561084857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b37565b005b61087e611b55565b005b6108cc6004803603604081101561089657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b60565b604051808215151515815260200191505060405180910390f35b6108ee611bbb565b604051808215151515815260200191505060405180910390f35b61096a6004803603604081101561091e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0f565b6040518082815260200191505060405180910390f35b6109c26004803603602081101561099657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c34565b604051808215151515815260200191505060405180910390f35b610a28600480360360408110156109f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c54565b604051808381526020018281526020019250505060405180910390f35b610a9160048036036040811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c92565b604051808215151515815260200191505060405180910390f35b610aed60048036036020811015610ac157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e37565b604051808215151515815260200191505060405180910390f35b610b0f611e54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b9360048036036020811015610b6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e7a565b005b610b9d611f08565b005b610be160048036036020811015610bb557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f23565b604051808215151515815260200191505060405180910390f35b610c0361203c565b005b610c6760048036036040811015610c1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612066565b6040518082815260200191505060405180910390f35b610cd360048036036060811015610c9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506120ed565b604051808215151515815260200191505060405180910390f35b610d3b60048036036040811015610d0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612214565b005b610d7f60048036036020811015610d5357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612280565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600781526020017f5448454e4f44450000000000000000000000000000000000000000000000000081525081565b610e00611aa7565b610e0957600080fd5b610e11612337565b565b6000610e1d6112a2565b15610e2757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6157600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ead57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610ee657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b6000610fe66112a2565b15610ff057600080fd5b838383600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106757600080fd5b6000811161107457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110c057600080fd5b6110ca8382611b60565b156110d457600080fd5b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561115d57600080fd5b6111ec85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061127787878761239f565b600193505050509392505050565b60056020528060005260406000206000915090505481565b601281565b60006112ac611aa7565b806112bb57506112ba611bbb565b5b156112c957600090506112db565b6000809054906101000a900460ff1690505b90565b60006112e933611e37565b6112f257600080fd5b6112fc8383612533565b6001905092915050565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561135257600080fd5b6000811161135f57600080fd5b6113b181600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114098160045461237f90919063ffffffff16565b600481905550803373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a350565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561166957600080fd5b60008090506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561177c576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008180549050905060008090505b818110156117785782818154811061171f57fe5b90600052602060002090600202016001015442101561176b5761176883828154811061174757fe5b9060005260206000209060020201600001548561268790919063ffffffff16565b93505b808060010191505061170b565b5050505b80915050919050565b600061178f611aa7565b61179857600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5d9380eecb09de6c59dcca531d6c3da62117987963d921ccb7db0deb8a663dac60405160405180910390a260019050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061188f611aa7565b61189857600080fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508281116118eb57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061193857fe5b9060005260206000209060020201600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061199057fe5b90600052602060002090600202016000820154816000015560018201548160010155905050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611a079190612ae7565b507f657baf241b86add9803c50dcc5c1e3af63c10bf6c9e0500b0344ae29235279ca8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505092915050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6040518060400160405280600381526020017f544845000000000000000000000000000000000000000000000000000000000081525081565b611b4033611e37565b611b4957600080fd5b611b52816126a6565b50565b611b5e33612700565b565b600080611b6c8461162e565b90506000611b798561183c565b905060008211611b8e57600092505050611bb5565b8181118015611baf575083611bac838361237f90919063ffffffff16565b10155b15925050505b92915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b6006602052816000526040600020602052806000526040600020600091509150505481565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528160005260406000208181548110611c6d57fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b6000611c9c6112a2565b15611ca657600080fd5b3382600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3957600080fd5b338585600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d7657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611db057600080fd5b60008111611dbd57600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e0957600080fd5b611e138382611b60565b15611e1d57600080fd5b611e2833898961239f565b60019550505050505092915050565b6000611e4d82600961275a90919063ffffffff16565b9050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e82611aa7565b611e8b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ec457600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611f10611aa7565b611f1957600080fd5b611f216127ec565b565b6000611f2d611aa7565b611f3657600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011611f8557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611fd09190612b19565b7f500b38ce040ec2c9a2f10695ec52a72efd3b83b3366d10c8a9fb082f528b32fc82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a160019050919050565b612044611aa7565b61204d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006120f7611aa7565b61210057600080fd5b338484600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561213d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217757600080fd5b6000811161218457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121d057600080fd5b6121da8382611b60565b156121e457600080fd5b4285116121f057600080fd5b6121fb878787612834565b61220633888861239f565b600193505050509392505050565b61221c611aa7565b61222557600080fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061228a611aa7565b61229357600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0560405160405180910390a260019050919050565b7f7acc84e34091ae817647a4c49116f5cc07f319078ba80f8f5fde37ea7e25cbd660405160405180910390a160016000806101000a81548160ff021916908315150217905550565b60008282111561238e57600080fd5b600082840390508091505092915050565b6123f181600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061248681600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561256d57600080fd5b6125828160045461268790919063ffffffff16565b6004819055506125da81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101561269c57600080fd5b8091505092915050565b6126ba81600961299090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b612714816009612a3c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561279557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7fd8cea0ecd56872ff072e771658b5682ffe4de16d752947f79597d600ea56f7a960405160405180910390a160008060006101000a81548160ff021916908315150217905550565b61283c611aa7565b61284557600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280848152602001838152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050507f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd60008836001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156129ca57600080fd5b6129d4828261275a565b156129de57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a7657600080fd5b612a80828261275a565b612a8957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b815481835581811115612b1457600202816002028360005260206000209182019101612b139190612b3d565b5b505050565b5080546000825560020290600052602060002090810190612b3a9190612b3d565b50565b612b6991905b80821115612b6557600080820160009055600182016000905550600201612b43565b5090565b9056fea165627a7a72305820725ede317d7635386d345ea7bcce5f330a444a7cfaee347f21f7dfb437a653790029
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102325760003560e01c806395d89b4111610130578063aa271e1a116100b8578063d37c6c9e1161007c578063d37c6c9e14610bfb578063dd62ed3e14610c05578063de6baccb14610c7d578063f226003114610ced578063ff9913e814610d3d57610232565b8063aa271e1a14610aab578063b2bdfa7b14610b07578063b5ed298a14610b51578063be9a655514610b95578063c4f3a85314610b9f57610232565b8063a21fbc92116100ff578063a21fbc92146108e6578063a32ce11e14610908578063a5bbd67a14610980578063a7b86824146109dc578063a9059cbb14610a4557610232565b806395d89b41146107af578063983b2d5614610832578063986502751461087657806399cca36c1461088057610232565b806340c10f19116101be5780636470db2f116101825780636470db2f1461062957806370a08231146106855780637eee288d146106dd5780638da5cb5b146107435780638f32d59b1461078d57610232565b806340c10f19146104b057806342966c68146105165780634e71e0c81461054457806354fd4d501461054e57806359355736146105d157610232565b806318160ddd1161020557806318160ddd1461037457806323b872dd1461039257806327e235e314610418578063313ce567146104705780633f683b6a1461048e57610232565b806301bc45c91461023757806306fdde031461028157806307da68f514610304578063095ea7b31461030e575b600080fd5b61023f610d99565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610289610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c95780820151818401526020810190506102ae565b50505050905090810190601f1680156102f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61030c610df8565b005b61035a6004803603604081101561032457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e13565b604051808215151515815260200191505060405180910390f35b61037c610fd6565b6040518082815260200191505060405180910390f35b6103fe600480360360608110156103a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fdc565b604051808215151515815260200191505060405180910390f35b61045a6004803603602081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611285565b6040518082815260200191505060405180910390f35b61047861129d565b6040518082815260200191505060405180910390f35b6104966112a2565b604051808215151515815260200191505060405180910390f35b6104fc600480360360408110156104c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112de565b604051808215151515815260200191505060405180910390f35b6105426004803603602081101561052c57600080fd5b8101908080359060200190929190505050611306565b005b61054c611456565b005b6105566115f5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561059657808201518184015260208101905061057b565b50505050905090810190601f1680156105c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610613600480360360208110156105e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162e565b6040518082815260200191505060405180910390f35b61066b6004803603602081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611785565b604051808215151515815260200191505060405180910390f35b6106c76004803603602081101561069b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183c565b6040518082815260200191505060405180910390f35b610729600480360360408110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611885565b604051808215151515815260200191505060405180910390f35b61074b611a7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610795611aa7565b604051808215151515815260200191505060405180910390f35b6107b7611afe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f75780820151818401526020810190506107dc565b50505050905090810190601f1680156108245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108746004803603602081101561084857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b37565b005b61087e611b55565b005b6108cc6004803603604081101561089657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b60565b604051808215151515815260200191505060405180910390f35b6108ee611bbb565b604051808215151515815260200191505060405180910390f35b61096a6004803603604081101561091e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0f565b6040518082815260200191505060405180910390f35b6109c26004803603602081101561099657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c34565b604051808215151515815260200191505060405180910390f35b610a28600480360360408110156109f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c54565b604051808381526020018281526020019250505060405180910390f35b610a9160048036036040811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c92565b604051808215151515815260200191505060405180910390f35b610aed60048036036020811015610ac157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e37565b604051808215151515815260200191505060405180910390f35b610b0f611e54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b9360048036036020811015610b6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e7a565b005b610b9d611f08565b005b610be160048036036020811015610bb557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f23565b604051808215151515815260200191505060405180910390f35b610c0361203c565b005b610c6760048036036040811015610c1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612066565b6040518082815260200191505060405180910390f35b610cd360048036036060811015610c9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506120ed565b604051808215151515815260200191505060405180910390f35b610d3b60048036036040811015610d0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612214565b005b610d7f60048036036020811015610d5357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612280565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600781526020017f5448454e4f44450000000000000000000000000000000000000000000000000081525081565b610e00611aa7565b610e0957600080fd5b610e11612337565b565b6000610e1d6112a2565b15610e2757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6157600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ead57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610ee657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b6000610fe66112a2565b15610ff057600080fd5b838383600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106757600080fd5b6000811161107457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110c057600080fd5b6110ca8382611b60565b156110d457600080fd5b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561115d57600080fd5b6111ec85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061127787878761239f565b600193505050509392505050565b60056020528060005260406000206000915090505481565b601281565b60006112ac611aa7565b806112bb57506112ba611bbb565b5b156112c957600090506112db565b6000809054906101000a900460ff1690505b90565b60006112e933611e37565b6112f257600080fd5b6112fc8383612533565b6001905092915050565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561135257600080fd5b6000811161135f57600080fd5b6113b181600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114098160045461237f90919063ffffffff16565b600481905550803373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a350565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561166957600080fd5b60008090506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561177c576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008180549050905060008090505b818110156117785782818154811061171f57fe5b90600052602060002090600202016001015442101561176b5761176883828154811061174757fe5b9060005260206000209060020201600001548561268790919063ffffffff16565b93505b808060010191505061170b565b5050505b80915050919050565b600061178f611aa7565b61179857600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5d9380eecb09de6c59dcca531d6c3da62117987963d921ccb7db0deb8a663dac60405160405180910390a260019050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061188f611aa7565b61189857600080fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508281116118eb57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061193857fe5b9060005260206000209060020201600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061199057fe5b90600052602060002090600202016000820154816000015560018201548160010155905050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611a079190612ae7565b507f657baf241b86add9803c50dcc5c1e3af63c10bf6c9e0500b0344ae29235279ca8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505092915050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6040518060400160405280600381526020017f544845000000000000000000000000000000000000000000000000000000000081525081565b611b4033611e37565b611b4957600080fd5b611b52816126a6565b50565b611b5e33612700565b565b600080611b6c8461162e565b90506000611b798561183c565b905060008211611b8e57600092505050611bb5565b8181118015611baf575083611bac838361237f90919063ffffffff16565b10155b15925050505b92915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b6006602052816000526040600020602052806000526040600020600091509150505481565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528160005260406000208181548110611c6d57fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b6000611c9c6112a2565b15611ca657600080fd5b3382600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3957600080fd5b338585600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d7657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611db057600080fd5b60008111611dbd57600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e0957600080fd5b611e138382611b60565b15611e1d57600080fd5b611e2833898961239f565b60019550505050505092915050565b6000611e4d82600961275a90919063ffffffff16565b9050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e82611aa7565b611e8b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ec457600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611f10611aa7565b611f1957600080fd5b611f216127ec565b565b6000611f2d611aa7565b611f3657600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011611f8557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611fd09190612b19565b7f500b38ce040ec2c9a2f10695ec52a72efd3b83b3366d10c8a9fb082f528b32fc82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a160019050919050565b612044611aa7565b61204d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006120f7611aa7565b61210057600080fd5b338484600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561213d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217757600080fd5b6000811161218457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121d057600080fd5b6121da8382611b60565b156121e457600080fd5b4285116121f057600080fd5b6121fb878787612834565b61220633888861239f565b600193505050509392505050565b61221c611aa7565b61222557600080fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061228a611aa7565b61229357600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0560405160405180910390a260019050919050565b7f7acc84e34091ae817647a4c49116f5cc07f319078ba80f8f5fde37ea7e25cbd660405160405180910390a160016000806101000a81548160ff021916908315150217905550565b60008282111561238e57600080fd5b600082840390508091505092915050565b6123f181600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061248681600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561256d57600080fd5b6125828160045461268790919063ffffffff16565b6004819055506125da81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101561269c57600080fd5b8091505092915050565b6126ba81600961299090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b612714816009612a3c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561279557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7fd8cea0ecd56872ff072e771658b5682ffe4de16d752947f79597d600ea56f7a960405160405180910390a160008060006101000a81548160ff021916908315150217905550565b61283c611aa7565b61284557600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280848152602001838152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050507f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd60008836001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156129ca57600080fd5b6129d4828261275a565b156129de57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a7657600080fd5b612a80828261275a565b612a8957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b815481835581811115612b1457600202816002028360005260206000209182019101612b139190612b3d565b5b505050565b5080546000825560020290600052602060002090810190612b3a9190612b3d565b50565b612b6991905b80821115612b6557600080820160009055600182016000905550600201612b43565b5090565b9056fea165627a7a72305820725ede317d7635386d345ea7bcce5f330a444a7cfaee347f21f7dfb437a653790029
Deployed Bytecode Sourcemap
12792:356:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12792:356:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1625:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12880:42;;;:::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;12880:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3300:64;;;:::i;:::-;;8065:374;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8065:374:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4223:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7046:375;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7046:375:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4339:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4339:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4179:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3079:213;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12652:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12652:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9090:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9090:292:0;;;;;;;;;;;;;;;;;:::i;:::-;;3619:226;;;:::i;:::-;;12974:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12974:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5632:581;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5632:581:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2888:183;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2888:183:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5516:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5516:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8453:336;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8453:336:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2130:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2500:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12929: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;12929:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11761:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11761:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11861:77;;;:::i;:::-;;6372:394;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6372:394:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2605:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4390:68;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4390:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4513:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4513:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4465:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4465:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6774:264;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6774:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11644:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11644:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1597:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3446:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3446:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3372:66;;;:::i;:::-;;8797:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8797:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10208:88;;;:::i;:::-;;6221:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6221:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7501:305;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7501:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7885:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7885:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2712:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2712:168:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1625:21;;;;;;;;;;;;;:::o;12880:42::-;;;;;;;;;;;;;;;;;;;:::o;3300:64::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3349:7;:5;:7::i;:::-;3300:64::o;8065:374::-;8153:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;8203:1;8183:22;;:8;:22;;;;8175:31;;;;;;8249:6;8225:8;:20;8234:10;8225:20;;;;;;;;;;;;;;;;:30;;8217:39;;;;;;8289:8;8275:22;;:10;:22;;;;8267:31;;;;;;8345:6;8311:9;:21;8321:10;8311:21;;;;;;;;;;;;;;;:31;8333:8;8311:31;;;;;;;;;;;;;;;:40;;;;8390:8;8369:38;;8378:10;8369:38;;;8400:6;8369:38;;;;;;;;;;;;;;;;;;8427:4;8420:11;;8065:374;;;;:::o;4223:26::-;;;;:::o;7046:375::-;7194:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;7165:5;7172:3;7177:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;7256:6;7224:9;:16;7234:5;7224:16;;;;;;;;;;;;;;;:28;7241:10;7224:28;;;;;;;;;;;;;;;;:38;;7216:47;;;;;;7307:40;7340:6;7307:9;:16;7317:5;7307:16;;;;;;;;;;;;;;;:28;7324:10;7307:28;;;;;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;7276:9;:16;7286:5;7276:16;;;;;;;;;;;;;;;:28;7293:10;7276:28;;;;;;;;;;;;;;;:71;;;;7360:29;7370:5;7377:3;7382:6;7360:9;:29::i;:::-;7409:4;7402:11;;2483:1;;;7046:375;;;;;:::o;4339:44::-;;;;;;;;;;;;;;;;;:::o;4179:37::-;4214:2;4179:37;:::o;3079:213::-;3121:4;3146:9;:7;:9::i;:::-;:24;;;;3159:11;:9;:11::i;:::-;3146:24;3143:142;;;3203:5;3196:12;;;;3143:142;3266:7;;;;;;;;;;;3259:14;;3079:213;;:::o;12652:131::-;12720:4;11595:20;11604:10;11595:8;:20::i;:::-;11587:29;;;;;;12737:16;12743:2;12747:5;12737;:16::i;:::-;12771:4;12764:11;;12652:131;;;;:::o;9090:292::-;9177:6;9153:8;:20;9162:10;9153:20;;;;;;;;;;;;;;;;:30;;9145:39;;;;;;9212:1;9203:6;:10;9195:19;;;;;;9250:32;9275:6;9250:8;:20;9259:10;9250:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9227:8;:20;9236:10;9227:20;;;;;;;;;;;;;;;:55;;;;9309:23;9325:6;9309:11;;:15;;:23;;;;:::i;:::-;9295:11;:37;;;;9367:6;9355:10;9350:24;;;;;;;;;;;;9090:292;:::o;3619:226::-;3690:13;;;;;;;;;;;3676:27;;:10;:27;;;3668:36;;;;;;3751:13;;;;;;;;;;;3722:43;;3743:6;;;;;;;;;;;3722:43;;;;;;;;;;;;3787:13;;;;;;;;;;;3778:6;;:22;;;;;;;;;;;;;;;;;;3835:1;3811:13;;:26;;;;;;;;;;;;;;;;;;3619:226::o;12974:40::-;;;;;;;;;;;;;;;;;;;:::o;5632:581::-;5692:7;5741:1;5725:18;;:4;:18;;;;5717:27;;;;;;5757:21;5781:1;5757:25;;5818:1;5796:6;:12;5803:4;5796:12;;;;;;;;;;;;;;;:19;;;;:23;5793:380;;;5845:20;5868:6;:12;5875:4;5868:12;;;;;;;;;;;;;;;5845:35;;5897:14;5914:5;:12;;;;5897:29;;5946:6;5955:1;5946:10;;5941:221;5962:6;5958:1;:10;5941:221;;;6017:5;6023:1;6017:8;;;;;;;;;;;;;;;;;;:18;;;6011:3;:24;6007:140;;;6093:34;6111:5;6117:1;6111:8;;;;;;;;;;;;;;;;;;:15;;;6093:13;:17;;:34;;;;:::i;:::-;6077:50;;6007:140;5970:3;;;;;;;5941:221;;;;5793:380;;;6192:13;6185:20;;;5632:581;;;:::o;2888:183::-;2956:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;2998:5;2978:8;:17;2987:7;2978:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3033:7;3019:22;;;;;;;;;;;;3059:4;3052:11;;2888:183;;;:::o;5516:108::-;5570:7;5602:8;:14;5611:4;5602:14;;;;;;;;;;;;;;;;5595:21;;5516:108;;;:::o;8453:336::-;8527:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;8549:14;8566:6;:12;8573:4;8566:12;;;;;;;;;;;;;;;:19;;;;8549:36;;8613:6;8604;:15;8596:24;;;;;;8656:6;:12;8663:4;8656:12;;;;;;;;;;;;;;;8678:1;8669:6;:10;8656:24;;;;;;;;;;;;;;;;;;8633:6;:12;8640:4;8633:12;;;;;;;;;;;;;;;8646:6;8633:20;;;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;;8691:6;:12;8698:4;8691:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:::i;:::-;;8730:27;8744:4;8750:6;8730:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;8777:4;8770:11;;;8453:336;;;;:::o;2130:84::-;2168:7;2200:6;;;;;;;;;;;2193:13;;2130:84;:::o;2500:97::-;2540:4;2583:6;;;;;;;;;;;2569:20;;:10;:20;;;2562:27;;2500:97;:::o;12929:38::-;;;;;;;;;;;;;;;;;;;:::o;11761:92::-;11595:20;11604:10;11595:8;:20::i;:::-;11587:29;;;;;;11826:19;11837:7;11826:10;:19::i;:::-;11761:92;:::o;11861:77::-;11905:25;11919:10;11905:13;:25::i;:::-;11861:77::o;6372:394::-;6440:4;6462:21;6486;6502:4;6486:15;:21::i;:::-;6462:45;;6518:15;6536;6546:4;6536:9;:15::i;:::-;6518:33;;6584:1;6567:13;:18;6564:195;;6618:5;6611:12;;;;;;6564:195;6693:13;6683:7;:23;:63;;;;;6740:6;6710:26;6722:13;6710:7;:11;;:26;;;;:::i;:::-;:36;;6683:63;6681:66;6674:73;;;;6372:394;;;;;:::o;2605:99::-;2647:4;2676:8;:20;2685:10;2676:20;;;;;;;;;;;;;;;;;;;;;;;;;2669:27;;2605:99;:::o;4390:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4513:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4465:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6774:264::-;6940:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;6861:10;6873:6;5422:15;:24;5438:7;5422:24;;;;;;;;;;;;;;;;;;;;;;;;;5421:25;5413:34;;;;;;5481:1;5462:21;;:7;:21;;;;5454:30;;;;;;6906:10;6918:3;6923:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;6972:34;6982:10;6994:3;6999:6;6972:9;:34::i;:::-;7026:4;7019:11;;5499:1;;;2483;;6774:264;;;;:::o;11644:109::-;11700:4;11724:21;11737:7;11724:8;:12;;:21;;;;:::i;:::-;11717:28;;11644:109;;;:::o;1597:21::-;;;;;;;;;;;;;:::o;3446:165::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3547:14;3533:28;;:10;:28;;;;3525:37;;;;;;3589:14;3573:13;;:30;;;;;;;;;;;;;;;;;;3446:165;:::o;3372:66::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3422:8;:6;:8::i;:::-;3372:66::o;8797:212::-;8858:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;8910:1;8888:6;:12;8895:4;8888:12;;;;;;;;;;;;;;;:19;;;;:23;8880:32;;;;;;8932:6;:12;8939:4;8932:12;;;;;;;;;;;;;;;;8925:19;;;;:::i;:::-;8960:17;8972:4;8960:17;;;;;;;;;;;;;;;;;;;;;;8997:4;8990:11;;8797:212;;;:::o;10208:88::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;10277:10;10264:24;;;6221:143;6297:7;6329:9;:17;6339:6;6329:17;;;;;;;;;;;;;;;:27;6347:8;6329:27;;;;;;;;;;;;;;;;6322:34;;6221:143;;;;:::o;7501:305::-;7649:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;7606:10;7618:3;7623:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;7687:3;7679:5;:11;7671:20;;;;;;7704:25;7710:3;7715:6;7723:5;7704;:25::i;:::-;7740:34;7750:10;7762:3;7767:6;7740:9;:34::i;:::-;7794:4;7787:11;;2288:1;;;7501:305;;;;;:::o;7885:125::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;7995:7;7970:15;:22;7986:5;7970:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;7885:125;;:::o;2712:168::-;2772:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;2814:4;2794:8;:17;2803:7;2794:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;2842:7;2834:16;;;;;;;;;;;;2868:4;2861:11;;2712:168;;;:::o;3853:89::-;3900:9;;;;;;;;;;3930:4;3920:7;;:14;;;;;;;;;;;;;;;;;;3853:89::o;868:148::-;926:7;959:1;954;:6;;946:15;;;;;;972:9;988:1;984;:5;972:17;;1007:1;1000:8;;;868:148;;;;:::o;9690:257::-;9796:27;9816:6;9796:8;:15;9805:5;9796:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9778:8;:15;9787:5;9778:15;;;;;;;;;;;;;;;:45;;;;9850:25;9868:6;9850:8;:13;9859:3;9850:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9834:8;:13;9843:3;9834:13;;;;;;;;;;;;;;;:41;;;;9927:3;9911:28;;9920:5;9911:28;;;9932:6;9911:28;;;;;;;;;;;;;;;;;;9690:257;;;:::o;9402:275::-;9503:1;9484:21;;:7;:21;;;;9476:30;;;;;;9533:23;9549:6;9533:11;;:15;;:23;;;;:::i;:::-;9519:11;:37;;;;9587:29;9609:6;9587:8;:17;9596:7;9587:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;9567:8;:17;9576:7;9567:17;;;;;;;;;;;;;;;:49;;;;9653:7;9632:37;;9649:1;9632:37;;;9662:6;9632:37;;;;;;;;;;;;;;;;;;9402:275;;:::o;1102:148::-;1160:7;1180:9;1196:1;1192;:5;1180:17;;1221:1;1216;:6;;1208:15;;;;;;1241:1;1234:8;;;1102:148;;;;:::o;11946:122::-;12003:21;12016:7;12003:8;:12;;:21;;;;:::i;:::-;12052:7;12040:20;;;;;;;;;;;;11946:122;:::o;12076:130::-;12136:24;12152:7;12136:8;:15;;:24;;;;:::i;:::-;12190:7;12176:22;;;;;;;;;;;;12076:130;:::o;11109:165::-;11181:4;11225:1;11206:21;;:7;:21;;;;11198:30;;;;;;11246:4;:11;;:20;11258:7;11246:20;;;;;;;;;;;;;;;;;;;;;;;;;11239:27;;11109:165;;;;:::o;3950:91::-;3998:9;;;;;;;;;;4028:5;4018:7;;:15;;;;;;;;;;;;;;;;;;3950:91::o;9955:204::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;10054:6;:12;10061:4;10054:12;;;;;;;;;;;;;;;10072:23;;;;;;;;10077:6;10072:23;;;;10085:9;10072:23;;;10054:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10054:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10114:37;10121:4;10149:1;10127:6;:12;10134:4;10127:12;;;;;;;;;;;;;;;:19;;;;:23;10114:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;9955:204;;;:::o;10561:186::-;10657:1;10638:21;;:7;:21;;;;10630:30;;;;;;10680:18;10684:4;10690:7;10680:3;:18::i;:::-;10679:19;10671:28;;;;;;10735:4;10712;:11;;:20;10724:7;10712:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;10561:186;;:::o;10826:189::-;10925:1;10906:21;;:7;:21;;;;10898:30;;;;;;10947:18;10951:4;10957:7;10947:3;:18::i;:::-;10939:27;;;;;;11002:5;10979:4;:11;;:20;10991:7;10979:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10826:189;;:::o;12792:356::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://725ede317d7635386d345ea7bcce5f330a444a7cfaee347f21f7dfb437a65379
Loading...
Loading
Loading...
Loading
Net Worth in USD
$536.23
Net Worth in ETH
0.173469
Token Allocations
THE
100.00%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.337747 | 1,587.6544 | $536.23 |
Loading...
Loading
Loading...
Loading
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.