Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 4319312 | 3092 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Fund
Compiler Version
v0.4.17+commit.bdeb9e52
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-09-28
*/
pragma solidity ^0.4.17;
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) onlyOwner {
if (newOwner != address(0)) {
owner = newOwner;
}
}
}
contract Fund is Ownable {
using SafeMath for uint256;
string public name = "Slot Token";
uint8 public decimals = 0;
string public symbol = "SLOT";
string public version = "0.7";
uint8 constant TOKENS = 0;
uint8 constant BALANCE = 1;
uint256 totalWithdrawn; // of Ether
uint256 public totalSupply; // of Tokens
mapping(address => uint256[2][]) balances;
mapping(address => uint256) withdrawals;
event Withdrawn(
address indexed investor,
address indexed beneficiary,
uint256 weiAmount);
event Mint(
address indexed to,
uint256 amount);
event MintFinished();
event Transfer(
address indexed from,
address indexed to,
uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value);
mapping (address => mapping (address => uint256)) allowed;
bool public mintingFinished = false;
modifier canMint() {
require(!mintingFinished);
_;
}
function Fund() payable {}
function() payable {}
function getEtherBalance(address _owner) constant public returns (uint256 _balance) {
uint256[2][] memory snapshots = balances[_owner];
if (snapshots.length == 0) { return 0; } // no data
uint256 balance = 0;
uint256 previousSnapTotalStake = 0;
// add up all snapshots
for (uint256 i = 0 ; i < snapshots.length ; i++) {
// each snapshot has amount of tokens and totalBalance at the time except last, which should be calculated with current stake
if (i == snapshots.length-1) {
// add current data
uint256 currentTokens = snapshots[i][TOKENS];
uint256 b = currentTokens.mul( getTotalStake().sub(previousSnapTotalStake) ).div(totalSupply);
balance = balance.add(b);
// reduce withdrawals
return balance.sub(withdrawals[_owner]);
}
uint256 snapTotalStake = snapshots[i][BALANCE];
// if it's the first element, nothing is substracted from snapshot's total stake, hence previous stake will be 0
uint256 spanBalance = snapshots[i][TOKENS].mul(snapTotalStake.sub(previousSnapTotalStake)).div(totalSupply);
balance = balance.add(spanBalance);
previousSnapTotalStake = previousSnapTotalStake.add(snapTotalStake); // for the next loop and next code, needs to be +=
}
}
function balanceOf(address _owner) constant returns (uint256 balance) {
uint256[2][] memory snapshots = balances[_owner];
if (snapshots.length == 0) { return 0; }
return snapshots[snapshots.length-1][TOKENS];
}
function getTotalStake() constant public returns (uint256 _totalStake) {
// the total size of the pie, unaffected by withdrawals
return this.balance + totalWithdrawn;
}
function withdrawBalance(address _to, uint256 _value) public {
require(getEtherBalance(msg.sender) >= _value);
withdrawals[msg.sender] = withdrawals[msg.sender].add(_value);
totalWithdrawn = totalWithdrawn.add(_value);
_to.transfer(_value);
Withdrawn(msg.sender, _to, _value);
}
function transfer(address _to, uint256 _value) returns (bool) {
return transferFromPrivate(msg.sender, _to, _value);
}
function transferFromPrivate(address _from, address _to, uint256 _value) private returns (bool) {
require(balanceOf(msg.sender) >= _value);
uint256 fromTokens = balanceOf(msg.sender);
pushSnapshot(msg.sender, fromTokens-_value);
uint256 toTokens = balanceOf(_to);
pushSnapshot(_to, toTokens+_value);
Transfer(_from, _to, _value);
return true;
}
function pushSnapshot(address _beneficiary, uint256 _amount) private {
balances[_beneficiary].push([_amount, 0]);
if (balances[_beneficiary].length > 1) {
// update previous snapshot balance
uint256 lastIndex = balances[msg.sender].length-1;
balances[_beneficiary][lastIndex-1][BALANCE] = getTotalStake();
}
}
function mint(address _to, uint256 _amount) public onlyOwner canMint returns (bool) {
pushSnapshot(_to, _amount.add(balanceOf(_to)));
totalSupply = totalSupply.add(_amount);
Mint(_to, _amount);
Transfer(0x0, _to, _amount); // so it is displayed properly on EtherScan
return true;
}
function finishMinting() onlyOwner returns (bool) {
mintingFinished = true;
MintFinished();
return true;
}
function approve(address _spender, uint256 _value) returns (bool) {
// To change the approve amount you first have to reduce the addresses`
// allowance to zero by calling `approve(_spender, 0)` if it is not
// already 0 to mitigate the race condition described here:
// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
require((_value == 0) || (allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
uint256 _allowance = allowed[_from][msg.sender];
transferFromPrivate(_from, _to, _value);
allowed[_from][msg.sender] = _allowance.sub(_value);
return true;
}
}
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
/**
* @dev modifier to allow actions only when the contract IS paused
*/
modifier whenNotPaused() {
require(!paused);
_;
}
/**
* @dev modifier to allow actions only when the contract IS NOT paused
*/
modifier whenPaused {
require(paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused returns (bool) {
paused = true;
Pause();
return true;
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused returns (bool) {
paused = false;
Unpause();
return true;
}
}
/**
* @title SlotCrowdsale
*/
contract SlotCrowdsale is Ownable, Pausable {
using SafeMath for uint256;
Fund public fund;
uint256 constant ETHER_CAP = 4715 ether; // ether
uint256 constant TOKEN_CAP = 10000000; // tokens
uint256 constant PRICE = 1 ether; // ether
uint256 constant BOUNTY = 250000; // tokens
uint256 constant OWNERS_STAKE = 3750000; // tokens
uint256 constant OWNERS_LOCK = 200000; // blocks
address public bountyWallet;
address public ownersWallet;
uint256 public lockBegunAtBlock;
bool public bountyDistributed = false;
bool public ownershipDistributed = false;
uint256[10] outcomes = [1000000, // 0
250000, // 1
100000, // 2
20000, // 3
10000, // 4
4000, // 5
2000, // 6
1250, // 7
1000, // 8
500]; // 9
// 0 1 2 3 4 5 6 7 8 9
uint16[10] chances = [1, 4, 10, 50, 100, 250, 500, 800, 1000, 2000];
uint16[10] addedUpChances = [1, 5, 15, 65, 165, 415, 915, 1715, 2715, 4715];
event OwnershipDistributed();
event BountyDistributed();
function SlotCrowdsale() payable {
// fund = Fund(_fundAddress); // still need to change ownership
fund = new Fund();
bountyWallet = 0x00deF93928A3aAD581F39049a3BbCaaB9BbE36C8;
ownersWallet = 0x0001619153d8FE15B3FA70605859265cb0033c1a;
}
function() payable {
// fallback function to buy tickets
buyTokenFor(msg.sender);
}
function correctedIndex(uint8 _index) constant private returns (uint8 _newIndex) {
require(_index < chances.length);
// if the chance is 0, return the next index
if (chances[_index] != 0) {
return _index;
} else {
return correctedIndex(uint8((_index + 1) % chances.length));
}
}
function getRateIndex(uint256 _randomNumber) constant private returns (uint8 _rateIndex) {
for (uint8 i = 0 ; i < uint8(chances.length) ; i++) {
if (_randomNumber < addedUpChances[i]) {
return correctedIndex(i);
}
}
}
function buyTokenFor(address _beneficiary) whenNotPaused() payable {
require(_beneficiary != 0x0);
require(msg.value >= PRICE);
uint256 change = msg.value%PRICE;
uint256 numberOfTokens = msg.value.sub(change).div(PRICE);
mintTokens(_beneficiary, numberOfTokens);
// Return change to msg.sender
msg.sender.transfer(change);
}
function mintTokens(address _beneficiary, uint256 _numberOfTokens) private {
uint16 totalChances = addedUpChances[9];
for (uint16 i=1 ; i <= _numberOfTokens; i++) {
uint256 randomNumber = uint256(keccak256(block.blockhash(block.number-1)))%totalChances;
uint8 rateIndex = getRateIndex(randomNumber);
// rate shouldn't be 0 because of correctedIndex function
assert(chances[rateIndex] != 0);
chances[rateIndex]--;
uint256 amount = outcomes[rateIndex];
fund.mint(_beneficiary, amount);
}
}
function crowdsaleEnded() constant private returns (bool ended) {
if (fund.totalSupply() >= TOKEN_CAP) {
return true;
} else {
return false;
}
}
function lockEnded() constant private returns (bool ended) {
if (block.number.sub(lockBegunAtBlock) > OWNERS_LOCK) {
return true;
} else {
return false;
}
}
/* public onlyOwner */
function distributeBounty() public onlyOwner {
require(!bountyDistributed);
require(crowdsaleEnded());
bountyDistributed = true;
bountyWallet.transfer(BOUNTY);
lockBegunAtBlock = block.number;
BountyDistributed();
}
function distributeOwnership() public onlyOwner {
require(!ownershipDistributed);
require(crowdsaleEnded());
require(lockEnded());
ownershipDistributed = true;
ownersWallet.transfer(OWNERS_STAKE);
OwnershipDistributed();
}
function changeOwnersWallet(address _newWallet) public onlyOwner {
require(_newWallet != 0x0);
ownersWallet = _newWallet;
}
function changeBountyWallet(address _newWallet) public onlyOwner {
require(_newWallet != 0x0);
bountyWallet = _newWallet;
}
function changeFundOwner(address _newOwner) {
require(_newOwner != 0x0);
fund.transferOwnership(_newOwner);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalStake","outputs":[{"name":"_totalStake","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getEtherBalance","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
606060405260408051908101604052600a81527f536c6f7420546f6b656e00000000000000000000000000000000000000000000602082015260019080516200004d92916020019062000117565b506002805460ff1916905560408051908101604052600481527f534c4f540000000000000000000000000000000000000000000000000000000060208201526003908051620000a192916020019062000117565b5060408051908101604052600381527f302e37000000000000000000000000000000000000000000000000000000000060208201526004908051620000eb92916020019062000117565b50600a805460ff1916905560008054600160a060020a03191633600160a060020a0316179055620001bc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015a57805160ff19168380011785556200018a565b828001600101855582156200018a579182015b828111156200018a5782518255916020019190600101906200016d565b50620001989291506200019c565b5090565b620001b991905b80821115620001985760008155600101620001a3565b90565b610f0480620001cc6000396000f300606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100fb57806306fdde0314610122578063095ea7b3146101ac5780630cf20cc9146101ce57806318160ddd146101f057806323b872dd14610215578063313ce5671461023d57806340c10f191461026657806354fd4d501461028857806370a082311461029b5780637bc74225146102ba5780637d64bcb4146102cd5780638da5cb5b146102e057806395d89b411461030f578063a9059cbb14610322578063dc45d08e14610344578063dd62ed3e14610363578063f2fde38b14610388575b005b341561010657600080fd5b61010e6103a7565b604051901515815260200160405180910390f35b341561012d57600080fd5b6101356103b0565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610171578082015183820152602001610159565b50505050905090810190601f16801561019e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b757600080fd5b61010e600160a060020a036004351660243561044e565b34156101d957600080fd5b6100f9600160a060020a03600435166024356104f4565b34156101fb57600080fd5b6102036105dd565b60405190815260200160405180910390f35b341561022057600080fd5b61010e600160a060020a03600435811690602435166044356105e3565b341561024857600080fd5b61025061065b565b60405160ff909116815260200160405180910390f35b341561027157600080fd5b61010e600160a060020a0360043516602435610664565b341561029357600080fd5b61013561074d565b34156102a657600080fd5b610203600160a060020a03600435166107b8565b34156102c557600080fd5b61020361089b565b34156102d857600080fd5b61010e6108ae565b34156102eb57600080fd5b6102f3610909565b604051600160a060020a03909116815260200160405180910390f35b341561031a57600080fd5b610135610918565b341561032d57600080fd5b61010e600160a060020a0360043516602435610983565b341561034f57600080fd5b610203600160a060020a0360043516610997565b341561036e57600080fd5b610203600160a060020a0360043581169060243516610bb4565b341561039357600080fd5b6100f9600160a060020a0360043516610bdf565b600a5460ff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b820191906000526020600020905b81548152906001019060200180831161042957829003601f168201915b505050505081565b60008115806104805750600160a060020a03338116600090815260096020908152604080832093871683529290522054155b151561048b57600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b806104fe33610997565b101561050957600080fd5b600160a060020a033316600090815260086020526040902054610532908263ffffffff610c3516565b600160a060020a03331660009081526008602052604090205560055461055e908263ffffffff610c3516565b600555600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151561059257600080fd5b81600160a060020a031633600160a060020a03167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb8360405190815260200160405180910390a35050565b60065481565b600160a060020a03808416600090815260096020908152604080832033909416835292905290812054610617858585610c44565b50610628818463ffffffff610cdf16565b600160a060020a038087166000908152600960209081526040808320339094168352929052205560019150509392505050565b60025460ff1681565b6000805433600160a060020a0390811691161461068057600080fd5b600a5460ff161561069057600080fd5b6106b2836106ad6106a0866107b8565b859063ffffffff610c3516565b610cf1565b6006546106c5908363ffffffff610c3516565b600655600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b60006107c2610e11565b6007600084600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405281815291906000602084015b8282101561086057838290600052602060002090600202016002806020026040519081016040529190828260026020028201915b81548152602001906001019080831161083957505050505081526020019060010190610805565b505050509050805115156108775760009150610895565b8060018251038151811061088757fe5b906020019060200201515191505b50919050565b600554600160a060020a03301631015b90565b6000805433600160a060020a039081169116146108ca57600080fd5b600a805460ff191660011790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b6000610990338484610c44565b9392505050565b60006109a1610e11565b6000806000806000806000600760008b600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405281815291906000602084015b82821015610a4a57838290600052602060002090600202016002806020026040519081016040529190828260026020028201915b815481526020019060010190808311610a23575050505050815260200190600101906109ef565b50505050975087511515610a615760009850610ba7565b6000965060009550600094505b8751851015610ba7576001885103851415610b1c57878581518110610a8f57fe5b90602001906020020151519350610ad6600654610aca610abd89610ab161089b565b9063ffffffff610cdf16565b879063ffffffff610dd616565b9063ffffffff610dfa16565b9250610ae8878463ffffffff610c3516565b600160a060020a038b16600090815260086020526040902054909750610b1590889063ffffffff610cdf16565b9850610ba7565b878581518110610b2857fe5b9060200190602002015160200151600654909250610b7690610aca610b53858a63ffffffff610cdf16565b8b8981518110610b5f57fe5b90602001906020020151519063ffffffff610dd616565b9050610b88878263ffffffff610c3516565b9650610b9a868363ffffffff610c3516565b9550600190940193610a6e565b5050505050505050919050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610bfa57600080fd5b600160a060020a03811615610c32576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60008282018381101561099057fe5b600080600083610c53336107b8565b1015610c5e57600080fd5b610c67336107b8565b9150610c7533858403610cf1565b610c7e856107b8565b9050610c8c85858301610cf1565b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a350600195945050505050565b600082821115610ceb57fe5b50900390565b600160a060020a0382166000908152600760205260408120805460018101610d198382610e23565b916000526020600020906002020160006040805190810160405285815260006020820152610d4a9291506002610e4f565b5050600160a060020a0383166000908152600760205260409020546001901115610dd15750600160a060020a03331660009081526007602052604090205460001901610d9461089b565b600160a060020a038416600090815260076020526040902080546000198401908110610dbc57fe5b60009182526020909120600290910201600101555b505050565b6000828202831580610df25750828482811515610def57fe5b04145b151561099057fe5b6000808284811515610e0857fe5b04949350505050565b60206040519081016040526000815290565b815481835581811511610dd157600202816002028360005260206000209182019101610dd19190610e8d565b8260028101928215610e7d579160200282015b82811115610e7d578251825591602001919060010190610e62565b50610e89929150610eb0565b5090565b6108ab91905b80821115610e89576000610ea78282610eca565b50600201610e93565b6108ab91905b80821115610e895760008155600101610eb6565b5060008155600101600090555600a165627a7a72305820b623835690c3016c6fe0cac6b06041332e7447fd2c99467f22b996160fb69aca0029
Deployed Bytecode
0x606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100fb57806306fdde0314610122578063095ea7b3146101ac5780630cf20cc9146101ce57806318160ddd146101f057806323b872dd14610215578063313ce5671461023d57806340c10f191461026657806354fd4d501461028857806370a082311461029b5780637bc74225146102ba5780637d64bcb4146102cd5780638da5cb5b146102e057806395d89b411461030f578063a9059cbb14610322578063dc45d08e14610344578063dd62ed3e14610363578063f2fde38b14610388575b005b341561010657600080fd5b61010e6103a7565b604051901515815260200160405180910390f35b341561012d57600080fd5b6101356103b0565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610171578082015183820152602001610159565b50505050905090810190601f16801561019e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b757600080fd5b61010e600160a060020a036004351660243561044e565b34156101d957600080fd5b6100f9600160a060020a03600435166024356104f4565b34156101fb57600080fd5b6102036105dd565b60405190815260200160405180910390f35b341561022057600080fd5b61010e600160a060020a03600435811690602435166044356105e3565b341561024857600080fd5b61025061065b565b60405160ff909116815260200160405180910390f35b341561027157600080fd5b61010e600160a060020a0360043516602435610664565b341561029357600080fd5b61013561074d565b34156102a657600080fd5b610203600160a060020a03600435166107b8565b34156102c557600080fd5b61020361089b565b34156102d857600080fd5b61010e6108ae565b34156102eb57600080fd5b6102f3610909565b604051600160a060020a03909116815260200160405180910390f35b341561031a57600080fd5b610135610918565b341561032d57600080fd5b61010e600160a060020a0360043516602435610983565b341561034f57600080fd5b610203600160a060020a0360043516610997565b341561036e57600080fd5b610203600160a060020a0360043581169060243516610bb4565b341561039357600080fd5b6100f9600160a060020a0360043516610bdf565b600a5460ff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b820191906000526020600020905b81548152906001019060200180831161042957829003601f168201915b505050505081565b60008115806104805750600160a060020a03338116600090815260096020908152604080832093871683529290522054155b151561048b57600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b806104fe33610997565b101561050957600080fd5b600160a060020a033316600090815260086020526040902054610532908263ffffffff610c3516565b600160a060020a03331660009081526008602052604090205560055461055e908263ffffffff610c3516565b600555600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151561059257600080fd5b81600160a060020a031633600160a060020a03167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb8360405190815260200160405180910390a35050565b60065481565b600160a060020a03808416600090815260096020908152604080832033909416835292905290812054610617858585610c44565b50610628818463ffffffff610cdf16565b600160a060020a038087166000908152600960209081526040808320339094168352929052205560019150509392505050565b60025460ff1681565b6000805433600160a060020a0390811691161461068057600080fd5b600a5460ff161561069057600080fd5b6106b2836106ad6106a0866107b8565b859063ffffffff610c3516565b610cf1565b6006546106c5908363ffffffff610c3516565b600655600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b60006107c2610e11565b6007600084600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405281815291906000602084015b8282101561086057838290600052602060002090600202016002806020026040519081016040529190828260026020028201915b81548152602001906001019080831161083957505050505081526020019060010190610805565b505050509050805115156108775760009150610895565b8060018251038151811061088757fe5b906020019060200201515191505b50919050565b600554600160a060020a03301631015b90565b6000805433600160a060020a039081169116146108ca57600080fd5b600a805460ff191660011790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104465780601f1061041b57610100808354040283529160200191610446565b6000610990338484610c44565b9392505050565b60006109a1610e11565b6000806000806000806000600760008b600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405281815291906000602084015b82821015610a4a57838290600052602060002090600202016002806020026040519081016040529190828260026020028201915b815481526020019060010190808311610a23575050505050815260200190600101906109ef565b50505050975087511515610a615760009850610ba7565b6000965060009550600094505b8751851015610ba7576001885103851415610b1c57878581518110610a8f57fe5b90602001906020020151519350610ad6600654610aca610abd89610ab161089b565b9063ffffffff610cdf16565b879063ffffffff610dd616565b9063ffffffff610dfa16565b9250610ae8878463ffffffff610c3516565b600160a060020a038b16600090815260086020526040902054909750610b1590889063ffffffff610cdf16565b9850610ba7565b878581518110610b2857fe5b9060200190602002015160200151600654909250610b7690610aca610b53858a63ffffffff610cdf16565b8b8981518110610b5f57fe5b90602001906020020151519063ffffffff610dd616565b9050610b88878263ffffffff610c3516565b9650610b9a868363ffffffff610c3516565b9550600190940193610a6e565b5050505050505050919050565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610bfa57600080fd5b600160a060020a03811615610c32576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60008282018381101561099057fe5b600080600083610c53336107b8565b1015610c5e57600080fd5b610c67336107b8565b9150610c7533858403610cf1565b610c7e856107b8565b9050610c8c85858301610cf1565b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a350600195945050505050565b600082821115610ceb57fe5b50900390565b600160a060020a0382166000908152600760205260408120805460018101610d198382610e23565b916000526020600020906002020160006040805190810160405285815260006020820152610d4a9291506002610e4f565b5050600160a060020a0383166000908152600760205260409020546001901115610dd15750600160a060020a03331660009081526007602052604090205460001901610d9461089b565b600160a060020a038416600090815260076020526040902080546000198401908110610dbc57fe5b60009182526020909120600290910201600101555b505050565b6000828202831580610df25750828482811515610def57fe5b04145b151561099057fe5b6000808284811515610e0857fe5b04949350505050565b60206040519081016040526000815290565b815481835581811511610dd157600202816002028360005260206000209182019101610dd19190610e8d565b8260028101928215610e7d579160200282015b82811115610e7d578251825591602001919060010190610e62565b50610e89929150610eb0565b5090565b6108ab91905b80821115610e89576000610ea78282610eca565b50600201610e93565b6108ab91905b80821115610e895760008155600101610eb6565b5060008155600101600090555600a165627a7a72305820b623835690c3016c6fe0cac6b06041332e7447fd2c99467f22b996160fb69aca0029
Swarm Source
bzzr://b623835690c3016c6fe0cac6b06041332e7447fd2c99467f22b996160fb69aca
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 ]
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.