Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 2,413 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Purchase | 12069657 | 1823 days ago | IN | 0.24639189 ETH | 0.0095811 | ||||
| Purchase | 12069308 | 1823 days ago | IN | 0.001 ETH | 0.01235612 | ||||
| Payout | 5195729 | 2933 days ago | IN | 0 ETH | 0.00015569 | ||||
| Purchase | 5133424 | 2944 days ago | IN | 0.193007 ETH | 0.0002539 | ||||
| Purchase | 5133400 | 2944 days ago | IN | 0.193007 ETH | 0.00034817 | ||||
| Purchase | 5133200 | 2944 days ago | IN | 16.480098 ETH | 0.00013924 | ||||
| Purchase | 5133175 | 2944 days ago | IN | 30.176561 ETH | 0.00084624 | ||||
| Purchase | 5133161 | 2944 days ago | IN | 0.193007 ETH | 0.0002089 | ||||
| Purchase | 5133119 | 2944 days ago | IN | 0.314543 ETH | 0.0002089 | ||||
| Purchase | 5133097 | 2944 days ago | IN | 0.314543 ETH | 0.0002089 | ||||
| Purchase | 5133089 | 2944 days ago | IN | 0.51261 ETH | 0.0002089 | ||||
| Purchase | 5132908 | 2944 days ago | IN | 0.246392 ETH | 0.00021853 | ||||
| Purchase | 5132907 | 2944 days ago | IN | 0.193007 ETH | 0.00027853 | ||||
| Purchase | 5132857 | 2944 days ago | IN | 0.193007 ETH | 0.00033853 | ||||
| Purchase | 5132793 | 2944 days ago | IN | 0.193007 ETH | 0.00069634 | ||||
| Purchase | 5132779 | 2944 days ago | IN | 0.246392 ETH | 0.00136585 | ||||
| Purchase | 5132763 | 2944 days ago | IN | 0.246392 ETH | 0.00212431 | ||||
| Purchase | 5132581 | 2944 days ago | IN | 0.193007 ETH | 0.00021853 | ||||
| Purchase | 5132566 | 2944 days ago | IN | 0.193007 ETH | 0.00042317 | ||||
| Purchase | 5132291 | 2944 days ago | IN | 0.151189 ETH | 0.00022861 | ||||
| Purchase | 5132227 | 2944 days ago | IN | 0.151189 ETH | 0.00009144 | ||||
| Purchase | 5132132 | 2944 days ago | IN | 0.151189 ETH | 0.00009144 | ||||
| Purchase | 5132075 | 2944 days ago | IN | 0.193007 ETH | 0.00027853 | ||||
| Purchase | 5132014 | 2944 days ago | IN | 0.193007 ETH | 0.00069634 | ||||
| Purchase | 5131840 | 2944 days ago | IN | 0.193007 ETH | 0.00027317 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 12069657 | 1823 days ago | 0.23160838 ETH | ||||
| Transfer | 5195729 | 2933 days ago | 47.12861316 ETH | ||||
| Transfer | 5133424 | 2944 days ago | 0.00000001 ETH | ||||
| Transfer | 5133424 | 2944 days ago | 0.18142656 ETH | ||||
| Transfer | 5133400 | 2944 days ago | 0.00000001 ETH | ||||
| Transfer | 5133400 | 2944 days ago | 0.18142656 ETH | ||||
| Transfer | 5133200 | 2944 days ago | 0.00000037 ETH | ||||
| Transfer | 5133200 | 2944 days ago | 15.49129176 ETH | ||||
| Transfer | 5133175 | 2944 days ago | 0.00000032 ETH | ||||
| Transfer | 5133175 | 2944 days ago | 28.36596703 ETH | ||||
| Transfer | 5133161 | 2944 days ago | 0.00000001 ETH | ||||
| Transfer | 5133161 | 2944 days ago | 0.18142656 ETH | ||||
| Transfer | 5133119 | 2944 days ago | 0.00000015 ETH | ||||
| Transfer | 5133119 | 2944 days ago | 0.29567027 ETH | ||||
| Transfer | 5133097 | 2944 days ago | 0.00000015 ETH | ||||
| Transfer | 5133097 | 2944 days ago | 0.29567027 ETH | ||||
| Transfer | 5133089 | 2944 days ago | 0.00000056 ETH | ||||
| Transfer | 5133089 | 2944 days ago | 0.48185287 ETH | ||||
| Transfer | 5132908 | 2944 days ago | 0.0000001 ETH | ||||
| Transfer | 5132908 | 2944 days ago | 0.23160838 ETH | ||||
| Transfer | 5132907 | 2944 days ago | 0.00000001 ETH | ||||
| Transfer | 5132907 | 2944 days ago | 0.18142656 ETH | ||||
| Transfer | 5132857 | 2944 days ago | 0.00000001 ETH | ||||
| Transfer | 5132857 | 2944 days ago | 0.18142656 ETH | ||||
| Transfer | 5132793 | 2944 days ago | 0.00000001 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CollectibleToken
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-02-08
*/
pragma solidity ^0.4.18; // solhint-disable-line
/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
contract ERC721 {
// Required methods
function approve(address _to, uint256 _tokenId) public;
function balanceOf(address _owner) public view returns (uint256 balance);
function implementsERC721() public pure returns (bool);
function ownerOf(uint256 _tokenId) public view returns (address addr);
function takeOwnership(uint256 _tokenId) public;
function transferFrom(address _from, address _to, uint256 _tokenId) public;
function transfer(address _to, uint256 _tokenId) public;
uint256 public totalSupply;
event Transfer(address indexed from, address indexed to, uint256 tokenId);
event Approval(address indexed owner, address indexed approved, uint256 tokenId);
// Optional
// function name() public view returns (string name);
// function symbol() public view returns (string symbol);
// function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId);
// function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl);
}
contract CollectibleToken is ERC721 {
/*** EVENTS ***/
/// @dev The Birth event is fired whenever a new collectible comes into existence.
event Birth(uint256 tokenId, uint256 startPrice, uint256 totalSupply);
/// @dev The TokenSold event is fired whenever a token is sold.
event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner);
/// @dev Transfer event as defined in current draft of ERC721.
/// ownership is assigned, including births.
event Transfer(address from, address to, uint256 tokenId);
/*** CONSTANTS ***/
/// @notice Name and symbol of the non fungible token, as defined in ERC721.
string public constant NAME = "crypto-youCollect"; // solhint-disable-line
string public constant SYMBOL = "CYC"; // solhint-disable-line
uint256 private startingPrice = 0.001 ether;
uint256 private constant PROMO_CREATION_LIMIT = 5000;
uint256 private firstStepLimit = 0.053613 ether;
uint256 private secondStepLimit = 0.564957 ether;
/*** STORAGE ***/
/// @dev A mapping from collectible IDs to the address that owns them. All collectibles have
/// some valid owner address.
mapping (uint256 => address) public collectibleIndexToOwner;
// @dev A mapping from owner address to count of tokens that address owns.
// Used internally inside balanceOf() to resolve ownership count.
mapping (address => uint256) private ownershipTokenCount;
/// @dev A mapping from CollectibleIDs to an address that has been approved to call
/// transferFrom(). Each Collectible can only have one approved address for transfer
/// at any time. A zero value means no approval is outstanding.
mapping (uint256 => address) public collectibleIndexToApproved;
// @dev A mapping from CollectibleIDs to the price of the token.
mapping (uint256 => uint256) private collectibleIndexToPrice;
// The addresses of the accounts (or contracts) that can execute actions within each roles.
address public ceoAddress;
address public cooAddress;
uint256 public promoCreatedCount;
/*** ACCESS MODIFIERS ***/
/// @dev Access modifier for CEO-only functionality
modifier onlyCEO() {
require(msg.sender == ceoAddress);
_;
}
/// @dev Access modifier for COO-only functionality
modifier onlyCOO() {
require(msg.sender == cooAddress);
_;
}
/// Access modifier for contract owner only functionality
modifier onlyCLevel() {
require(
msg.sender == ceoAddress ||
msg.sender == cooAddress
);
_;
}
/*** CONSTRUCTOR ***/
function CollectibleToken() public {
ceoAddress = msg.sender;
cooAddress = msg.sender;
}
/*** PUBLIC FUNCTIONS ***/
/// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom().
/// @param _to The address to be granted transfer approval. Pass address(0) to
/// clear all approvals.
/// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
/// @dev Required for ERC-721 compliance.
function approve(
address _to,
uint256 _tokenId
) public {
// Caller must own token.
require(_owns(msg.sender, _tokenId));
collectibleIndexToApproved[_tokenId] = _to;
Approval(msg.sender, _to, _tokenId);
}
/// For querying balance of a particular account
/// @param _owner The address for balance query
/// @dev Required for ERC-721 compliance.
function balanceOf(address _owner) public view returns (uint256 balance) {
return ownershipTokenCount[_owner];
}
/// @dev Creates a new promo collectible with the given name, with given _price and assignes it to an address.
function createPromoCollectible(uint256 tokenId, address _owner, uint256 _price) public onlyCOO {
require(collectibleIndexToOwner[tokenId]==address(0));
require(promoCreatedCount < PROMO_CREATION_LIMIT);
address collectibleOwner = _owner;
if (collectibleOwner == address(0)) {
collectibleOwner = cooAddress;
}
if (_price <= 0) {
_price = startingPrice;
}
promoCreatedCount++;
_createCollectible(tokenId, _price);
// This will assign ownership, and also emit the Transfer event as
// per ERC721 draft
_transfer(address(0), collectibleOwner, tokenId);
}
/// @notice Returns all the relevant information about a specific collectible.
/// @param _tokenId The tokenId of the collectible of interest.
function getCollectible(uint256 _tokenId) public view returns (uint256 tokenId,
uint256 sellingPrice,
address owner,
uint256 nextSellingPrice
) {
tokenId = _tokenId;
sellingPrice = collectibleIndexToPrice[_tokenId];
owner = collectibleIndexToOwner[_tokenId];
if (sellingPrice == 0)
sellingPrice = startingPrice;
if (sellingPrice < firstStepLimit) {
nextSellingPrice = SafeMath.div(SafeMath.mul(sellingPrice, 200), 94);
} else if (sellingPrice < secondStepLimit) {
nextSellingPrice = SafeMath.div(SafeMath.mul(sellingPrice, 120), 94);
} else {
nextSellingPrice = SafeMath.div(SafeMath.mul(sellingPrice, 115), 94);
}
}
function implementsERC721() public pure returns (bool) {
return true;
}
/// @dev Required for ERC-721 compliance.
function name() public pure returns (string) {
return NAME;
}
/// For querying owner of token
/// @param _tokenId The tokenID for owner inquiry
/// @dev Required for ERC-721 compliance.
function ownerOf(uint256 _tokenId)
public
view
returns (address owner)
{
owner = collectibleIndexToOwner[_tokenId];
require(owner != address(0));
}
function payout(address _to) public onlyCLevel {
_payout(_to);
}
// Allows someone to send ether and obtain the token
function purchase(uint256 _tokenId) public payable {
address oldOwner = collectibleIndexToOwner[_tokenId];
address newOwner = msg.sender;
uint256 sellingPrice = collectibleIndexToPrice[_tokenId];
if (sellingPrice == 0) {
sellingPrice = startingPrice;
_createCollectible(_tokenId, sellingPrice);
}
// Safety check to prevent against an unexpected 0x0 default.
require(_addressNotNull(newOwner));
// Making sure sent amount is greater than or equal to the sellingPrice
require(msg.value >= sellingPrice);
uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 94), 100));
uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);
// Update prices
if (sellingPrice < firstStepLimit) {
// first stage
collectibleIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), 94);
} else if (sellingPrice < secondStepLimit) {
// second stage
collectibleIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 94);
} else {
// third stage
collectibleIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 115), 94);
}
_transfer(oldOwner, newOwner, _tokenId);
TokenSold(_tokenId, sellingPrice, collectibleIndexToPrice[_tokenId], oldOwner, newOwner);
// Pay previous tokenOwner if owner is not contract
if (oldOwner != address(this) && oldOwner != address(0)) {
oldOwner.transfer(payment); //(1-0.06)
}
msg.sender.transfer(purchaseExcess);
}
function priceOf(uint256 _tokenId) public view returns (uint256 price) {
price = collectibleIndexToPrice[_tokenId];
if (price == 0)
price = startingPrice;
}
/// @dev Assigns a new address to act as the CEO. Only available to the current CEO.
/// @param _newCEO The address of the new CEO
function setCEO(address _newCEO) public onlyCEO {
require(_newCEO != address(0));
ceoAddress = _newCEO;
}
/// @dev Assigns a new address to act as the COO. Only available to the current COO.
/// @param _newCOO The address of the new COO
function setCOO(address _newCOO) public onlyCEO {
require(_newCOO != address(0));
cooAddress = _newCOO;
}
/// @dev Required for ERC-721 compliance.
function symbol() public pure returns (string) {
return SYMBOL;
}
/// @notice Allow pre-approved user to take ownership of a token
/// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
/// @dev Required for ERC-721 compliance.
function takeOwnership(uint256 _tokenId) public {
address newOwner = msg.sender;
address oldOwner = collectibleIndexToOwner[_tokenId];
// Safety check to prevent against an unexpected 0x0 default.
require(_addressNotNull(newOwner));
// Making sure transfer is approved
require(_approved(newOwner, _tokenId));
_transfer(oldOwner, newOwner, _tokenId);
}
/// Owner initates the transfer of the token to another account
/// @param _to The address for the token to be transferred to.
/// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
/// @dev Required for ERC-721 compliance.
function transfer(
address _to,
uint256 _tokenId
) public {
require(_owns(msg.sender, _tokenId));
require(_addressNotNull(_to));
_transfer(msg.sender, _to, _tokenId);
}
/// Third-party initiates transfer of token from address _from to address _to
/// @param _from The address for the token to be transferred from.
/// @param _to The address for the token to be transferred to.
/// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
/// @dev Required for ERC-721 compliance.
function transferFrom(
address _from,
address _to,
uint256 _tokenId
) public {
require(_owns(_from, _tokenId));
require(_approved(_to, _tokenId));
require(_addressNotNull(_to));
_transfer(_from, _to, _tokenId);
}
/*** PRIVATE FUNCTIONS ***/
/// Safety check on _to address to prevent against an unexpected 0x0 default.
function _addressNotNull(address _to) private pure returns (bool) {
return _to != address(0);
}
/// For checking approval of transfer for address _to
function _approved(address _to, uint256 _tokenId) private view returns (bool) {
return collectibleIndexToApproved[_tokenId] == _to;
}
/// For creating Collectible
function _createCollectible(uint256 tokenId, uint256 _price) private {
collectibleIndexToPrice[tokenId] = _price;
totalSupply++;
Birth(tokenId, _price, totalSupply);
}
/// Check for token ownership
function _owns(address claimant, uint256 _tokenId) private view returns (bool) {
return claimant == collectibleIndexToOwner[_tokenId];
}
/// For paying out balance on contract
function _payout(address _to) private {
if (_to == address(0)) {
ceoAddress.transfer(this.balance);
} else {
_to.transfer(this.balance);
}
}
/// @dev Assigns ownership of a specific Collectible to an address.
function _transfer(address _from, address _to, uint256 _tokenId) private {
// Since the number of collectibles is capped to 2^32 we can't overflow this
ownershipTokenCount[_to]++;
//transfer ownership
collectibleIndexToOwner[_tokenId] = _to;
// When creating new collectibles _from is 0x0, but we can't account that address.
if (_from != address(0)) {
ownershipTokenCount[_from]--;
// clear any previously approved ownership exchange
delete collectibleIndexToApproved[_tokenId];
}
// Emit the transfer event.
Transfer(_from, _to, _tokenId);
}
}
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 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 c;
}
/**
* @dev Substracts 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) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"promoCreatedCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","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":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"collectibleIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getCollectible","outputs":[{"name":"tokenId","type":"uint256"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"},{"name":"nextSellingPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenId","type":"uint256"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"}],"name":"createPromoCollectible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"collectibleIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"startPrice","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
606060405266038d7ea4c6800060015566be78bd4c57d0006002556707d72165f25ed000600355341561003157600080fd5b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a7d806100c26000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461014357806306fdde031461016c578063095ea7b3146101fa5780630a0f81681461023c5780630b7e9c44146102915780631051db34146102ca57806318160ddd146102f757806323b872dd1461032057806327d7874c146103815780632ba73c15146103ba57806360d1ce36146103f35780636352211e1461045657806370a08231146104b957806372d996751461050657806395d89b411461057e578063a3f4df7e1461060c578063a9059cbb1461069a578063ad731de7146106dc578063b047fb5014610727578063b2e6ceeb1461077c578063b9186d7d1461079f578063c61b06ae146107d6578063efef39a114610839578063f76f8d7814610851575b600080fd5b341561014e57600080fd5b6101566108df565b6040518082815260200191505060405180910390f35b341561017757600080fd5b61017f6108e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bf5780820151818401526020810190506101a4565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610928565b005b341561024757600080fd5b61024f6109f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561029c57600080fd5b6102c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a1e565b005b34156102d557600080fd5b6102dd610ade565b604051808215151515815260200191505060405180910390f35b341561030257600080fd5b61030a610ae7565b6040518082815260200191505060405180910390f35b341561032b57600080fd5b61037f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610aed565b005b341561038c57600080fd5b6103b8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b3b565b005b34156103c557600080fd5b6103f1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c17565b005b34156103fe57600080fd5b6104146004808035906020019091905050610cf3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561046157600080fd5b6104776004808035906020019091905050610d26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c457600080fd5b6104f0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9f565b6040518082815260200191505060405180910390f35b341561051157600080fd5b6105276004808035906020019091905050610de8565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b341561058957600080fd5b610591610eb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d15780820151818401526020810190506105b6565b50505050905090810190601f1680156105fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061757600080fd5b61061f610efb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065f578082015181840152602081019050610644565b50505050905090810190601f16801561068c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106a557600080fd5b6106da600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f34565b005b34156106e757600080fd5b610725600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f6c565b005b341561073257600080fd5b61073a6110e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561078757600080fd5b61079d600480803590602001909190505061110c565b005b34156107aa57600080fd5b6107c06004808035906020019091905050611181565b6040518082815260200191505060405180910390f35b34156107e157600080fd5b6107f760048080359060200190919050506111ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61084f60048080359060200190919050506111e0565b005b341561085c57600080fd5b6108646114fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108a4578082015181840152602081019050610889565b50505050905090810190601f1680156108d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600a5481565b6108ed611a3d565b6040805190810160405280601181526020017f63727970746f2d796f75436f6c6c656374000000000000000000000000000000815250905090565b6109323382611537565b151561093d57600080fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac75750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ad257600080fd5b610adb816115a3565b50565b60006001905090565b60005481565b610af78382611537565b1515610b0257600080fd5b610b0c82826116b1565b1515610b1757600080fd5b610b208261171d565b1515610b2b57600080fd5b610b36838383611756565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b9757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bd357600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610caf57600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d9a57600080fd5b919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080849350600760008681526020019081526020016000205492506004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506000831415610e4c5760015492505b600254831015610e7257610e6b610e648460c8611958565b605e611993565b9050610eb1565b600354831015610e9857610e91610e8a846078611958565b605e611993565b9050610eb0565b610ead610ea6846073611958565b605e611993565b90505b5b9193509193565b610ec0611a3d565b6040805190810160405280600381526020017f4359430000000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280601181526020017f63727970746f2d796f75436f6c6c65637400000000000000000000000000000081525081565b610f3e3382611537565b1515610f4957600080fd5b610f528261171d565b1515610f5d57600080fd5b610f68338383611756565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fca57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561103857600080fd5b611388600a5410151561104a57600080fd5b829050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110a857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000821115156110b85760015491505b600a600081548092919060010191905055506110d484836119ae565b6110e060008286611756565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506111518261171d565b151561115c57600080fd5b61116682846116b1565b151561117157600080fd5b61117c818385611756565b505050565b60006007600083815260200190815260200160002054905060008114156111a85760015490505b919050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945033935060076000878152602001908152602001600020549250600083141561125057600154925061124f86846119ae565b5b6112598461171d565b151561126457600080fd5b82341015151561127357600080fd5b61128861128184605e611958565b6064611993565b91506112943484611a24565b90506002548310156112d1576112b56112ae8460c8611958565b605e611993565b600760008881526020019081526020016000208190555061133a565b60035483101561130c576112f06112e9846078611958565b605e611993565b6007600088815260200190815260200160002081905550611339565b61132161131a846073611958565b605e611993565b60076000888152602001908152602001600020819055505b5b611345858588611756565b7f366e81d6675b75f581d1b7b428bc717efb1fa8b4bb542c1d26e15a1bc770baad8684600760008a8152602001908152602001600020548888604051808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a13073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114705750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156114b6578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156114b557600080fd5b5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156114f657600080fd5b505050505050565b6040805190810160405280600381526020017f435943000000000000000000000000000000000000000000000000000000000081525081565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561165657600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561165157600080fd5b6116ae565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156116ad57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156118b457600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b600080600084141561196d576000915061198c565b828402905082848281151561197e57fe5b0414151561198857fe5b8091505b5092915050565b60008082848115156119a157fe5b0490508091505092915050565b80600760008481526020019081526020016000208190555060008081548092919060010191905055507fc5c93bdc0a92eb4fbe5d30c377b9286863856753b05e657e464e936afad9e0ef828260005460405180848152602001838152602001828152602001935050505060405180910390a15050565b6000828211151515611a3257fe5b818303905092915050565b6020604051908101604052806000815250905600a165627a7a7230582067fe11a691d2f90805d15f85b88d3e430e59fe6839a381ae2879e44f3c027dd00029
Deployed Bytecode
0x60606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461014357806306fdde031461016c578063095ea7b3146101fa5780630a0f81681461023c5780630b7e9c44146102915780631051db34146102ca57806318160ddd146102f757806323b872dd1461032057806327d7874c146103815780632ba73c15146103ba57806360d1ce36146103f35780636352211e1461045657806370a08231146104b957806372d996751461050657806395d89b411461057e578063a3f4df7e1461060c578063a9059cbb1461069a578063ad731de7146106dc578063b047fb5014610727578063b2e6ceeb1461077c578063b9186d7d1461079f578063c61b06ae146107d6578063efef39a114610839578063f76f8d7814610851575b600080fd5b341561014e57600080fd5b6101566108df565b6040518082815260200191505060405180910390f35b341561017757600080fd5b61017f6108e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bf5780820151818401526020810190506101a4565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610928565b005b341561024757600080fd5b61024f6109f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561029c57600080fd5b6102c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a1e565b005b34156102d557600080fd5b6102dd610ade565b604051808215151515815260200191505060405180910390f35b341561030257600080fd5b61030a610ae7565b6040518082815260200191505060405180910390f35b341561032b57600080fd5b61037f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610aed565b005b341561038c57600080fd5b6103b8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b3b565b005b34156103c557600080fd5b6103f1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c17565b005b34156103fe57600080fd5b6104146004808035906020019091905050610cf3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561046157600080fd5b6104776004808035906020019091905050610d26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c457600080fd5b6104f0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9f565b6040518082815260200191505060405180910390f35b341561051157600080fd5b6105276004808035906020019091905050610de8565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b341561058957600080fd5b610591610eb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d15780820151818401526020810190506105b6565b50505050905090810190601f1680156105fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061757600080fd5b61061f610efb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065f578082015181840152602081019050610644565b50505050905090810190601f16801561068c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106a557600080fd5b6106da600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f34565b005b34156106e757600080fd5b610725600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f6c565b005b341561073257600080fd5b61073a6110e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561078757600080fd5b61079d600480803590602001909190505061110c565b005b34156107aa57600080fd5b6107c06004808035906020019091905050611181565b6040518082815260200191505060405180910390f35b34156107e157600080fd5b6107f760048080359060200190919050506111ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61084f60048080359060200190919050506111e0565b005b341561085c57600080fd5b6108646114fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108a4578082015181840152602081019050610889565b50505050905090810190601f1680156108d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600a5481565b6108ed611a3d565b6040805190810160405280601181526020017f63727970746f2d796f75436f6c6c656374000000000000000000000000000000815250905090565b6109323382611537565b151561093d57600080fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac75750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ad257600080fd5b610adb816115a3565b50565b60006001905090565b60005481565b610af78382611537565b1515610b0257600080fd5b610b0c82826116b1565b1515610b1757600080fd5b610b208261171d565b1515610b2b57600080fd5b610b36838383611756565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b9757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bd357600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610caf57600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d9a57600080fd5b919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080849350600760008681526020019081526020016000205492506004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506000831415610e4c5760015492505b600254831015610e7257610e6b610e648460c8611958565b605e611993565b9050610eb1565b600354831015610e9857610e91610e8a846078611958565b605e611993565b9050610eb0565b610ead610ea6846073611958565b605e611993565b90505b5b9193509193565b610ec0611a3d565b6040805190810160405280600381526020017f4359430000000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280601181526020017f63727970746f2d796f75436f6c6c65637400000000000000000000000000000081525081565b610f3e3382611537565b1515610f4957600080fd5b610f528261171d565b1515610f5d57600080fd5b610f68338383611756565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fca57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561103857600080fd5b611388600a5410151561104a57600080fd5b829050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110a857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000821115156110b85760015491505b600a600081548092919060010191905055506110d484836119ae565b6110e060008286611756565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506111518261171d565b151561115c57600080fd5b61116682846116b1565b151561117157600080fd5b61117c818385611756565b505050565b60006007600083815260200190815260200160002054905060008114156111a85760015490505b919050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945033935060076000878152602001908152602001600020549250600083141561125057600154925061124f86846119ae565b5b6112598461171d565b151561126457600080fd5b82341015151561127357600080fd5b61128861128184605e611958565b6064611993565b91506112943484611a24565b90506002548310156112d1576112b56112ae8460c8611958565b605e611993565b600760008881526020019081526020016000208190555061133a565b60035483101561130c576112f06112e9846078611958565b605e611993565b6007600088815260200190815260200160002081905550611339565b61132161131a846073611958565b605e611993565b60076000888152602001908152602001600020819055505b5b611345858588611756565b7f366e81d6675b75f581d1b7b428bc717efb1fa8b4bb542c1d26e15a1bc770baad8684600760008a8152602001908152602001600020548888604051808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a13073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114705750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156114b6578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156114b557600080fd5b5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156114f657600080fd5b505050505050565b6040805190810160405280600381526020017f435943000000000000000000000000000000000000000000000000000000000081525081565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561165657600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561165157600080fd5b6116ae565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156116ad57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156118b457600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b600080600084141561196d576000915061198c565b828402905082848281151561197e57fe5b0414151561198857fe5b8091505b5092915050565b60008082848115156119a157fe5b0490508091505092915050565b80600760008481526020019081526020016000208190555060008081548092919060010191905055507fc5c93bdc0a92eb4fbe5d30c377b9286863856753b05e657e464e936afad9e0ef828260005460405180848152602001838152602001828152602001935050505060405180910390a15050565b6000828211151515611a3257fe5b818303905092915050565b6020604051908101604052806000815250905600a165627a7a7230582067fe11a691d2f90805d15f85b88d3e430e59fe6839a381ae2879e44f3c027dd00029
Swarm Source
bzzr://67fe11a691d2f90805d15f85b88d3e430e59fe6839a381ae2879e44f3c027dd0
Loading...
Loading
Loading...
Loading
Net Worth in USD
$36.09
Net Worth in ETH
0.015784
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,286.3 | 0.0158 | $36.09 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.