Source Code
Latest 22 from a total of 22 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 6459286 | 2712 days ago | IN | 0 ETH | 0.00020182 | ||||
| Claim All Tokens | 6459271 | 2712 days ago | IN | 0 ETH | 0.0003363 | ||||
| Transfer | 4912439 | 2976 days ago | IN | 0.05375112 ETH | 0.0008862 | ||||
| Transfer | 4912418 | 2976 days ago | IN | 0.05737097 ETH | 0.001386 | ||||
| Transfer | 4912330 | 2976 days ago | IN | 0.05875697 ETH | 0.000861 | ||||
| Transfer | 4912298 | 2976 days ago | IN | 0.06114268 ETH | 0.000861 | ||||
| Transfer | 4912271 | 2976 days ago | IN | 0.06200368 ETH | 0.000483 | ||||
| Transfer | 4757867 | 3003 days ago | IN | 0.25 ETH | 0.00180992 | ||||
| Withdraw | 4630001 | 3025 days ago | IN | 0 ETH | 0.00156744 | ||||
| 0x70c690f4 | 4345369 | 3075 days ago | IN | 0 ETH | 0.00041616 | ||||
| Transfer | 4344498 | 3076 days ago | IN | 0.187568 ETH | 0.00258561 | ||||
| Transfer | 4344491 | 3076 days ago | IN | 0.187568 ETH | 0.00063 | ||||
| Transfer | 4332624 | 3080 days ago | IN | 0.187568 ETH | 0.00180992 | ||||
| Transfer | 4332568 | 3080 days ago | IN | 0.19 ETH | 0.000441 | ||||
| Transfer | 4332566 | 3080 days ago | IN | 0.19 ETH | 0.000441 | ||||
| Transfer | 4323961 | 3083 days ago | IN | 0.3 ETH | 0.00180992 | ||||
| Transfer | 4266988 | 3100 days ago | IN | 0.4 ETH | 0.00051712 | ||||
| Claim All Tokens | 4223207 | 3113 days ago | IN | 1.95 ETH | 0.05340706 | ||||
| Transfer | 4219924 | 3114 days ago | IN | 12.05 ETH | 0.00149492 | ||||
| Transfer | 4219835 | 3114 days ago | IN | 0.95 ETH | 0.00306992 | ||||
| Start Presale | 4210525 | 3116 days ago | IN | 0 ETH | 0.00052614 | ||||
| Start Presale | 4210496 | 3116 days ago | IN | 0 ETH | 0.012 |
Latest 11 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 4757867 | 3003 days ago | 0 ETH | ||||
| Transfer | 4630001 | 3025 days ago | 1.4 ETH | ||||
| Transfer | 4630001 | 3025 days ago | 4.2 ETH | ||||
| Transfer | 4630001 | 3025 days ago | 4.2 ETH | ||||
| Transfer | 4630001 | 3025 days ago | 4.2 ETH | ||||
| Transfer | 4344498 | 3076 days ago | 0 ETH | ||||
| Transfer | 4332624 | 3080 days ago | 0 ETH | ||||
| Transfer | 4323961 | 3083 days ago | 0 ETH | ||||
| Transfer | 4266988 | 3100 days ago | 0 ETH | ||||
| Transfer | 4219924 | 3114 days ago | 0 ETH | ||||
| Transfer | 4219835 | 3114 days ago | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract contains unverified libraries: Math
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
BlindCroupierTokenDistribution
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-08-27
*/
pragma solidity 0.4.15;
pragma solidity 0.4.15;
/**
* @title MultiOwnable
* allows creating contracts with up to 16 owners with their shares
*/
contract MultiOwnable {
/** a single owner record */
struct Owner {
address recipient;
uint share;
}
/** contract owners */
Owner[] public owners;
/**
* Returns total owners count
* @return count - owners count
*/
function ownersCount () constant returns (uint count) {
return owners.length;
}
/**
* Returns owner's info
* @param idx - index of the owner
* @return owner - owner's info
*/
function owner (uint idx) constant returns (address owner_dot_recipient, uint owner_dot_share) {
Owner memory owner;
owner = owners[idx];
owner_dot_recipient = address(owner.recipient);
owner_dot_share = uint(owner.share);}
/** reverse lookup helper */
mapping (address => bool) ownersIdx;
/**
* Creates the contract with up to 16 owners
* shares must be > 0
*/
function MultiOwnable (address[16] _owners_dot_recipient, uint[16] _owners_dot_share) {
Owner[16] memory _owners;
for(uint __recipient_iterator__ = 0; __recipient_iterator__ < _owners_dot_recipient.length;__recipient_iterator__++)
_owners[__recipient_iterator__].recipient = address(_owners_dot_recipient[__recipient_iterator__]);
for(uint __share_iterator__ = 0; __share_iterator__ < _owners_dot_share.length;__share_iterator__++)
_owners[__share_iterator__].share = uint(_owners_dot_share[__share_iterator__]);
for(var idx = 0; idx < _owners_dot_recipient.length; idx++) {
if(_owners[idx].recipient != 0) {
owners.push(_owners[idx]);
assert(owners[idx].share > 0);
ownersIdx[_owners[idx].recipient] = true;
}
}
}
/**
* Function with this modifier can be called only by one of owners
*/
modifier onlyOneOfOwners() {
require(ownersIdx[msg.sender]);
_;
}
}
pragma solidity 0.4.15;
pragma solidity 0.4.15;
/**
* Basic interface for contracts, following ERC20 standard
*/
contract ERC20Token {
/**
* Triggered when tokens are transferred.
* @param from - address tokens were transfered from
* @param to - address tokens were transfered to
* @param value - amount of tokens transfered
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* Triggered whenever allowance status changes
* @param owner - tokens owner, allowance changed for
* @param spender - tokens spender, allowance changed for
* @param value - new allowance value (overwriting the old value)
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* Returns total supply of tokens ever emitted
* @return totalSupply - total supply of tokens ever emitted
*/
function totalSupply() constant returns (uint256 totalSupply);
/**
* Returns `owner` balance of tokens
* @param owner address to request balance for
* @return balance - token balance of `owner`
*/
function balanceOf(address owner) constant returns (uint256 balance);
/**
* Transfers `amount` of tokens to `to` address
* @param to - address to transfer to
* @param value - amount of tokens to transfer
* @return success - `true` if the transfer was succesful, `false` otherwise
*/
function transfer(address to, uint256 value) returns (bool success);
/**
* Transfers `value` tokens from `from` address to `to`
* the sender needs to have allowance for this operation
* @param from - address to take tokens from
* @param to - address to send tokens to
* @param value - amount of tokens to send
* @return success - `true` if the transfer was succesful, `false` otherwise
*/
function transferFrom(address from, address to, uint256 value) returns (bool success);
/**
* Allow spender to withdraw from your account, multiple times, up to the value amount.
* If this function is called again it overwrites the current allowance with `value`.
* this function is required for some DEX functionality
* @param spender - address to give allowance to
* @param value - the maximum amount of tokens allowed for spending
* @return success - `true` if the allowance was given, `false` otherwise
*/
function approve(address spender, uint256 value) returns (bool success);
/**
* Returns the amount which `spender` is still allowed to withdraw from `owner`
* @param owner - tokens owner
* @param spender - addres to request allowance for
* @return remaining - remaining allowance (token count)
*/
function allowance(address owner, address spender) constant returns (uint256 remaining);
}
/**
* @title Blind Croupier Token
* WIN fixed supply Token, used for Blind Croupier TokenDistribution
*/
contract WIN is ERC20Token {
string public constant symbol = "WIN";
string public constant name = "WIN";
uint8 public constant decimals = 7;
uint256 constant TOKEN = 10**7;
uint256 constant MILLION = 10**6;
uint256 public totalTokenSupply = 500 * MILLION * TOKEN;
/** balances of each accounts */
mapping(address => uint256) balances;
/** amount of tokens approved for transfer */
mapping(address => mapping (address => uint256)) allowed;
/** Triggered when `owner` destroys `amount` tokens */
event Destroyed(address indexed owner, uint256 amount);
/**
* Constucts the token, and supplies the creator with `totalTokenSupply` tokens
*/
function WIN () {
balances[msg.sender] = totalTokenSupply;
}
/**
* Returns total supply of tokens ever emitted
* @return result - total supply of tokens ever emitted
*/
function totalSupply () constant returns (uint256 result) {
result = totalTokenSupply;
}
/**
* Returns `owner` balance of tokens
* @param owner address to request balance for
* @return balance - token balance of `owner`
*/
function balanceOf (address owner) constant returns (uint256 balance) {
return balances[owner];
}
/**
* Transfers `amount` of tokens to `to` address
* @param to - address to transfer to
* @param amount - amount of tokens to transfer
* @return success - `true` if the transfer was succesful, `false` otherwise
*/
function transfer (address to, uint256 amount) returns (bool success) {
if(balances[msg.sender] < amount)
return false;
if(amount <= 0)
return false;
if(balances[to] + amount <= balances[to])
return false;
balances[msg.sender] -= amount;
balances[to] += amount;
Transfer(msg.sender, to, amount);
return true;
}
/**
* Transfers `amount` tokens from `from` address to `to`
* the sender needs to have allowance for this operation
* @param from - address to take tokens from
* @param to - address to send tokens to
* @param amount - amount of tokens to send
* @return success - `true` if the transfer was succesful, `false` otherwise
*/
function transferFrom (address from, address to, uint256 amount) returns (bool success) {
if (balances[from] < amount)
return false;
if(allowed[from][msg.sender] < amount)
return false;
if(amount == 0)
return false;
if(balances[to] + amount <= balances[to])
return false;
balances[from] -= amount;
allowed[from][msg.sender] -= amount;
balances[to] += amount;
Transfer(from, to, amount);
return true;
}
/**
* Allow spender to withdraw from your account, multiple times, up to the amount amount.
* If this function is called again it overwrites the current allowance with `amount`.
* this function is required for some DEX functionality
* @param spender - address to give allowance to
* @param amount - the maximum amount of tokens allowed for spending
* @return success - `true` if the allowance was given, `false` otherwise
*/
function approve (address spender, uint256 amount) returns (bool success) {
allowed[msg.sender][spender] = amount;
Approval(msg.sender, spender, amount);
return true;
}
/**
* Returns the amount which `spender` is still allowed to withdraw from `owner`
* @param owner - tokens owner
* @param spender - addres to request allowance for
* @return remaining - remaining allowance (token count)
*/
function allowance (address owner, address spender) constant returns (uint256 remaining) {
return allowed[owner][spender];
}
/**
* Destroys `amount` of tokens permanently, they cannot be restored
* @return success - `true` if `amount` of tokens were destroyed, `false` otherwise
*/
function destroy (uint256 amount) returns (bool success) {
if(amount == 0) return false;
if(balances[msg.sender] < amount) return false;
balances[msg.sender] -= amount;
totalTokenSupply -= amount;
Destroyed(msg.sender, amount);
}
}
pragma solidity 0.4.15;
/**
* @title Various Math utilities
*/
library Math {
/** 1/1000, 1000 uint = 1 */
/**
* Returns `promille` promille of `value`
* e.g. `takePromille(5000, 1) == 5`
* @param value - uint to take promille value
* @param promille - promille value
* @return result - `value * promille / 1000`
*/
function takePromille (uint value, uint promille) constant returns (uint result) {
result = value * promille / 1000;
}
/**
* Returns `value` with added `promille` promille
* @param value - uint to add promille to
* @param promille - promille value to add
* @return result - `value + value * promille / 1000`
*/
function addPromille (uint value, uint promille) constant returns (uint result) {
result = value + takePromille(value, promille);
}
}
/**
* @title Blind Croupier TokenDistribution
* It possesses some `WIN` tokens.
* The distribution is divided into many 'periods'.
* The zero one is `Presale` with `TOKENS_FOR_PRESALE` tokens
* It's ended when all tokens are sold or manually with `endPresale()` function
* The length of first period is `FIRST_PERIOD_DURATION`.
* The length of other periods is `PERIOD_DURATION`.
* During each period, `TOKENS_PER_PERIOD` are offered for sale (`TOKENS_PER_FIRST_PERIOD` for the first one)
* Investors send their money to the contract
* and call `claimAllTokens()` function to get `WIN` tokens.
* Period 0 Token price is `PRESALE_TOKEN_PRICE`
* Period 1 Token price is `SALE_INITIAL_TOKEN_PRICE`
* Period 2+ price is determined by the following rules:
* If more than `TOKENS_TO_INCREASE_NEXT_PRICE * TOKENS_PER_PERIOD / 1000`
* were sold during the period, the price of the Tokens for the next period
* is increased by `PERIOD_PRICE_INCREASE` promille,
* if ALL tokens were sold, price is increased by `FULLY_SOLD_PRICE_INCREASE` promille
* Otherwise, the price remains the same.
*/
contract BlindCroupierTokenDistribution is MultiOwnable {
uint256 constant TOKEN = 10**7;
uint256 constant MILLION = 10**6;
uint256 constant MINIMUM_DEPOSIT = 100 finney; /** minimum deposit accepted to bank */
uint256 constant PRESALE_TOKEN_PRICE = 0.00035 ether / TOKEN;
uint256 constant SALE_INITIAL_TOKEN_PRICE = 0.0005 ether / TOKEN;
uint256 constant TOKENS_FOR_PRESALE = 5 * MILLION * TOKEN; /** 5M tokens */
uint256 constant TOKENS_PER_FIRST_PERIOD = 15 * MILLION * TOKEN; /** 15M tokens */
uint256 constant TOKENS_PER_PERIOD = 1 * MILLION * TOKEN; /** 1M tokens */
uint256 constant FIRST_PERIOD_DURATION = 161 hours; /** duration of 1st sale period */
uint256 constant PERIOD_DURATION = 23 hours; /** duration of all other sale periods */
uint256 constant PERIOD_PRICE_INCREASE = 5; /** `next_token_price = old_token_price + old_token_price * PERIOD_PRICE_INCREASE / 1000` */
uint256 constant FULLY_SOLD_PRICE_INCREASE = 10; /** to increase price if ALL tokens sold */
uint256 constant TOKENS_TO_INCREASE_NEXT_PRICE = 800; /** the price is increased if `sold_tokens > period_tokens * TOKENS_TO_INCREASE_NEXT_PRICE / 1000` */
uint256 constant NEVER = 0;
uint16 constant UNKNOWN_COUNTRY = 0;
/**
* State of Blind Croupier crowdsale
*/
enum State {
NotStarted,
Presale,
Sale
}
uint256 public totalUnclaimedTokens; /** total amount of tokens, TokenDistribution owns to investors */
uint256 public totalTokensSold; /** total amount of Tokens sold during the TokenDistribution */
uint256 public totalTokensDestroyed; /** total amount of Tokens destroyed by this contract */
mapping(address => uint256) public unclaimedTokensForInvestor; /** unclaimed tokens for each investor */
/**
* One token sale period information
*/
struct Period {
uint256 startTime;
uint256 endTime;
uint256 tokenPrice;
uint256 tokensSold;
}
/**
* Emited when `investor` sends `amount` of money to the Bank
* @param investor - address, sending the money
* @param amount - Wei sent
*/
event Deposited(address indexed investor, uint256 amount, uint256 tokenCount);
/**
* Emited when a new period is opened
* @param periodIndex - index of new period
* @param tokenPrice - price of WIN Token in new period
*/
event PeriodStarted(uint periodIndex, uint256 tokenPrice, uint256 tokensToSale, uint256 startTime, uint256 endTime, uint256 now);
/**
* Emited when `investor` claims `claimed` tokens
* @param investor - address getting the Tokens
* @param claimed - amount of Tokens claimed
*/
event TokensClaimed(address indexed investor, uint256 claimed);
/** current Token sale period */
uint public currentPeriod = 0;
/** information about past and current periods, by periods index, starting from `0` */
mapping(uint => Period) periods;
/** WIN tokens contract */
WIN public win;
/** The state of the crowdsale - `NotStarted`, `Presale`, `Sale` */
State public state;
/** the counter of investment by a country code (3-digit ISO 3166 code) */
mapping(uint16 => uint256) investmentsByCountries;
/**
* Returns amount of Wei invested by the specified country
* @param country - 3-digit country code
*/
function getInvestmentsByCountry (uint16 country) constant returns (uint256 investment) {
investment = investmentsByCountries[country];
}
/**
* Returns the Token price in the current period
* @return tokenPrice - current Token price
*/
function getTokenPrice () constant returns (uint256 tokenPrice) {
tokenPrice = periods[currentPeriod].tokenPrice;
}
/**
* Returns the Token price for the period requested
* @param periodIndex - the period index
* @return tokenPrice - Token price for the period
*/
function getTokenPriceForPeriod (uint periodIndex) constant returns (uint256 tokenPrice) {
tokenPrice = periods[periodIndex].tokenPrice;
}
/**
* Returns the amount of Tokens sold
* @param period - period index to get tokens for
* @return tokensSold - amount of tokens sold
*/
function getTokensSold (uint period) constant returns (uint256 tokensSold) {
return periods[period].tokensSold;
}
/**
* Returns `true` if TokenDistribution has enough tokens for the current period
* and thus going on
* @return active - `true` if TokenDistribution is going on, `false` otherwise
*/
function isActive () constant returns (bool active) {
return win.balanceOf(this) >= totalUnclaimedTokens + tokensForPeriod(currentPeriod) - periods[currentPeriod].tokensSold;
}
/**
* Accepts money deposit and makes record
* minimum deposit is MINIMUM_DEPOSIT
* @param beneficiar - the address to receive Tokens
* @param countryCode - 3-digit country code
* @dev if `msg.value < MINIMUM_DEPOSIT` throws
*/
function deposit (address beneficiar, uint16 countryCode) payable {
require(msg.value >= MINIMUM_DEPOSIT);
require(state == State.Sale || state == State.Presale);
/* this should end any finished period before starting any operations */
tick();
/* check if have enough tokens for the current period
* if not, the call fails until tokens are deposited to the contract
*/
require(isActive());
uint256 tokensBought = msg.value / getTokenPrice();
if(periods[currentPeriod].tokensSold + tokensBought >= tokensForPeriod(currentPeriod)) {
tokensBought = tokensForPeriod(currentPeriod) - periods[currentPeriod].tokensSold;
}
uint256 moneySpent = getTokenPrice() * tokensBought;
investmentsByCountries[countryCode] += moneySpent;
if(tokensBought > 0) {
assert(moneySpent <= msg.value);
/* return the rest */
if(msg.value > moneySpent) {
msg.sender.transfer(msg.value - moneySpent);
}
periods[currentPeriod].tokensSold += tokensBought;
unclaimedTokensForInvestor[beneficiar] += tokensBought;
totalUnclaimedTokens += tokensBought;
totalTokensSold += tokensBought;
Deposited(msg.sender, moneySpent, tokensBought);
}
/* if all tokens are sold, get to the next period */
tick();
}
/**
* See `deposit` function
*/
function() payable {
deposit(msg.sender, UNKNOWN_COUNTRY);
}
/**
* Creates the contract and sets the owners
* @param owners_dot_recipient - array of 16 owner records (MultiOwnable.Owner.recipient fields)
* @param owners_dot_share - array of 16 owner records (MultiOwnable.Owner.share fields)
*/
function BlindCroupierTokenDistribution (address[16] owners_dot_recipient, uint[16] owners_dot_share) MultiOwnable(owners_dot_recipient, owners_dot_share) {
MultiOwnable.Owner[16] memory owners;
for(uint __recipient_iterator__ = 0; __recipient_iterator__ < owners_dot_recipient.length;__recipient_iterator__++)
owners[__recipient_iterator__].recipient = address(owners_dot_recipient[__recipient_iterator__]);
for(uint __share_iterator__ = 0; __share_iterator__ < owners_dot_share.length;__share_iterator__++)
owners[__share_iterator__].share = uint(owners_dot_share[__share_iterator__]);
state = State.NotStarted;
}
/**
* Begins the crowdsale (presale period)
* @param tokenContractAddress - address of the `WIN` contract (token holder)
* @dev must be called by one of owners
*/
function startPresale (address tokenContractAddress) onlyOneOfOwners {
require(state == State.NotStarted);
win = WIN(tokenContractAddress);
assert(win.balanceOf(this) >= tokensForPeriod(0));
periods[0] = Period(now, NEVER, PRESALE_TOKEN_PRICE, 0);
PeriodStarted(0,
PRESALE_TOKEN_PRICE,
tokensForPeriod(currentPeriod),
now,
NEVER,
now);
state = State.Presale;
}
/**
* Ends the presale and begins period 1 of the crowdsale
* @dev must be called by one of owners
*/
function endPresale () onlyOneOfOwners {
require(state == State.Presale);
state = State.Sale;
nextPeriod();
}
/**
* Returns a time interval for a specific `period`
* @param period - period index to count interval for
* @return startTime - timestamp of period start time (INCLUSIVE)
* @return endTime - timestamp of period end time (INCLUSIVE)
*/
function periodTimeFrame (uint period) constant returns (uint256 startTime, uint256 endTime) {
require(period <= currentPeriod);
startTime = periods[period].startTime;
endTime = periods[period].endTime;
}
/**
* Returns `true` if the time for the `period` has already passed
*/
function isPeriodTimePassed (uint period) constant returns (bool finished) {
require(periods[period].startTime > 0);
uint256 endTime = periods[period].endTime;
if(endTime == NEVER) {
return false;
}
return (endTime < now);
}
/**
* Returns `true` if `period` has already finished (time passed or tokens sold)
*/
function isPeriodClosed (uint period) constant returns (bool finished) {
return period < currentPeriod;
}
/**
* Returns `true` if all tokens for the `period` has been sold
*/
function isPeriodAllTokensSold (uint period) constant returns (bool finished) {
return periods[period].tokensSold == tokensForPeriod(period);
}
/**
* Returns unclaimed Tokens count for the caller
* @return tokens - amount of unclaimed Tokens for the caller
*/
function unclaimedTokens () constant returns (uint256 tokens) {
return unclaimedTokensForInvestor[msg.sender];
}
/**
* Transfers all the tokens stored for this `investor` to his address
* @param investor - investor to claim tokens for
*/
function claimAllTokensForInvestor (address investor) {
assert(totalUnclaimedTokens >= unclaimedTokensForInvestor[investor]);
totalUnclaimedTokens -= unclaimedTokensForInvestor[investor];
win.transfer(investor, unclaimedTokensForInvestor[investor]);
TokensClaimed(investor, unclaimedTokensForInvestor[investor]);
unclaimedTokensForInvestor[investor] = 0;
}
/**
* Claims all the tokens for the sender
* @dev efficiently calling `claimAllForInvestor(msg.sender)`
*/
function claimAllTokens () {
claimAllTokensForInvestor(msg.sender);
}
/**
* Returns the total token count for the period specified
* @param period - period number
* @return tokens - total tokens count
*/
function tokensForPeriod (uint period) constant returns (uint256 tokens) {
if(period == 0) {
return TOKENS_FOR_PRESALE;
} else if(period == 1) {
return TOKENS_PER_FIRST_PERIOD;
} else {
return TOKENS_PER_PERIOD;
}
}
/**
* Returns the duration of the sale (not presale) period
* @param period - the period number
* @return duration - duration in seconds
*/
function periodDuration (uint period) constant returns (uint256 duration) {
require(period > 0);
if(period == 1) {
return FIRST_PERIOD_DURATION;
} else {
return PERIOD_DURATION;
}
}
/**
* Finishes the current period and starts a new one
*/
function nextPeriod() internal {
uint256 oldPrice = periods[currentPeriod].tokenPrice;
uint256 newPrice;
if(currentPeriod == 0) {
newPrice = SALE_INITIAL_TOKEN_PRICE;
} else if(periods[currentPeriod].tokensSold == tokensForPeriod(currentPeriod)) {
newPrice = Math.addPromille(oldPrice, FULLY_SOLD_PRICE_INCREASE);
} else if(periods[currentPeriod].tokensSold >= Math.takePromille(tokensForPeriod(currentPeriod), TOKENS_TO_INCREASE_NEXT_PRICE)) {
newPrice = Math.addPromille(oldPrice, PERIOD_PRICE_INCREASE);
} else {
newPrice = oldPrice;
}
/* destroy unsold tokens */
if(periods[currentPeriod].tokensSold < tokensForPeriod(currentPeriod)) {
uint256 toDestroy = tokensForPeriod(currentPeriod) - periods[currentPeriod].tokensSold;
/* do not destroy if we don't have enough to pay investors */
uint256 balance = win.balanceOf(this);
if(balance < toDestroy + totalUnclaimedTokens) {
toDestroy = (balance - totalUnclaimedTokens);
}
win.destroy(toDestroy);
totalTokensDestroyed += toDestroy;
}
/* if we are force ending the period set in the future or without end time,
* set end time to now
*/
if(periods[currentPeriod].endTime > now ||
periods[currentPeriod].endTime == NEVER) {
periods[currentPeriod].endTime = now;
}
uint256 duration = periodDuration(currentPeriod + 1);
periods[currentPeriod + 1] = Period(
periods[currentPeriod].endTime,
periods[currentPeriod].endTime + duration,
newPrice,
0);
currentPeriod++;
PeriodStarted(currentPeriod,
newPrice,
tokensForPeriod(currentPeriod),
periods[currentPeriod].startTime,
periods[currentPeriod].endTime,
now);
}
/**
* To be called as frequently as required by any external party
* Will check if 1 or more periods have finished and move on to the next
*/
function tick () {
if(!isActive()) {
return;
}
while(state == State.Sale &&
(isPeriodTimePassed(currentPeriod) ||
isPeriodAllTokensSold(currentPeriod))) {
nextPeriod();
}
}
/**
* Withdraws the money to be spent to Blind Croupier Project needs
* @param amount - amount of Wei to withdraw (total)
*/
function withdraw (uint256 amount) onlyOneOfOwners {
require(this.balance >= amount);
uint totalShares = 0;
for(var idx = 0; idx < owners.length; idx++) {
totalShares += owners[idx].share;
}
for(idx = 0; idx < owners.length; idx++) {
owners[idx].recipient.transfer(amount * owners[idx].share / totalShares);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"recipient","type":"address"},{"name":"share","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalUnclaimedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimAllTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"tokensForPeriod","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"tick","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"periodIndex","type":"uint256"}],"name":"getTokenPriceForPeriod","outputs":[{"name":"tokenPrice","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"win","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTokenPrice","outputs":[{"name":"tokenPrice","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"periodTimeFrame","outputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"getTokensSold","outputs":[{"name":"tokensSold","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalTokensDestroyed","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"country","type":"uint16"}],"name":"getInvestmentsByCountry","outputs":[{"name":"investment","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"}],"name":"claimAllTokensForInvestor","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idx","type":"uint256"}],"name":"owner","outputs":[{"name":"owner_dot_recipient","type":"address"},{"name":"owner_dot_share","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"endPresale","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenContractAddress","type":"address"}],"name":"startPresale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"isPeriodAllTokensSold","outputs":[{"name":"finished","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"isPeriodTimePassed","outputs":[{"name":"finished","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unclaimedTokensForInvestor","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"unclaimedTokens","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"beneficiar","type":"address"},{"name":"countryCode","type":"uint16"}],"name":"deposit","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"isPeriodClosed","outputs":[{"name":"finished","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"periodDuration","outputs":[{"name":"duration","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"owners_dot_recipient","type":"address[16]"},{"name":"owners_dot_share","type":"uint256[16]"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"tokenCount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"periodIndex","type":"uint256"},{"indexed":false,"name":"tokenPrice","type":"uint256"},{"indexed":false,"name":"tokensToSale","type":"uint256"},{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"now","type":"uint256"}],"name":"PeriodStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"claimed","type":"uint256"}],"name":"TokensClaimed","type":"event"}]Contract Creation Code
6060604052600060065534156200001557600080fd5b60405161040080620022a7833981016040528090816102000190505b6200003b620003b4565b60008084845b6200004b620003b4565b60008060008092505b6010831015620000cb5785836010811015156200006d57fe5b602002015184846010811015156200008157fe5b60200201516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b828060010193505062000054565b600091505b601082101562000119578482601081101515620000e957fe5b60200201518483601081101515620000fd57fe5b602002015160200181815250505b8180600101925050620000d0565b600090505b60108160ff161015620002b2576000848260ff166010811015156200013f57fe5b60200201516000015173ffffffffffffffffffffffffffffffffffffffff16141515620002a357600080548060010182816200017c9190620003e6565b916000526020600020906002020160005b868460ff166010811015156200019f57fe5b6020020151909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050506000808260ff168154811015156200021157fe5b906000526020600020906002020160005b50600101541115156200023157fe5b6001806000868460ff166010811015156200024857fe5b60200201516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b80806001019150506200011e565b5b505050505050600091505b601082101562000335578482601081101515620002d757fe5b60200201518383601081101515620002eb57fe5b60200201516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8180600101925050620002be565b600090505b6010811015620003835783816010811015156200035357fe5b602002015183826010811015156200036757fe5b602002015160200181815250505b80806001019150506200033a565b6000600860146101000a81548160ff02191690836002811115620003a357fe5b02179055505b50505050506200049c565b610400604051908101604052806010905b620003cf6200041b565b815260200190600190039081620003c55790505090565b81548183558181151162000416576002028160020283600052602060002091820191016200041591906200044b565b5b505050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6200049991905b808211156200049557600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555060020162000452565b5090565b90565b611dfb80620004ac6000396000f30060606040523615610173576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c271461018257806306040618146101ec578063170ad53c146102155780631e4bd42c1461023e5780631ff6ad551461025357806322f3e2d41461028a5780632e1a7d4d146102b75780633eaf5d9f146102da57806344a3982d146102ef578063473ca96c146103265780634b94f50e1461037b57806354c990cf146103a457806357d17805146103e257806359912df114610419578063624dd6a91461044257806363b201171461047d5780636803641c146104a6578063a123c33e146104df578063a43be57b14610549578063ab7ebbce1461055e578063b2d3e85e14610597578063b406cf39146105d2578063b94885461461060d578063b952ab7b14610636578063c19d93fb14610683578063c394f6cb146106ba578063e6deefa9146106e3578063fbeee7e41461071e578063fd85414814610759575b5b61017f336000610790565b5b005b341561018d57600080fd5b6101a36004808035906020019091905050610a20565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156101f757600080fd5b6101ff610a74565b6040518082815260200191505060405180910390f35b341561022057600080fd5b610228610a7a565b6040518082815260200191505060405180910390f35b341561024957600080fd5b610251610a80565b005b341561025e57600080fd5b6102746004808035906020019091905050610a8c565b6040518082815260200191505060405180910390f35b341561029557600080fd5b61029d610adf565b604051808215151515815260200191505060405180910390f35b34156102c257600080fd5b6102d86004808035906020019091905050610bf2565b005b34156102e557600080fd5b6102ed610dab565b005b34156102fa57600080fd5b6103106004808035906020019091905050610e21565b6040518082815260200191505060405180910390f35b341561033157600080fd5b610339610e42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038657600080fd5b61038e610e68565b6040518082815260200191505060405180910390f35b34156103af57600080fd5b6103c56004808035906020019091905050610e89565b604051808381526020018281526020019250505060405180910390f35b34156103ed57600080fd5b6104036004808035906020019091905050610ed5565b6040518082815260200191505060405180910390f35b341561042457600080fd5b61042c610ef6565b6040518082815260200191505060405180910390f35b341561044d57600080fd5b610467600480803561ffff16906020019091905050610efc565b6040518082815260200191505060405180910390f35b341561048857600080fd5b610490610f22565b6040518082815260200191505060405180910390f35b34156104b157600080fd5b6104dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f28565b005b34156104ea57600080fd5b61050060048080359060200190919050506111c2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b341561055457600080fd5b61055c611270565b005b341561056957600080fd5b610595600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061132c565b005b34156105a257600080fd5b6105b8600480803590602001909190505061160d565b604051808215151515815260200191505060405180910390f35b34156105dd57600080fd5b6105f36004808035906020019091905050611638565b604051808215151515815260200191505060405180910390f35b341561061857600080fd5b610620611697565b6040518082815260200191505060405180910390f35b341561064157600080fd5b61066d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116a4565b6040518082815260200191505060405180910390f35b341561068e57600080fd5b6106966116bc565b604051808260028111156106a657fe5b60ff16815260200191505060405180910390f35b34156106c557600080fd5b6106cd6116cf565b6040518082815260200191505060405180910390f35b61071c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803561ffff16906020019091905050610790565b005b341561072957600080fd5b61073f6004808035906020019091905050611717565b604051808215151515815260200191505060405180910390f35b341561076457600080fd5b61077a6004808035906020019091905050611726565b6040518082815260200191505060405180910390f35b60008067016345785d8a000034101515156107aa57600080fd5b6002808111156107b657fe5b600860149054906101000a900460ff1660028111156107d157fe5b14806108025750600160028111156107e557fe5b600860149054906101000a900460ff16600281111561080057fe5b145b151561080d57600080fd5b610815610dab565b61081d610adf565b151561082857600080fd5b610830610e68565b3481151561083a57fe5b049150610848600654610a8c565b826007600060065481526020019081526020016000206003015401101515610892576007600060065481526020019081526020016000206003015461088e600654610a8c565b0391505b8161089b610e68565b02905080600960008561ffff1661ffff168152602001908152602001600020600082825401925050819055506000821115610a11573481111515156108dc57fe5b80341115610927573373ffffffffffffffffffffffffffffffffffffffff166108fc8234039081150290604051600060405180830381858888f19350505050151561092657600080fd5b5b816007600060065481526020019081526020016000206003016000828254019250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008282540192505081905550816003600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca8284604051808381526020018281526020019250505060405180910390a25b610a19610dab565b5b50505050565b600081815481101515610a2f57fe5b906000526020600020906002020160005b915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60065481565b60025481565b610a8933610f28565b5b565b600080821415610aa95762989680620f4240600502029050610ada565b6001821415610ac55762989680620f4240600f02029050610ada565b62989680620f4240600102029050610ada565b5b5b919050565b600060076000600654815260200190815260200160002060030154610b05600654610a8c565b6002540103600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610bcf57600080fd5b6102c65a03f11515610be057600080fd5b50505060405180519050101590505b90565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c4d57600080fd5b823073ffffffffffffffffffffffffffffffffffffffff163110151515610c7357600080fd5b60009150600090505b6000805490508160ff161015610cc65760008160ff16815481101515610c9e57fe5b906000526020600020906002020160005b5060010154820191505b8080600101915050610c7c565b600090505b6000805490508160ff161015610da45760008160ff16815481101515610ced57fe5b906000526020600020906002020160005b5060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8360008460ff16815481101515610d4f57fe5b906000526020600020906002020160005b50600101548602811515610d7057fe5b049081150290604051600060405180830381858888f193505050501515610d9657600080fd5b5b8080600101915050610ccb565b5b5b505050565b610db3610adf565b1515610dbe57610e1f565b5b600280811115610dcb57fe5b600860149054906101000a900460ff166002811115610de657fe5b148015610e0c5750610df9600654611638565b80610e0b5750610e0a60065461160d565b5b5b15610e1e57610e1961175b565b610dbf565b5b565b6000600760008381526020019081526020016000206002015490505b919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006007600060065481526020019081526020016000206002015490505b90565b6000806006548311151515610e9d57600080fd5b60076000848152602001908152602001600020600001549150600760008481526020019081526020016000206001015490505b915091565b6000600760008381526020019081526020016000206003015490505b919050565b60045481565b6000600960008361ffff1661ffff1681526020019081526020016000205490505b919050565b60035481565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460025410151515610f7557fe5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008282540392505081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156110d057600080fd5b6102c65a03f115156110e157600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff167f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a26000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6000806111cd611d9f565b6000848154811015156111dc57fe5b906000526020600020906002020160005b506040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481525050905080600001519250806020015191505b50915091565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156112c857600080fd5b600160028111156112d557fe5b600860149054906101000a900460ff1660028111156112f057fe5b1415156112fc57600080fd5b6002600860146101000a81548160ff0219169083600281111561131b57fe5b021790555061132861175b565b5b5b565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561138457600080fd5b6000600281111561139157fe5b600860149054906101000a900460ff1660028111156113ac57fe5b1415156113b857600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114036000610a8c565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156114c857600080fd5b6102c65a03f115156114d957600080fd5b50505060405180519050101515156114ed57fe5b608060405190810160405280428152602001600081526020016298968066013e52b9abe00081151561151b57fe5b048152602001600081525060076000808152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301559050507f75f7cc4a0d6c003576bd8ed5e26f98a831b5c0bf567a13fbb4789d5c11bf719260006298968066013e52b9abe00081151561159c57fe5b046115a8600654610a8c565b4260004260405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a16001600860146101000a81548160ff0219169083600281111561160357fe5b02179055505b5b50565b600061161882610a8c565b60076000848152602001908152602001600020600301541490505b919050565b6000806000600760008581526020019081526020016000206000015411151561166057600080fd5b60076000848152602001908152602001600020600101549050600081141561168b5760009150611691565b42811091505b50919050565b6000808054905090505b90565b60056020528060005260406000206000915090505481565b600860149054906101000a900460ff1681565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b90565b6000600654821090505b919050565b6000808211151561173657600080fd5b600182141561174a576208d8109050611756565b620143709050611756565b5b919050565b6000806000806000600760006006548152602001908152602001600020600201549450600060065414156117a657629896806601c6bf5263400081151561179e57fe5b0493506119d4565b6117b1600654610a8c565b60076000600654815260200190815260200160002060030154141561186e57734183ffb15d5e9a7efbf6f62f1970c053663ad43563225cfd5986600a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561184c57600080fd5b6102c65a03f4151561185d57600080fd5b5050506040518051905093506119d3565b734183ffb15d5e9a7efbf6f62f1970c053663ad43563bbe9c7d6611893600654610a8c565b6103206000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156118f557600080fd5b6102c65a03f4151561190657600080fd5b50505060405180519050600760006006548152602001908152602001600020600301541015156119ce57734183ffb15d5e9a7efbf6f62f1970c053663ad43563225cfd598660056000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156119ac57600080fd5b6102c65a03f415156119bd57600080fd5b5050506040518051905093506119d2565b8493505b5b5b6119df600654610a8c565b600760006006548152602001908152602001600020600301541015611be15760076000600654815260200190815260200160002060030154611a22600654610a8c565b039250600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611aea57600080fd5b6102c65a03f11515611afb57600080fd5b5050506040518051905091506002548301821015611b1b57600254820392505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d118770846000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611bb457600080fd5b6102c65a03f11515611bc557600080fd5b5050506040518051905050826004600082825401925050819055505b42600760006006548152602001908152602001600020600101541180611c1f5750600060076000600654815260200190815260200160002060010154145b15611c425742600760006006548152602001908152602001600020600101819055505b611c50600160065401611726565b905060806040519081016040528060076000600654815260200190815260200160002060010154815260200182600760006006548152602001908152602001600020600101540181526020018581526020016000815250600760006001600654018152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301559050506006600081548092919060010191905055507f75f7cc4a0d6c003576bd8ed5e26f98a831b5c0bf567a13fbb4789d5c11bf719260065485611d2c600654610a8c565b60076000600654815260200190815260200160002060000154600760006006548152602001908152602001600020600101544260405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a15b5050505050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a7230582094d6199e534d0d3f0d69e96718dc286bc534036bc692154007374dcceee2014e0029000000000000000000000000b38815581e26a1a4ddd87f6e852299579d3c966d000000000000000000000000069dba3ddf3dc1477c68431e5bd3982da49771770000000000000000000000000bfdc7b5c0e4cdb33741bbe5c54a9e02bb8fcd71000000000000000000000000b016d117670b106d4e9ece7389ce8cc551e35832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60606040523615610173576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c271461018257806306040618146101ec578063170ad53c146102155780631e4bd42c1461023e5780631ff6ad551461025357806322f3e2d41461028a5780632e1a7d4d146102b75780633eaf5d9f146102da57806344a3982d146102ef578063473ca96c146103265780634b94f50e1461037b57806354c990cf146103a457806357d17805146103e257806359912df114610419578063624dd6a91461044257806363b201171461047d5780636803641c146104a6578063a123c33e146104df578063a43be57b14610549578063ab7ebbce1461055e578063b2d3e85e14610597578063b406cf39146105d2578063b94885461461060d578063b952ab7b14610636578063c19d93fb14610683578063c394f6cb146106ba578063e6deefa9146106e3578063fbeee7e41461071e578063fd85414814610759575b5b61017f336000610790565b5b005b341561018d57600080fd5b6101a36004808035906020019091905050610a20565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156101f757600080fd5b6101ff610a74565b6040518082815260200191505060405180910390f35b341561022057600080fd5b610228610a7a565b6040518082815260200191505060405180910390f35b341561024957600080fd5b610251610a80565b005b341561025e57600080fd5b6102746004808035906020019091905050610a8c565b6040518082815260200191505060405180910390f35b341561029557600080fd5b61029d610adf565b604051808215151515815260200191505060405180910390f35b34156102c257600080fd5b6102d86004808035906020019091905050610bf2565b005b34156102e557600080fd5b6102ed610dab565b005b34156102fa57600080fd5b6103106004808035906020019091905050610e21565b6040518082815260200191505060405180910390f35b341561033157600080fd5b610339610e42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038657600080fd5b61038e610e68565b6040518082815260200191505060405180910390f35b34156103af57600080fd5b6103c56004808035906020019091905050610e89565b604051808381526020018281526020019250505060405180910390f35b34156103ed57600080fd5b6104036004808035906020019091905050610ed5565b6040518082815260200191505060405180910390f35b341561042457600080fd5b61042c610ef6565b6040518082815260200191505060405180910390f35b341561044d57600080fd5b610467600480803561ffff16906020019091905050610efc565b6040518082815260200191505060405180910390f35b341561048857600080fd5b610490610f22565b6040518082815260200191505060405180910390f35b34156104b157600080fd5b6104dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f28565b005b34156104ea57600080fd5b61050060048080359060200190919050506111c2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b341561055457600080fd5b61055c611270565b005b341561056957600080fd5b610595600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061132c565b005b34156105a257600080fd5b6105b8600480803590602001909190505061160d565b604051808215151515815260200191505060405180910390f35b34156105dd57600080fd5b6105f36004808035906020019091905050611638565b604051808215151515815260200191505060405180910390f35b341561061857600080fd5b610620611697565b6040518082815260200191505060405180910390f35b341561064157600080fd5b61066d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116a4565b6040518082815260200191505060405180910390f35b341561068e57600080fd5b6106966116bc565b604051808260028111156106a657fe5b60ff16815260200191505060405180910390f35b34156106c557600080fd5b6106cd6116cf565b6040518082815260200191505060405180910390f35b61071c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803561ffff16906020019091905050610790565b005b341561072957600080fd5b61073f6004808035906020019091905050611717565b604051808215151515815260200191505060405180910390f35b341561076457600080fd5b61077a6004808035906020019091905050611726565b6040518082815260200191505060405180910390f35b60008067016345785d8a000034101515156107aa57600080fd5b6002808111156107b657fe5b600860149054906101000a900460ff1660028111156107d157fe5b14806108025750600160028111156107e557fe5b600860149054906101000a900460ff16600281111561080057fe5b145b151561080d57600080fd5b610815610dab565b61081d610adf565b151561082857600080fd5b610830610e68565b3481151561083a57fe5b049150610848600654610a8c565b826007600060065481526020019081526020016000206003015401101515610892576007600060065481526020019081526020016000206003015461088e600654610a8c565b0391505b8161089b610e68565b02905080600960008561ffff1661ffff168152602001908152602001600020600082825401925050819055506000821115610a11573481111515156108dc57fe5b80341115610927573373ffffffffffffffffffffffffffffffffffffffff166108fc8234039081150290604051600060405180830381858888f19350505050151561092657600080fd5b5b816007600060065481526020019081526020016000206003016000828254019250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008282540192505081905550816003600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca8284604051808381526020018281526020019250505060405180910390a25b610a19610dab565b5b50505050565b600081815481101515610a2f57fe5b906000526020600020906002020160005b915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60065481565b60025481565b610a8933610f28565b5b565b600080821415610aa95762989680620f4240600502029050610ada565b6001821415610ac55762989680620f4240600f02029050610ada565b62989680620f4240600102029050610ada565b5b5b919050565b600060076000600654815260200190815260200160002060030154610b05600654610a8c565b6002540103600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610bcf57600080fd5b6102c65a03f11515610be057600080fd5b50505060405180519050101590505b90565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c4d57600080fd5b823073ffffffffffffffffffffffffffffffffffffffff163110151515610c7357600080fd5b60009150600090505b6000805490508160ff161015610cc65760008160ff16815481101515610c9e57fe5b906000526020600020906002020160005b5060010154820191505b8080600101915050610c7c565b600090505b6000805490508160ff161015610da45760008160ff16815481101515610ced57fe5b906000526020600020906002020160005b5060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8360008460ff16815481101515610d4f57fe5b906000526020600020906002020160005b50600101548602811515610d7057fe5b049081150290604051600060405180830381858888f193505050501515610d9657600080fd5b5b8080600101915050610ccb565b5b5b505050565b610db3610adf565b1515610dbe57610e1f565b5b600280811115610dcb57fe5b600860149054906101000a900460ff166002811115610de657fe5b148015610e0c5750610df9600654611638565b80610e0b5750610e0a60065461160d565b5b5b15610e1e57610e1961175b565b610dbf565b5b565b6000600760008381526020019081526020016000206002015490505b919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006007600060065481526020019081526020016000206002015490505b90565b6000806006548311151515610e9d57600080fd5b60076000848152602001908152602001600020600001549150600760008481526020019081526020016000206001015490505b915091565b6000600760008381526020019081526020016000206003015490505b919050565b60045481565b6000600960008361ffff1661ffff1681526020019081526020016000205490505b919050565b60035481565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460025410151515610f7557fe5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008282540392505081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156110d057600080fd5b6102c65a03f115156110e157600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff167f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a26000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6000806111cd611d9f565b6000848154811015156111dc57fe5b906000526020600020906002020160005b506040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481525050905080600001519250806020015191505b50915091565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156112c857600080fd5b600160028111156112d557fe5b600860149054906101000a900460ff1660028111156112f057fe5b1415156112fc57600080fd5b6002600860146101000a81548160ff0219169083600281111561131b57fe5b021790555061132861175b565b5b5b565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561138457600080fd5b6000600281111561139157fe5b600860149054906101000a900460ff1660028111156113ac57fe5b1415156113b857600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114036000610a8c565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156114c857600080fd5b6102c65a03f115156114d957600080fd5b50505060405180519050101515156114ed57fe5b608060405190810160405280428152602001600081526020016298968066013e52b9abe00081151561151b57fe5b048152602001600081525060076000808152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301559050507f75f7cc4a0d6c003576bd8ed5e26f98a831b5c0bf567a13fbb4789d5c11bf719260006298968066013e52b9abe00081151561159c57fe5b046115a8600654610a8c565b4260004260405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a16001600860146101000a81548160ff0219169083600281111561160357fe5b02179055505b5b50565b600061161882610a8c565b60076000848152602001908152602001600020600301541490505b919050565b6000806000600760008581526020019081526020016000206000015411151561166057600080fd5b60076000848152602001908152602001600020600101549050600081141561168b5760009150611691565b42811091505b50919050565b6000808054905090505b90565b60056020528060005260406000206000915090505481565b600860149054906101000a900460ff1681565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b90565b6000600654821090505b919050565b6000808211151561173657600080fd5b600182141561174a576208d8109050611756565b620143709050611756565b5b919050565b6000806000806000600760006006548152602001908152602001600020600201549450600060065414156117a657629896806601c6bf5263400081151561179e57fe5b0493506119d4565b6117b1600654610a8c565b60076000600654815260200190815260200160002060030154141561186e57734183ffb15d5e9a7efbf6f62f1970c053663ad43563225cfd5986600a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561184c57600080fd5b6102c65a03f4151561185d57600080fd5b5050506040518051905093506119d3565b734183ffb15d5e9a7efbf6f62f1970c053663ad43563bbe9c7d6611893600654610a8c565b6103206000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156118f557600080fd5b6102c65a03f4151561190657600080fd5b50505060405180519050600760006006548152602001908152602001600020600301541015156119ce57734183ffb15d5e9a7efbf6f62f1970c053663ad43563225cfd598660056000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156119ac57600080fd5b6102c65a03f415156119bd57600080fd5b5050506040518051905093506119d2565b8493505b5b5b6119df600654610a8c565b600760006006548152602001908152602001600020600301541015611be15760076000600654815260200190815260200160002060030154611a22600654610a8c565b039250600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611aea57600080fd5b6102c65a03f11515611afb57600080fd5b5050506040518051905091506002548301821015611b1b57600254820392505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d118770846000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611bb457600080fd5b6102c65a03f11515611bc557600080fd5b5050506040518051905050826004600082825401925050819055505b42600760006006548152602001908152602001600020600101541180611c1f5750600060076000600654815260200190815260200160002060010154145b15611c425742600760006006548152602001908152602001600020600101819055505b611c50600160065401611726565b905060806040519081016040528060076000600654815260200190815260200160002060010154815260200182600760006006548152602001908152602001600020600101540181526020018581526020016000815250600760006001600654018152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301559050506006600081548092919060010191905055507f75f7cc4a0d6c003576bd8ed5e26f98a831b5c0bf567a13fbb4789d5c11bf719260065485611d2c600654610a8c565b60076000600654815260200190815260200160002060000154600760006006548152602001908152602001600020600101544260405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a15b5050505050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a7230582094d6199e534d0d3f0d69e96718dc286bc534036bc692154007374dcceee2014e0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b38815581e26a1a4ddd87f6e852299579d3c966d000000000000000000000000069dba3ddf3dc1477c68431e5bd3982da49771770000000000000000000000000bfdc7b5c0e4cdb33741bbe5c54a9e02bb8fcd71000000000000000000000000b016d117670b106d4e9ece7389ce8cc551e35832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : owners_dot_recipient (address[16]): 0xb38815581E26a1a4ddd87F6e852299579D3C966d,0x069DbA3DDF3dC1477C68431E5Bd3982DA4977177,0x0BFDC7b5c0E4cDb33741BbE5c54a9e02Bb8FcD71,0xb016D117670b106D4E9Ece7389cE8cc551e35832,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000
Arg [1] : owners_dot_share (uint256[16]): 30,30,30,10,0,0,0,0,0,0,0,0,0,0,0,0
-----Encoded View---------------
32 Constructor Arguments found :
Arg [0] : 000000000000000000000000b38815581e26a1a4ddd87f6e852299579d3c966d
Arg [1] : 000000000000000000000000069dba3ddf3dc1477c68431e5bd3982da4977177
Arg [2] : 0000000000000000000000000bfdc7b5c0e4cdb33741bbe5c54a9e02bb8fcd71
Arg [3] : 000000000000000000000000b016d117670b106d4e9ece7389ce8cc551e35832
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [16] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [17] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [18] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [19] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [24] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [26] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [27] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://94d6199e534d0d3f0d69e96718dc286bc534036bc692154007374dcceee2014e
Loading...
Loading
Loading...
Loading
Net Worth in USD
$676.64
Net Worth in ETH
0.325136
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,081.09 | 0.3251 | $676.64 |
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.