Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
77,285,926.80687116 XAI
Holders
1,408
Transfers
-
0
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
AICoin
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-09-05
*/
pragma solidity ^0.4.11;
/*******************************************************************************
* ERC Token Standard #20 Interface
* https://github.com/ethereum/EIPs/issues/20
*******************************************************************************/
contract ERC20Interface {
// Get the total token supply
function totalSupply() constant returns (uint256 totalSupply);
// Get the account balance of another account with address _owner
function balanceOf(address _owner) constant returns (uint256 balance);
// Send _value amount of tokens to address _to
function transfer(address _to, uint256 _value) returns (bool success);
// Send _value amount of tokens from address _from to address _to
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.
function approve(address _spender, uint256 _value) returns (bool success);
// Returns the amount which _spender is still allowed to withdraw from _owner
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
// Triggered when tokens are transferred.
event Transfer(address indexed _from, address indexed _to, uint256 _value);
// Triggered whenever approve(address _spender, uint256 _value) is called.
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
/*******************************************************************************
* AICoin - Smart Contract with token and ballot handling
*******************************************************************************/
contract AICoin is ERC20Interface {
/* ******************************
* COIN data / functions
* ******************************/
/* Token constants */
string public constant name = 'AICoin';
string public constant symbol = 'XAI';
uint8 public constant decimals = 8;
string public constant smallestUnit = 'Hofstadter';
/* Token internal data */
address m_administrator;
uint256 m_totalSupply;
/* Current balances for each account */
mapping(address => uint256) balances;
/* Account holder approves the transfer of an amount to another account */
mapping(address => mapping (address => uint256)) allowed;
/* One-time create function: initialize the supply and set the admin address */
function AICoin (uint256 _initialSupply) {
m_administrator = msg.sender;
m_totalSupply = _initialSupply;
balances[msg.sender] = _initialSupply;
}
/* Get the admin address */
function administrator() constant returns (address adminAddress) {
return m_administrator;
}
/* Get the total coin supply */
function totalSupply() constant returns (uint256 totalSupply) {
return m_totalSupply;
}
/* Get the balance of a specific account by its address */
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
/* Transfer an amount from the owner's account to an indicated account */
function transfer(address _to, uint256 _amount) returns (bool success) {
if (balances[msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]
&& (! accountHasCurrentVote(msg.sender))) {
balances[msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(msg.sender, _to, _amount);
return true;
} else {
return false;
}
}
/* Send _value amount of tokens from address _from to address _to
* The transferFrom method is used for a withdraw workflow, allowing contracts to send
* tokens on your behalf, for example to "deposit" to a contract address and/or to charge
* fees in sub-currencies; the command should fail unless the _from account has
* deliberately authorized the sender of the message via some mechanism; we propose
* these standardized APIs for approval:
*/
function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) {
if (balances[_from] >= _amount
&& allowed[_from][msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]
&& (! accountHasCurrentVote(_from))) {
balances[_from] -= _amount;
allowed[_from][msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(_from, _to, _amount);
return true;
} else {
return false;
}
}
/* Pre-authorize an address to withdraw from your account, up to the _value amount.
* Doing so (using transferFrom) reduces the remaining authorized amount,
* as well as the actual account balance)
* Subsequent calls to this function overwrite any existing authorized amount.
* Therefore, to cancel an authorization, simply write a zero amount.
*/
function approve(address _spender, uint256 _amount) returns (bool success) {
allowed[msg.sender][_spender] = _amount;
Approval(msg.sender, _spender, _amount);
return true;
}
/* Get the currently authorized that can be withdrawn by account _spender from account _owner */
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
/* ******************************
* BALLOT data / functions
* ******************************/
/* Dev Note: creating a struct that contained a string, uint values and
* an array of option structs, etc, would consistently fail.
* So the ballot details are held in separate mappings with a common integer
* key for each ballot. The IDs are 1-indexed, sequential and contiguous.
*/
/* Basic ballot details: time frame and number of options */
struct BallotDetails {
uint256 start;
uint256 end;
uint32 numOptions; // 1-indexed for readability
bool sealed;
}
uint32 public numBallots = 0; // 1-indexed for readability
mapping (uint32 => string) public ballotNames;
mapping (uint32 => BallotDetails) public ballotDetails;
mapping (uint32 => mapping (uint32 => string) ) public ballotOptions;
/* Create a new ballot and set the basic details (proposal description, dates)
* The ballot still need to have options added and then to be sealed
*/
function adminAddBallot(string _proposal, uint256 _start, uint256 _end) {
/* Admin functions must be called by the contract creator. */
require(msg.sender == m_administrator);
/* Create and store the new ballot objects */
numBallots++;
uint32 ballotId = numBallots;
ballotNames[ballotId] = _proposal;
ballotDetails[ballotId] = BallotDetails(_start, _end, 0, false);
}
/* Create a new ballot and set the basic details (proposal description, dates)
* The ballot still need to have options added and then to be sealed
*/
function adminAmendBallot(uint32 _ballotId, string _proposal, uint256 _start, uint256 _end) {
/* Admin functions must be called by the contract creator. */
require(msg.sender == m_administrator);
/* verify that the ballot exists */
require(_ballotId > 0 && _ballotId <= numBallots);
/* update the ballot object */
ballotNames[_ballotId] = _proposal;
ballotDetails[_ballotId].start = _start;
ballotDetails[_ballotId].end = _end;
}
/* Add an option to an existing Ballot
*/
function adminAddBallotOption(uint32 _ballotId, string _option) {
/* Admin functions must be called by the contract creator. */
require(msg.sender == m_administrator);
/* verify that the ballot exists */
require(_ballotId > 0 && _ballotId <= numBallots);
/* cannot change a ballot once it is sealed */
if(isBallotSealed(_ballotId)) {
revert();
}
/* store the new ballot option */
ballotDetails[_ballotId].numOptions += 1;
uint32 optionId = ballotDetails[_ballotId].numOptions;
ballotOptions[_ballotId][optionId] = _option;
}
/* Amend and option in an existing Ballot
*/
function adminEditBallotOption(uint32 _ballotId, uint32 _optionId, string _option) {
/* Admin functions must be called by the contract creator. */
require(msg.sender == m_administrator);
/* verify that the ballot exists */
require(_ballotId > 0 && _ballotId <= numBallots);
/* cannot change a ballot once it is sealed */
if(isBallotSealed(_ballotId)) {
revert();
}
/* validate the ballot option */
require(_optionId > 0 && _optionId <= ballotDetails[_ballotId].numOptions);
/* update the ballot option */
ballotOptions[_ballotId][_optionId] = _option;
}
/* Seal a ballot - after this the ballot is official and no changes can be made.
*/
function adminSealBallot(uint32 _ballotId) {
/* Admin functions must be called by the contract creator. */
require(msg.sender == m_administrator);
/* verify that the ballot exists */
require(_ballotId > 0 && _ballotId <= numBallots);
/* cannot change a ballot once it is sealed */
if(isBallotSealed(_ballotId)) {
revert();
}
/* set the ballot seal flag */
ballotDetails[_ballotId].sealed = true;
}
/* Function to determine if a ballot is currently in progress, based on its
* start and end dates, and that it has been sealed.
*/
function isBallotInProgress(uint32 _ballotId) private constant returns (bool) {
return (isBallotSealed(_ballotId)
&& ballotDetails[_ballotId].start <= now
&& ballotDetails[_ballotId].end >= now);
}
/* Function to determine if a ballot has ended, based on its end date */
function hasBallotEnded(uint32 _ballotId) private constant returns (bool) {
return (ballotDetails[_ballotId].end < now);
}
/* Function to determine if a ballot has been sealed, which means it has been
* authorized by the administrator and can no longer be changed.
*/
function isBallotSealed(uint32 _ballotId) private returns (bool) {
return ballotDetails[_ballotId].sealed;
}
/* ******************************
* VOTING data / functions
* ******************************/
mapping (uint32 => mapping (address => uint256) ) public ballotVoters;
mapping (uint32 => mapping (uint32 => uint256) ) public ballotVoteCount;
/* function to allow a coin holder add to the vote count of an option in an
* active ballot. The votes added equals the balance of the account. Once this is called successfully
* the coins cannot be transferred out of the account until the end of the ballot.
*
* NB: The timing of the start and end of the voting period is determined by
* the timestamp of the block in which the transaction is included. As given by
* the current Ethereum standard this is *NOT* guaranteed to be accurate to any
* given external time source. Therefore, votes should be placed well in advance
* of the UTC end time of the Ballot.
*/
function vote(uint32 _ballotId, uint32 _selectedOptionId) {
/* verify that the ballot exists */
require(_ballotId > 0 && _ballotId <= numBallots);
/* Ballot must be in progress in order to vote */
require(isBallotInProgress(_ballotId));
/* Calculate the balance which which the coin holder has not yet voted, which is the difference between
* the current balance for the senders address and the amount they already voted in this ballot.
* If the difference is zero, this attempt to vote will fail.
*/
uint256 votableBalance = balanceOf(msg.sender) - ballotVoters[_ballotId][msg.sender];
require(votableBalance > 0);
/* validate the ballot option */
require(_selectedOptionId > 0 && _selectedOptionId <= ballotDetails[_ballotId].numOptions);
/* update the vote count and record the voter */
ballotVoteCount[_ballotId][_selectedOptionId] += votableBalance;
ballotVoters[_ballotId][msg.sender] += votableBalance;
}
/* function to determine if an address has already voted in a given ballot */
function hasAddressVotedInBallot(uint32 _ballotId, address _voter) constant returns (bool hasVoted) {
return ballotVoters[_ballotId][_voter] > 0;
}
/* function to determine if an account has voted in any current ballot */
function accountHasCurrentVote(address _voter) constant returns (bool) {
for(uint32 id = 1; id <= numBallots; id++) {
if (isBallotInProgress(id) && hasAddressVotedInBallot(id, _voter)) {
return true;
}
}
return false;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"}],"name":"adminSealBallot","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numBallots","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"address"}],"name":"ballotVoters","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_proposal","type":"string"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"adminAddBallot","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_optionId","type":"uint32"},{"name":"_option","type":"string"}],"name":"adminEditBallotOption","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"smallestUnit","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"ballotNames","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"accountHasCurrentVote","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_option","type":"string"}],"name":"adminAddBallotOption","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"name":"ballotOptions","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_voter","type":"address"}],"name":"hasAddressVotedInBallot","outputs":[{"name":"hasVoted","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"ballotDetails","outputs":[{"name":"start","type":"uint256"},{"name":"end","type":"uint256"},{"name":"numOptions","type":"uint32"},{"name":"sealed","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_selectedOptionId","type":"uint32"}],"name":"vote","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_proposal","type":"string"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"adminAmendBallot","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"name":"ballotVoteCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"administrator","outputs":[{"name":"adminAddress","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
60606040526000600460006101000a81548163ffffffff021916908363ffffffff160217905550341561002e57fe5b6040516020806120bb833981016040528080519060200190919050505b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060018190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b611fd2806100e96000396000f30060606040523615610147576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610149578063095ea7b3146101e257806318160ddd1461023957806323b872dd1461025f5780632db78d88146102d5578063313ce567146102fb5780634beb031b1461032757806351b9a2f81461035957806362ec8e53146103b257806364445d9e1461041e57806370a08231146104965780637c858e02146104e057806380f89a31146105795780638e4fa7881461062657806395d89b4114610674578063a9059cbb1461070d578063a95bfd3614610764578063b5e989c7146107cd578063ba9a4d6e14610889578063cdc62d39146108e6578063cff9293a14610945578063dd62ed3e1461097a578063dda0c1d6146109e3578063e927ea7a14610a5e578063f53d0a8e14610aa7575bfe5b341561015157fe5b610159610af9565b60405180806020018281038252838181518152602001915080519060200190808383600083146101a8575b8051825260208311156101a857602082019150602081019050602083039250610184565b505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57fe5b61021f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b33565b604051808215151515815260200191505060405180910390f35b341561024157fe5b610249610c26565b6040518082815260200191505060405180910390f35b341561026757fe5b6102bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c31565b604051808215151515815260200191505060405180910390f35b34156102dd57fe5b6102f9600480803563ffffffff16906020019091905050610f4f565b005b341561030357fe5b61030b61103f565b604051808260ff1660ff16815260200191505060405180910390f35b341561032f57fe5b610337611044565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561036157fe5b61039c600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061105a565b6040518082815260200191505060405180910390f35b34156103ba57fe5b61041c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190505061107f565b005b341561042657fe5b610494600480803563ffffffff1690602001909190803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611212565b005b341561049e57fe5b6104ca600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061137a565b6040518082815260200191505060405180910390f35b34156104e857fe5b6104f06113c4565b604051808060200182810382528381815181526020019150805190602001908083836000831461053f575b80518252602083111561053f5760208201915060208101905060208303925061051b565b505050905090810190601f16801561056b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058157fe5b61059d600480803563ffffffff169060200190919050506113fe565b60405180806020018281038252838181518152602001915080519060200190808383600083146105ec575b8051825260208311156105ec576020820191506020810190506020830392506105c8565b505050905090810190601f1680156106185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062e57fe5b61065a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114ae565b604051808215151515815260200191505060405180910390f35b341561067c57fe5b610684611520565b60405180806020018281038252838181518152602001915080519060200190808383600083146106d3575b8051825260208311156106d3576020820191506020810190506020830392506106af565b505050905090810190601f1680156106ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561071557fe5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061155a565b604051808215151515815260200191505060405180910390f35b341561076c57fe5b6107cb600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611765565b005b34156107d557fe5b610800600480803563ffffffff1690602001909190803563ffffffff169060200190919050506118fb565b604051808060200182810382528381815181526020019150805190602001908083836000831461084f575b80518252602083111561084f5760208201915060208101905060208303925061082b565b505050905090810190601f16801561087b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089157fe5b6108cc600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119b8565b604051808215151515815260200191505060405180910390f35b34156108ee57fe5b61090a600480803563ffffffff16906020019091905050611a23565b604051808581526020018481526020018363ffffffff1663ffffffff1681526020018215151515815260200194505050505060405180910390f35b341561094d57fe5b610978600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611a70565b005b341561098257fe5b6109cd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c5a565b6040518082815260200191505060405180910390f35b34156109eb57fe5b610a5c600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091905050611ce2565b005b3415610a6657fe5b610a91600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611e08565b6040518082815260200191505060405180910390f35b3415610aaf57fe5b610ab7611e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b604060405190810160405280600681526020017f4149436f696e000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600060015490505b90565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610cfe575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610d0a5750600082115b8015610d955750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b8015610da75750610da5846114ae565b155b15610f3e5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610f48565b60009050610f48565b5b9392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fac5760006000fd5b60008163ffffffff16118015610fe05750600460009054906101000a900463ffffffff1663ffffffff168163ffffffff1611155b1515610fec5760006000fd5b610ff581611e58565b156110005760006000fd5b6001600660008363ffffffff1663ffffffff16815260200190815260200160002060020160046101000a81548160ff0219169083151502179055505b50565b600881565b600460009054906101000a900463ffffffff1681565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de5760006000fd5b6004600081819054906101000a900463ffffffff168092919060010191906101000a81548163ffffffff021916908363ffffffff16021790555050600460009054906101000a900463ffffffff16905083600560008363ffffffff1663ffffffff1681526020019081526020016000209080519060200190611161929190611f01565b50608060405190810160405280848152602001838152602001600063ffffffff16815260200160001515815250600660008363ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020160046101000a81548160ff0219169083151502179055509050505b50505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126f5760006000fd5b60008363ffffffff161180156112a35750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156112af5760006000fd5b6112b883611e58565b156112c35760006000fd5b60008263ffffffff161180156113175750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b15156113235760006000fd5b80600760008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000209080519060200190611373929190611f01565b505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b604060405190810160405280600a81526020017f486f66737461647465720000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a65780601f1061147b576101008083540402835291602001916114a6565b820191906000526020600020905b81548152906001019060200180831161148957829003601f168201915b505050505081565b60006000600190505b600460009054906101000a900463ffffffff1663ffffffff168163ffffffff16111515611515576114e781611e92565b80156114f957506114f881846119b8565b5b15611507576001915061151a565b5b80806001019150506114b7565b600091505b50919050565b604060405190810160405280600381526020017f584149000000000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156115ab5750600082115b80156116365750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b80156116485750611646336114ae565b155b156117555781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061175f565b6000905061175f565b5b92915050565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c45760006000fd5b60008363ffffffff161180156117f85750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156118045760006000fd5b61180d83611e58565b156118185760006000fd5b6001600660008563ffffffff1663ffffffff16815260200190815260200160002060020160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff16905081600760008563ffffffff1663ffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002090805190602001906118f4929190611f01565b505b505050565b6007602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b05780601f10611985576101008083540402835291602001916119b0565b820191906000526020600020905b81548152906001019060200180831161199357829003601f168201915b505050505081565b60006000600860008563ffffffff1663ffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541190505b92915050565b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900463ffffffff16908060020160049054906101000a900460ff16905084565b600060008363ffffffff16118015611aa65750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b1515611ab25760006000fd5b611abb83611e92565b1515611ac75760006000fd5b600860008463ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2d3361137a565b039050600081111515611b405760006000fd5b60008263ffffffff16118015611b945750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b1515611ba05760006000fd5b80600960008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000206000828254019250508190555080600860008563ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3f5760006000fd5b60008463ffffffff16118015611d735750600460009054906101000a900463ffffffff1663ffffffff168463ffffffff1611155b1515611d7f5760006000fd5b82600560008663ffffffff1663ffffffff1681526020019081526020016000209080519060200190611db2929190611f01565b5081600660008663ffffffff1663ffffffff1681526020019081526020016000206000018190555080600660008663ffffffff1663ffffffff168152602001908152602001600020600101819055505b50505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b6000600660008363ffffffff1663ffffffff16815260200190815260200160002060020160049054906101000a900460ff1690505b919050565b6000611e9d82611e58565b8015611ecb575042600660008463ffffffff1663ffffffff1681526020019081526020016000206000015411155b8015611ef9575042600660008463ffffffff1663ffffffff1681526020019081526020016000206001015410155b90505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f4257805160ff1916838001178555611f70565b82800160010185558215611f70579182015b82811115611f6f578251825591602001919060010190611f54565b5b509050611f7d9190611f81565b5090565b611fa391905b80821115611f9f576000816000905550600101611f87565b5090565b905600a165627a7a723058202ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb60630029000000000000000000000000000000000000000000000000001b751d3558960c
Deployed Bytecode
0x60606040523615610147576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610149578063095ea7b3146101e257806318160ddd1461023957806323b872dd1461025f5780632db78d88146102d5578063313ce567146102fb5780634beb031b1461032757806351b9a2f81461035957806362ec8e53146103b257806364445d9e1461041e57806370a08231146104965780637c858e02146104e057806380f89a31146105795780638e4fa7881461062657806395d89b4114610674578063a9059cbb1461070d578063a95bfd3614610764578063b5e989c7146107cd578063ba9a4d6e14610889578063cdc62d39146108e6578063cff9293a14610945578063dd62ed3e1461097a578063dda0c1d6146109e3578063e927ea7a14610a5e578063f53d0a8e14610aa7575bfe5b341561015157fe5b610159610af9565b60405180806020018281038252838181518152602001915080519060200190808383600083146101a8575b8051825260208311156101a857602082019150602081019050602083039250610184565b505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57fe5b61021f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b33565b604051808215151515815260200191505060405180910390f35b341561024157fe5b610249610c26565b6040518082815260200191505060405180910390f35b341561026757fe5b6102bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c31565b604051808215151515815260200191505060405180910390f35b34156102dd57fe5b6102f9600480803563ffffffff16906020019091905050610f4f565b005b341561030357fe5b61030b61103f565b604051808260ff1660ff16815260200191505060405180910390f35b341561032f57fe5b610337611044565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561036157fe5b61039c600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061105a565b6040518082815260200191505060405180910390f35b34156103ba57fe5b61041c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190505061107f565b005b341561042657fe5b610494600480803563ffffffff1690602001909190803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611212565b005b341561049e57fe5b6104ca600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061137a565b6040518082815260200191505060405180910390f35b34156104e857fe5b6104f06113c4565b604051808060200182810382528381815181526020019150805190602001908083836000831461053f575b80518252602083111561053f5760208201915060208101905060208303925061051b565b505050905090810190601f16801561056b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058157fe5b61059d600480803563ffffffff169060200190919050506113fe565b60405180806020018281038252838181518152602001915080519060200190808383600083146105ec575b8051825260208311156105ec576020820191506020810190506020830392506105c8565b505050905090810190601f1680156106185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062e57fe5b61065a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114ae565b604051808215151515815260200191505060405180910390f35b341561067c57fe5b610684611520565b60405180806020018281038252838181518152602001915080519060200190808383600083146106d3575b8051825260208311156106d3576020820191506020810190506020830392506106af565b505050905090810190601f1680156106ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561071557fe5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061155a565b604051808215151515815260200191505060405180910390f35b341561076c57fe5b6107cb600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611765565b005b34156107d557fe5b610800600480803563ffffffff1690602001909190803563ffffffff169060200190919050506118fb565b604051808060200182810382528381815181526020019150805190602001908083836000831461084f575b80518252602083111561084f5760208201915060208101905060208303925061082b565b505050905090810190601f16801561087b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089157fe5b6108cc600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119b8565b604051808215151515815260200191505060405180910390f35b34156108ee57fe5b61090a600480803563ffffffff16906020019091905050611a23565b604051808581526020018481526020018363ffffffff1663ffffffff1681526020018215151515815260200194505050505060405180910390f35b341561094d57fe5b610978600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611a70565b005b341561098257fe5b6109cd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c5a565b6040518082815260200191505060405180910390f35b34156109eb57fe5b610a5c600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091905050611ce2565b005b3415610a6657fe5b610a91600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611e08565b6040518082815260200191505060405180910390f35b3415610aaf57fe5b610ab7611e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b604060405190810160405280600681526020017f4149436f696e000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600060015490505b90565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610cfe575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610d0a5750600082115b8015610d955750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b8015610da75750610da5846114ae565b155b15610f3e5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610f48565b60009050610f48565b5b9392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fac5760006000fd5b60008163ffffffff16118015610fe05750600460009054906101000a900463ffffffff1663ffffffff168163ffffffff1611155b1515610fec5760006000fd5b610ff581611e58565b156110005760006000fd5b6001600660008363ffffffff1663ffffffff16815260200190815260200160002060020160046101000a81548160ff0219169083151502179055505b50565b600881565b600460009054906101000a900463ffffffff1681565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de5760006000fd5b6004600081819054906101000a900463ffffffff168092919060010191906101000a81548163ffffffff021916908363ffffffff16021790555050600460009054906101000a900463ffffffff16905083600560008363ffffffff1663ffffffff1681526020019081526020016000209080519060200190611161929190611f01565b50608060405190810160405280848152602001838152602001600063ffffffff16815260200160001515815250600660008363ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020160046101000a81548160ff0219169083151502179055509050505b50505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126f5760006000fd5b60008363ffffffff161180156112a35750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156112af5760006000fd5b6112b883611e58565b156112c35760006000fd5b60008263ffffffff161180156113175750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b15156113235760006000fd5b80600760008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000209080519060200190611373929190611f01565b505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b604060405190810160405280600a81526020017f486f66737461647465720000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a65780601f1061147b576101008083540402835291602001916114a6565b820191906000526020600020905b81548152906001019060200180831161148957829003601f168201915b505050505081565b60006000600190505b600460009054906101000a900463ffffffff1663ffffffff168163ffffffff16111515611515576114e781611e92565b80156114f957506114f881846119b8565b5b15611507576001915061151a565b5b80806001019150506114b7565b600091505b50919050565b604060405190810160405280600381526020017f584149000000000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156115ab5750600082115b80156116365750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b80156116485750611646336114ae565b155b156117555781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061175f565b6000905061175f565b5b92915050565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c45760006000fd5b60008363ffffffff161180156117f85750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156118045760006000fd5b61180d83611e58565b156118185760006000fd5b6001600660008563ffffffff1663ffffffff16815260200190815260200160002060020160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff16905081600760008563ffffffff1663ffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002090805190602001906118f4929190611f01565b505b505050565b6007602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b05780601f10611985576101008083540402835291602001916119b0565b820191906000526020600020905b81548152906001019060200180831161199357829003601f168201915b505050505081565b60006000600860008563ffffffff1663ffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541190505b92915050565b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900463ffffffff16908060020160049054906101000a900460ff16905084565b600060008363ffffffff16118015611aa65750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b1515611ab25760006000fd5b611abb83611e92565b1515611ac75760006000fd5b600860008463ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2d3361137a565b039050600081111515611b405760006000fd5b60008263ffffffff16118015611b945750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b1515611ba05760006000fd5b80600960008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000206000828254019250508190555080600860008563ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3f5760006000fd5b60008463ffffffff16118015611d735750600460009054906101000a900463ffffffff1663ffffffff168463ffffffff1611155b1515611d7f5760006000fd5b82600560008663ffffffff1663ffffffff1681526020019081526020016000209080519060200190611db2929190611f01565b5081600660008663ffffffff1663ffffffff1681526020019081526020016000206000018190555080600660008663ffffffff1663ffffffff168152602001908152602001600020600101819055505b50505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b6000600660008363ffffffff1663ffffffff16815260200190815260200160002060020160049054906101000a900460ff1690505b919050565b6000611e9d82611e58565b8015611ecb575042600660008463ffffffff1663ffffffff1681526020019081526020016000206000015411155b8015611ef9575042600660008463ffffffff1663ffffffff1681526020019081526020016000206001015410155b90505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f4257805160ff1916838001178555611f70565b82800160010185558215611f70579182015b82811115611f6f578251825591602001919060010190611f54565b5b509050611f7d9190611f81565b5090565b611fa391905b80821115611f9f576000816000905550600101611f87565b5090565b905600a165627a7a723058202ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb60630029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000001b751d3558960c
-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 7728592680687116
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000001b751d3558960c
Swarm Source
bzzr://2ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb6063
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)