Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 3,899 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Mint Tokens | 22066033 | 349 days ago | IN | 0 ETH | 0.00002544 | ||||
| Transfer | 4468606 | 3043 days ago | IN | 0.07 ETH | 0.000441 | ||||
| Salvage Tokens F... | 4318607 | 3076 days ago | IN | 0 ETH | 0.0005385 | ||||
| Transfer | 4297946 | 3083 days ago | IN | 0.06332 ETH | 0.13437864 | ||||
| Transfer | 4262108 | 3093 days ago | IN | 2.5 ETH | 0.12625 | ||||
| Transfer | 4260905 | 3094 days ago | IN | 18 ETH | 0.015 | ||||
| Transfer | 4260338 | 3094 days ago | IN | 13 ETH | 0.13424784 | ||||
| Transfer | 4259606 | 3094 days ago | IN | 0.558076 ETH | 0.000567 | ||||
| Transfer | 4259605 | 3094 days ago | IN | 0.558076 ETH | 0.162 | ||||
| Transfer | 4256448 | 3095 days ago | IN | 9 ETH | 0.134 | ||||
| Transfer | 4256049 | 3095 days ago | IN | 3 ETH | 0.134 | ||||
| Transfer | 4245249 | 3098 days ago | IN | 0.08 ETH | 0.00525 | ||||
| Transfer | 4244013 | 3098 days ago | IN | 20 ETH | 0.0250001 | ||||
| Transfer | 4243559 | 3099 days ago | IN | 0.8 ETH | 0.03185043 | ||||
| Transfer | 4243455 | 3099 days ago | IN | 1.9 ETH | 0.00882 | ||||
| Transfer | 4243336 | 3099 days ago | IN | 0.5 ETH | 0.00625 | ||||
| Transfer | 4242990 | 3099 days ago | IN | 1.2 ETH | 0.00525 | ||||
| Transfer | 4242966 | 3099 days ago | IN | 0.0387785 ETH | 0.0025 | ||||
| Transfer | 4242894 | 3099 days ago | IN | 3.1 ETH | 0.0004 | ||||
| Transfer | 4242886 | 3099 days ago | IN | 2 ETH | 0.00031251 | ||||
| Transfer | 4242886 | 3099 days ago | IN | 0.1 ETH | 0.00025 | ||||
| Transfer | 4242886 | 3099 days ago | IN | 1 ETH | 0.00025 | ||||
| Transfer | 4242885 | 3099 days ago | IN | 0.1 ETH | 0.00025 | ||||
| Transfer | 4242885 | 3099 days ago | IN | 0.05 ETH | 0.00025 | ||||
| Transfer | 4242885 | 3099 days ago | IN | 3 ETH | 0.00025 |
Latest 9 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 4241003 | 3099 days ago | 4.7 ETH | ||||
| Transfer | 4241003 | 3099 days ago | 0.0598407 ETH | ||||
| Transfer | 4240995 | 3099 days ago | 10,663.55353898 ETH | ||||
| Transfer | 4240995 | 3099 days ago | 1 ETH | ||||
| Transfer | 4240950 | 3099 days ago | 4.2356709 ETH | ||||
| Transfer | 4240950 | 3099 days ago | 71.10092258 ETH | ||||
| Transfer | 4240940 | 3099 days ago | 67.11160917 ETH | ||||
| Transfer | 4240936 | 3099 days ago | 1 ETH | ||||
| Transfer | 4240936 | 3099 days ago | 1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ViberateCrowdsale
Compiler Version
v0.4.13+commit.fb4cb1a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-09-05
*/
library SafeMath {
function mul(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal constant returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function sub(uint256 a, uint256 b) internal constant returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract Owned {
address public owner;
address public newOwner;
function Owned() {
owner = msg.sender;
}
modifier onlyOwner {
assert(msg.sender == owner);
_;
}
function transferOwnership(address _newOwner) public onlyOwner {
require(_newOwner != owner);
newOwner = _newOwner;
}
function acceptOwnership() public {
require(msg.sender == newOwner);
OwnerUpdate(owner, newOwner);
owner = newOwner;
newOwner = 0x0;
}
event OwnerUpdate(address _prevOwner, address _newOwner);
}
contract Lockable is Owned{
uint256 public lockedUntilBlock;
event ContractLocked(uint256 _untilBlock, string _reason);
modifier lockAffected {
require(block.number > lockedUntilBlock);
_;
}
function lockFromSelf(uint256 _untilBlock, string _reason) internal {
lockedUntilBlock = _untilBlock;
ContractLocked(_untilBlock, _reason);
}
function lockUntil(uint256 _untilBlock, string _reason) onlyOwner {
lockedUntilBlock = _untilBlock;
ContractLocked(_untilBlock, _reason);
}
}
contract ReentrancyHandlingContract{
bool locked;
modifier noReentrancy() {
require(!locked);
locked = true;
_;
locked = false;
}
}
contract IMintableToken {
function mintTokens(address _to, uint256 _amount){}
}
contract IERC20Token {
function totalSupply() constant returns (uint256 totalSupply);
function balanceOf(address _owner) constant returns (uint256 balance) {}
function transfer(address _to, uint256 _value) returns (bool success) {}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {}
function approve(address _spender, uint256 _value) returns (bool success) {}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract ItokenRecipient {
function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);
}
contract IToken {
function totalSupply() constant returns (uint256 totalSupply);
function mintTokens(address _to, uint256 _amount) {}
}
contract Crowdsale is ReentrancyHandlingContract, Owned{
struct ContributorData{
uint contributionAmount;
uint tokensIssued;
}
mapping(address => ContributorData) public contributorList;
uint nextContributorIndex;
mapping(uint => address) contributorIndexes;
state public crowdsaleState = state.pendingStart;
enum state { pendingStart, crowdsale, crowdsaleEnded }
uint public crowdsaleStartBlock;
uint public crowdsaleEndedBlock;
event CrowdsaleStarted(uint blockNumber);
event CrowdsaleEnded(uint blockNumber);
event ErrorSendingETH(address to, uint amount);
event MinCapReached(uint blockNumber);
event MaxCapReached(uint blockNumber);
address tokenAddress = 0x0;
uint decimals = 18;
uint ethToTokenConversion;
uint public minCap;
uint public maxCap;
uint public ethRaised;
uint public tokenTotalSupply = 200000000 * 10**decimals;
address public multisigAddress;
uint blocksInADay;
uint nextContributorToClaim;
mapping(address => bool) hasClaimedEthWhenFail;
uint crowdsaleTokenCap = 120000000 * 10**decimals;
uint foundersAndTeamTokens = 32000000 * 10**decimals;
uint advisorAndAmbassadorTokens = 16000000 * 10**decimals;
uint investorTokens = 8000000 * 10**decimals;
uint viberateContributorTokens = 10000000 * 10**decimals;
uint futurePartnerTokens = 14000000 * 10**decimals;
bool foundersAndTeamTokensClaimed = false;
bool advisorAndAmbassadorTokensClaimed = false;
bool investorTokensClaimed = false;
bool viberateContributorTokensClaimed = false;
bool futurePartnerTokensClaimed = false;
//
// Unnamed function that runs when eth is sent to the contract
//
function() noReentrancy payable{
require(msg.value != 0); // Throw if value is 0
require(crowdsaleState != state.crowdsaleEnded);// Check if crowdsale has ended
bool stateChanged = checkCrowdsaleState(); // Check blocks and calibrate crowdsale state
if(crowdsaleState == state.crowdsale){
processTransaction(msg.sender, msg.value); // Process transaction and issue tokens
}
else{
refundTransaction(stateChanged); // Set state and return funds or throw
}
}
//
// Check crowdsale state and calibrate it
//
function checkCrowdsaleState() internal returns (bool){
if (ethRaised == maxCap && crowdsaleState != state.crowdsaleEnded){ // Check if max cap is reached
crowdsaleState = state.crowdsaleEnded;
CrowdsaleEnded(block.number); // Raise event
return true;
}
if(block.number > crowdsaleStartBlock && block.number <= crowdsaleEndedBlock){ // Check if we are in crowdsale state
if (crowdsaleState != state.crowdsale){ // Check if state needs to be changed
crowdsaleState = state.crowdsale; // Set new state
CrowdsaleStarted(block.number); // Raise event
return true;
}
}else{
if (crowdsaleState != state.crowdsaleEnded && block.number > crowdsaleEndedBlock){ // Check if crowdsale is over
crowdsaleState = state.crowdsaleEnded; // Set new state
CrowdsaleEnded(block.number); // Raise event
return true;
}
}
return false;
}
//
// Decide if throw or only return ether
//
function refundTransaction(bool _stateChanged) internal{
if (_stateChanged){
msg.sender.transfer(msg.value);
}else{
revert();
}
}
//
//
//
function calculateEthToVibe(uint _eth, uint _blockNumber) constant returns(uint) {
if (_blockNumber < crowdsaleStartBlock) return _eth * 3158;
if (_blockNumber >= crowdsaleStartBlock && _blockNumber < crowdsaleStartBlock + blocksInADay * 2) return _eth * 3158;
if (_blockNumber >= crowdsaleStartBlock + blocksInADay * 2 && _blockNumber < crowdsaleStartBlock + blocksInADay * 7) return _eth * 3074;
if (_blockNumber >= crowdsaleStartBlock + blocksInADay * 7 && _blockNumber < crowdsaleStartBlock + blocksInADay * 14) return _eth * 2989;
if (_blockNumber >= crowdsaleStartBlock + blocksInADay * 14 && _blockNumber < crowdsaleStartBlock + blocksInADay * 21) return _eth * 2905;
if (_blockNumber >= crowdsaleStartBlock + blocksInADay * 21 ) return _eth * 2820;
}
//
// Issue tokens and return if there is overflow
//
function processTransaction(address _contributor, uint _amount) internal{
uint contributionAmount = _amount;
uint returnAmount = 0;
if (_amount > (maxCap - ethRaised)){ // Check if max contribution is lower than _amount sent
contributionAmount = maxCap - ethRaised; // Set that user contibutes his maximum alowed contribution
returnAmount = _amount - contributionAmount; // Calculate howmuch he must get back
}
if (ethRaised + contributionAmount > minCap && minCap > ethRaised){
MinCapReached(block.number);
}
if (ethRaised + contributionAmount == maxCap && ethRaised < maxCap){
MaxCapReached(block.number);
}
if (contributorList[_contributor].contributionAmount == 0){
contributorIndexes[nextContributorIndex] = _contributor;
nextContributorIndex += 1;
}
contributorList[_contributor].contributionAmount += contributionAmount;
contributorList[_contributor].tokensIssued += contributionAmount;
ethRaised += contributionAmount; // Add to eth raised
uint tokenAmount = calculateEthToVibe(contributionAmount, block.number); // Calculate how much tokens must contributor get
if (tokenAmount > 0){
IToken(tokenAddress).mintTokens(_contributor, tokenAmount); // Issue new tokens
contributorList[_contributor].tokensIssued += tokenAmount; // log token issuance
}
if (returnAmount != 0) _contributor.transfer(returnAmount);
}
function pushAngelInvestmentData(address _address, uint _ethContributed) onlyOwner{
assert(ethRaised + _ethContributed <= maxCap);
processTransaction(_address, _ethContributed);
}
function depositAngelInvestmentEth() payable onlyOwner {}
//
// Method is needed for recovering tokens accedentaly sent to token address
//
function salvageTokensFromContract(address _tokenAddress, address _to, uint _amount) onlyOwner{
IERC20Token(_tokenAddress).transfer(_to, _amount);
}
//
// withdrawEth when minimum cap is reached
//
function withdrawEth() onlyOwner{
require(this.balance != 0);
require(ethRaised >= minCap);
multisigAddress.transfer(this.balance);
}
//
// Users can claim their contribution if min cap is not raised
//
function claimEthIfFailed(){
require(block.number > crowdsaleEndedBlock && ethRaised < minCap); // Check if crowdsale has failed
require(contributorList[msg.sender].contributionAmount > 0); // Check if contributor has contributed to crowdsaleEndedBlock
require(!hasClaimedEthWhenFail[msg.sender]); // Check if contributor has already claimed his eth
uint ethContributed = contributorList[msg.sender].contributionAmount; // Get contributors contribution
hasClaimedEthWhenFail[msg.sender] = true; // Set that he has claimed
if (!msg.sender.send(ethContributed)){ // Refund eth
ErrorSendingETH(msg.sender, ethContributed); // If there is an issue raise event for manual recovery
}
}
//
// Owner can batch return contributors contributions(eth)
//
function batchReturnEthIfFailed(uint _numberOfReturns) onlyOwner{
require(block.number > crowdsaleEndedBlock && ethRaised < minCap); // Check if crowdsale has failed
address currentParticipantAddress;
uint contribution;
for (uint cnt = 0; cnt < _numberOfReturns; cnt++){
currentParticipantAddress = contributorIndexes[nextContributorToClaim]; // Get next unclaimed participant
if (currentParticipantAddress == 0x0) return; // Check if all the participants were compensated
if (!hasClaimedEthWhenFail[currentParticipantAddress]) { // Check if participant has already claimed
contribution = contributorList[currentParticipantAddress].contributionAmount; // Get contribution of participant
hasClaimedEthWhenFail[currentParticipantAddress] = true; // Set that he has claimed
if (!currentParticipantAddress.send(contribution)){ // Refund eth
ErrorSendingETH(currentParticipantAddress, contribution); // If there is an issue raise event for manual recovery
}
}
nextContributorToClaim += 1; // Repeat
}
}
//
// If there were any issue/attach with refund owner can withraw eth at the end for manual recovery
//
function withdrawRemainingBalanceForManualRecovery() onlyOwner{
require(this.balance != 0); // Check if there are any eth to claim
require(block.number > crowdsaleEndedBlock); // Check if crowdsale is over
require(contributorIndexes[nextContributorToClaim] == 0x0); // Check if all the users were refunded
multisigAddress.transfer(this.balance); // Withdraw to multisig
}
function claimTeamTokens(address _to, uint _choice) onlyOwner{
require(crowdsaleState == state.crowdsaleEnded);
require(ethRaised >= minCap);
uint mintAmount;
if(_choice == 1){
assert(!advisorAndAmbassadorTokensClaimed);
mintAmount = advisorAndAmbassadorTokens;
advisorAndAmbassadorTokensClaimed = true;
}else if(_choice == 2){
assert(!investorTokensClaimed);
mintAmount = investorTokens;
investorTokensClaimed = true;
}else if(_choice == 3){
assert(!viberateContributorTokensClaimed);
mintAmount = viberateContributorTokens;
viberateContributorTokensClaimed = true;
}else if(_choice == 4){
assert(!futurePartnerTokensClaimed);
mintAmount = futurePartnerTokens;
futurePartnerTokensClaimed = true;
}else if(_choice == 5){
assert(!foundersAndTeamTokensClaimed);
assert(advisorAndAmbassadorTokensClaimed);
assert(investorTokensClaimed);
assert(viberateContributorTokensClaimed);
assert(futurePartnerTokensClaimed);
assert(tokenTotalSupply > IERC20Token(tokenAddress).totalSupply());
mintAmount = tokenTotalSupply - IERC20Token(tokenAddress).totalSupply();
foundersAndTeamTokensClaimed = true;
}
else{
revert();
}
IToken(tokenAddress).mintTokens(_to, mintAmount);
}
//
// Owner can set multisig address for crowdsale
//
function setMultisigAddress(address _newAddress) onlyOwner{
multisigAddress = _newAddress;
}
//
// Owner can set token address where mints will happen
//
function setToken(address _newAddress) onlyOwner{
tokenAddress = _newAddress;
}
function getTokenAddress() constant returns(address){
return tokenAddress;
}
function investorCount() constant returns(uint){
return nextContributorIndex;
}
}
contract ViberateCrowdsale is Crowdsale {
function ViberateCrowdsale(){
crowdsaleStartBlock = 4240935;
crowdsaleEndedBlock = 4348935;
minCap = 3546099290780000000000;
maxCap = 37993920972640000000000;
blocksInADay = 3600;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setMultisigAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleEndedBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawRemainingBalanceForManualRecovery","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"multisigAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_eth","type":"uint256"},{"name":"_blockNumber","type":"uint256"}],"name":"calculateEthToVibe","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimEthIfFailed","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_numberOfReturns","type":"uint256"}],"name":"batchReturnEthIfFailed","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_choice","type":"uint256"}],"name":"claimTeamTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contributorList","outputs":[{"name":"contributionAmount","type":"uint256"},{"name":"tokensIssued","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"salvageTokensFromContract","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawEth","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"investorCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"depositAngelInvestmentEth","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_ethContributed","type":"uint256"}],"name":"pushAngelInvestmentData","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ethRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"CrowdsaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"CrowdsaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ErrorSendingETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"MinCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"MaxCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]Contract Creation Code
60606040526000600560006101000a81548160ff0219169083600281111561002357fe5b02179055506000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600955600954600a0a630bebc20002600e55600954600a0a6307270e0002601355600954600a0a6301e8480002601455600954600a0a62f4240002601555600954600a0a627a120002601655600954600a0a6298968002601755600954600a0a62d59f80026018556000601960006101000a81548160ff0219169083151502179055506000601960016101000a81548160ff0219169083151502179055506000601960026101000a81548160ff0219169083151502179055506000601960036101000a81548160ff0219169083151502179055506000601960046101000a81548160ff021916908315150217905550341561016657600080fd5b5b5b33600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6240b62760068190555062425c0760078190555068c03c0374ecd6871800600b8190555069080ba792c0320711c000600c81905550610e106010819055505b5b6121c3806101f96000396000f30060606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063055405341461024357806310fe9ae81461027c578063144fa6d7146102d157806320d191811461030a5780632165e1aa1461033357806323548b8b146103485780633fa615b0146103715780635462870d1461039a5780636deaf623146103ef57806379ba50971461042f5780637d6651b9146104445780637f86033014610459578063826776fa1461047c5780638da5cb5b146104be57806392acb4d614610513578063a0929cda14610567578063a0ef91df146105c8578063cdd3574a146105dd578063d4ee1d9014610606578063d7e64c001461065b578063de271ee014610684578063e7bb52331461068e578063f28afb1e146106c5578063f2fde38b14610707578063f7abab9e14610740578063fddf0fc014610769575b6102415b60008060009054906101000a900460ff1615151561017357600080fd5b60016000806101000a81548160ff0219169083151502179055506000341415151561019d57600080fd5b6002808111156101a957fe5b600560009054906101000a900460ff1660028111156101c457fe5b141515156101d157600080fd5b6101d9610792565b9050600160028111156101e857fe5b600560009054906101000a900460ff16600281111561020357fe5b141561021857610213333461098d565b610222565b61022181610d52565b5b5b60008060006101000a81548160ff0219169083151502179055505b50565b005b341561024e57600080fd5b61027a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610da6565b005b341561028757600080fd5b61028f610e45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e70565b005b341561031557600080fd5b61031d610f0f565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610346610f15565b005b341561035357600080fd5b61035b61107c565b6040518082815260200191505060405180910390f35b341561037c57600080fd5b610384611082565b6040518082815260200191505060405180910390f35b34156103a557600080fd5b6103ad611088565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fa57600080fd5b61041960048080359060200190919080359060200190919050506110ae565b6040518082815260200191505060405180910390f35b341561043a57600080fd5b6104426111ac565b005b341561044f57600080fd5b61045761138b565b005b341561046457600080fd5b61047a600480803590602001909190505061159e565b005b341561048757600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611842565b005b34156104c957600080fd5b6104d1611cec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b61054a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d12565b604051808381526020018281526020019250505060405180910390f35b341561057257600080fd5b6105c6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d36565b005b34156105d357600080fd5b6105db611e5d565b005b34156105e857600080fd5b6105f0611f6d565b6040518082815260200191505060405180910390f35b341561061157600080fd5b610619611f73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066657600080fd5b61066e611f99565b6040518082815260200191505060405180910390f35b61068c611fa4565b005b341561069957600080fd5b6106a1612001565b604051808260028111156106b157fe5b60ff16815260200191505060405180910390f35b34156106d057600080fd5b610705600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612014565b005b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061208f565b005b341561074b57600080fd5b61075361218b565b6040518082815260200191505060405180910390f35b341561077457600080fd5b61077c612191565b6040518082815260200191505060405180910390f35b6000600c54600d541480156107cc57506002808111156107ae57fe5b600560009054906101000a900460ff1660028111156107c957fe5b14155b15610835576002600560006101000a81548160ff021916908360028111156107f057fe5b02179055507f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b436040518082815260200191505060405180910390a16001905061098a565b6006544311801561084857506007544311155b156108e5576001600281111561085a57fe5b600560009054906101000a900460ff16600281111561087557fe5b1415156108e0576001600560006101000a81548160ff0219169083600281111561089b57fe5b02179055507f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d501436040518082815260200191505060405180910390a16001905061098a565b610985565b6002808111156108f157fe5b600560009054906101000a900460ff16600281111561090c57fe5b1415801561091b575060075443115b15610984576002600560006101000a81548160ff0219169083600281111561093f57fe5b02179055507f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b436040518082815260200191505060405180910390a16001905061098a565b5b600090505b90565b600080600083925060009150600d54600c54038411156109b657600d54600c5403925082840391505b600b5483600d54011180156109ce5750600d54600b54115b15610a0b577f71bd1f47064193be653e360173639170d33d2cfe47bf52a3de621ca4040e2358436040518082815260200191505060405180910390a15b600c5483600d5401148015610a235750600c54600d54105b15610a60577f38caa2c61728c18eb71cbd06d1915e4164ffe51c69a09b68d78be1f125a5dea7436040518082815260200191505060405180910390a15b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610b11578460046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016003600082825401925050819055505b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254019250508190555082600d60008282540192505081905550610bcb83436110ae565b90506000811115610cff57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c86836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610c9a57600080fd5b6102c65a03f11515610cab57600080fd5b50505080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055505b600082141515610d4a578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610d4957600080fd5b5b5b5050505050565b8015610d9d573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d9857600080fd5b610da2565b600080fd5b5b50565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dff57fe5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957fe5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b60075481565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6e57fe5b60003073ffffffffffffffffffffffffffffffffffffffff163114151515610f9557600080fd5b60075443111515610fa557600080fd5b600060046000601154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fff57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561107857600080fd5b5b5b565b600c5481565b600b5481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006006548210156110c657610c56830290506111a6565b60065482101580156110e057506002601054026006540182105b156110f157610c56830290506111a6565b60026010540260065401821015801561111257506007601054026006540182105b1561112357610c02830290506111a6565b6007601054026006540182101580156111445750600e601054026006540182105b1561115557610bad830290506111a6565b600e6010540260065401821015801561117657506015601054026006540182105b1561118757610b59830290506111a6565b60156010540260065401821015156111a557610b04830290506111a6565b5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120857600080fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b6000600754431180156113a15750600b54600d54105b15156113ac57600080fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115156113fd57600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561145657600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561159a577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d33382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b50565b60008060008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115fb57fe5b6007544311801561160f5750600b54600d54105b151561161a57600080fd5b600090505b8381101561183a5760046000601154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060008373ffffffffffffffffffffffffffffffffffffffff1614156116835761183b565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181b57600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015491506001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561181a577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d38383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b60016011600082825401925050819055505b808060010191505061161f565b5b5b50505050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189c57fe5b6002808111156118a857fe5b600560009054906101000a900460ff1660028111156118c357fe5b1415156118cf57600080fd5b600b54600d54101515156118e257600080fd5b600182141561192957601960019054906101000a900460ff1615151561190457fe5b60155490506001601960016101000a81548160ff021916908315150217905550611c0d565b600282141561197057601960029054906101000a900460ff1615151561194b57fe5b60165490506001601960026101000a81548160ff021916908315150217905550611c0c565b60038214156119b757601960039054906101000a900460ff1615151561199257fe5b60175490506001601960036101000a81548160ff021916908315150217905550611c0b565b60048214156119fe57601960049054906101000a900460ff161515156119d957fe5b60185490506001601960046101000a81548160ff021916908315150217905550611c0a565b6005821415611c0457601960009054906101000a900460ff16151515611a2057fe5b601960019054906101000a900460ff161515611a3857fe5b601960029054906101000a900460ff161515611a5057fe5b601960039054906101000a900460ff161515611a6857fe5b601960049054906101000a900460ff161515611a8057fe5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b0e57600080fd5b6102c65a03f11515611b1f57600080fd5b50505060405180519050600e54111515611b3557fe5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611bc357600080fd5b6102c65a03f11515611bd457600080fd5b50505060405180519050600e540390506001601960006101000a81548160ff021916908315150217905550611c09565b600080fd5b5b5b5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515611cd157600080fd5b6102c65a03f11515611ce257600080fd5b5050505b5b505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090508060000154908060010154905082565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8f57fe5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611e3a57600080fd5b6102c65a03f11515611e4b57600080fd5b50505060405180519050505b5b505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb657fe5b60003073ffffffffffffffffffffffffffffffffffffffff163114151515611edd57600080fd5b600b54600d5410151515611ef057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611f6957600080fd5b5b5b565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035490505b90565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ffd57fe5b5b5b565b600560009054906101000a900460ff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206d57fe5b600c5481600d54011115151561207f57fe5b612089828261098d565b5b5b5050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e857fe5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561214557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600e5481565b600d54815600a165627a7a723058207c1f8feb2087c188c51695c514a7cdf22c2707b3895eeee90f50eb412ce328800029
Deployed Bytecode
0x60606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063055405341461024357806310fe9ae81461027c578063144fa6d7146102d157806320d191811461030a5780632165e1aa1461033357806323548b8b146103485780633fa615b0146103715780635462870d1461039a5780636deaf623146103ef57806379ba50971461042f5780637d6651b9146104445780637f86033014610459578063826776fa1461047c5780638da5cb5b146104be57806392acb4d614610513578063a0929cda14610567578063a0ef91df146105c8578063cdd3574a146105dd578063d4ee1d9014610606578063d7e64c001461065b578063de271ee014610684578063e7bb52331461068e578063f28afb1e146106c5578063f2fde38b14610707578063f7abab9e14610740578063fddf0fc014610769575b6102415b60008060009054906101000a900460ff1615151561017357600080fd5b60016000806101000a81548160ff0219169083151502179055506000341415151561019d57600080fd5b6002808111156101a957fe5b600560009054906101000a900460ff1660028111156101c457fe5b141515156101d157600080fd5b6101d9610792565b9050600160028111156101e857fe5b600560009054906101000a900460ff16600281111561020357fe5b141561021857610213333461098d565b610222565b61022181610d52565b5b5b60008060006101000a81548160ff0219169083151502179055505b50565b005b341561024e57600080fd5b61027a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610da6565b005b341561028757600080fd5b61028f610e45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e70565b005b341561031557600080fd5b61031d610f0f565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610346610f15565b005b341561035357600080fd5b61035b61107c565b6040518082815260200191505060405180910390f35b341561037c57600080fd5b610384611082565b6040518082815260200191505060405180910390f35b34156103a557600080fd5b6103ad611088565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fa57600080fd5b61041960048080359060200190919080359060200190919050506110ae565b6040518082815260200191505060405180910390f35b341561043a57600080fd5b6104426111ac565b005b341561044f57600080fd5b61045761138b565b005b341561046457600080fd5b61047a600480803590602001909190505061159e565b005b341561048757600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611842565b005b34156104c957600080fd5b6104d1611cec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b61054a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d12565b604051808381526020018281526020019250505060405180910390f35b341561057257600080fd5b6105c6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d36565b005b34156105d357600080fd5b6105db611e5d565b005b34156105e857600080fd5b6105f0611f6d565b6040518082815260200191505060405180910390f35b341561061157600080fd5b610619611f73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066657600080fd5b61066e611f99565b6040518082815260200191505060405180910390f35b61068c611fa4565b005b341561069957600080fd5b6106a1612001565b604051808260028111156106b157fe5b60ff16815260200191505060405180910390f35b34156106d057600080fd5b610705600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612014565b005b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061208f565b005b341561074b57600080fd5b61075361218b565b6040518082815260200191505060405180910390f35b341561077457600080fd5b61077c612191565b6040518082815260200191505060405180910390f35b6000600c54600d541480156107cc57506002808111156107ae57fe5b600560009054906101000a900460ff1660028111156107c957fe5b14155b15610835576002600560006101000a81548160ff021916908360028111156107f057fe5b02179055507f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b436040518082815260200191505060405180910390a16001905061098a565b6006544311801561084857506007544311155b156108e5576001600281111561085a57fe5b600560009054906101000a900460ff16600281111561087557fe5b1415156108e0576001600560006101000a81548160ff0219169083600281111561089b57fe5b02179055507f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d501436040518082815260200191505060405180910390a16001905061098a565b610985565b6002808111156108f157fe5b600560009054906101000a900460ff16600281111561090c57fe5b1415801561091b575060075443115b15610984576002600560006101000a81548160ff0219169083600281111561093f57fe5b02179055507f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b436040518082815260200191505060405180910390a16001905061098a565b5b600090505b90565b600080600083925060009150600d54600c54038411156109b657600d54600c5403925082840391505b600b5483600d54011180156109ce5750600d54600b54115b15610a0b577f71bd1f47064193be653e360173639170d33d2cfe47bf52a3de621ca4040e2358436040518082815260200191505060405180910390a15b600c5483600d5401148015610a235750600c54600d54105b15610a60577f38caa2c61728c18eb71cbd06d1915e4164ffe51c69a09b68d78be1f125a5dea7436040518082815260200191505060405180910390a15b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610b11578460046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016003600082825401925050819055505b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254019250508190555082600d60008282540192505081905550610bcb83436110ae565b90506000811115610cff57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c86836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610c9a57600080fd5b6102c65a03f11515610cab57600080fd5b50505080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055505b600082141515610d4a578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610d4957600080fd5b5b5b5050505050565b8015610d9d573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d9857600080fd5b610da2565b600080fd5b5b50565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dff57fe5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957fe5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b60075481565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6e57fe5b60003073ffffffffffffffffffffffffffffffffffffffff163114151515610f9557600080fd5b60075443111515610fa557600080fd5b600060046000601154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fff57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561107857600080fd5b5b5b565b600c5481565b600b5481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006006548210156110c657610c56830290506111a6565b60065482101580156110e057506002601054026006540182105b156110f157610c56830290506111a6565b60026010540260065401821015801561111257506007601054026006540182105b1561112357610c02830290506111a6565b6007601054026006540182101580156111445750600e601054026006540182105b1561115557610bad830290506111a6565b600e6010540260065401821015801561117657506015601054026006540182105b1561118757610b59830290506111a6565b60156010540260065401821015156111a557610b04830290506111a6565b5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120857600080fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b6000600754431180156113a15750600b54600d54105b15156113ac57600080fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115156113fd57600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561145657600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561159a577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d33382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b50565b60008060008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115fb57fe5b6007544311801561160f5750600b54600d54105b151561161a57600080fd5b600090505b8381101561183a5760046000601154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060008373ffffffffffffffffffffffffffffffffffffffff1614156116835761183b565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181b57600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015491506001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561181a577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d38383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b60016011600082825401925050819055505b808060010191505061161f565b5b5b50505050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189c57fe5b6002808111156118a857fe5b600560009054906101000a900460ff1660028111156118c357fe5b1415156118cf57600080fd5b600b54600d54101515156118e257600080fd5b600182141561192957601960019054906101000a900460ff1615151561190457fe5b60155490506001601960016101000a81548160ff021916908315150217905550611c0d565b600282141561197057601960029054906101000a900460ff1615151561194b57fe5b60165490506001601960026101000a81548160ff021916908315150217905550611c0c565b60038214156119b757601960039054906101000a900460ff1615151561199257fe5b60175490506001601960036101000a81548160ff021916908315150217905550611c0b565b60048214156119fe57601960049054906101000a900460ff161515156119d957fe5b60185490506001601960046101000a81548160ff021916908315150217905550611c0a565b6005821415611c0457601960009054906101000a900460ff16151515611a2057fe5b601960019054906101000a900460ff161515611a3857fe5b601960029054906101000a900460ff161515611a5057fe5b601960039054906101000a900460ff161515611a6857fe5b601960049054906101000a900460ff161515611a8057fe5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b0e57600080fd5b6102c65a03f11515611b1f57600080fd5b50505060405180519050600e54111515611b3557fe5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611bc357600080fd5b6102c65a03f11515611bd457600080fd5b50505060405180519050600e540390506001601960006101000a81548160ff021916908315150217905550611c09565b600080fd5b5b5b5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515611cd157600080fd5b6102c65a03f11515611ce257600080fd5b5050505b5b505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090508060000154908060010154905082565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d8f57fe5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611e3a57600080fd5b6102c65a03f11515611e4b57600080fd5b50505060405180519050505b5b505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb657fe5b60003073ffffffffffffffffffffffffffffffffffffffff163114151515611edd57600080fd5b600b54600d5410151515611ef057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611f6957600080fd5b5b5b565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035490505b90565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ffd57fe5b5b5b565b600560009054906101000a900460ff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206d57fe5b600c5481600d54011115151561207f57fe5b612089828261098d565b5b5b5050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e857fe5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561214557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600e5481565b600d54815600a165627a7a723058207c1f8feb2087c188c51695c514a7cdf22c2707b3895eeee90f50eb412ce328800029
Swarm Source
bzzr://7c1f8feb2087c188c51695c514a7cdf22c2707b3895eeee90f50eb412ce32880
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.