Source Code
Latest 25 from a total of 828 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 6224983 | 2743 days ago | IN | 0.1 ETH | 0.00152544 | ||||
| Transfer | 6224947 | 2743 days ago | IN | 0.85 ETH | 0.00010169 | ||||
| Transfer | 6224848 | 2743 days ago | IN | 1.134 ETH | 0.00007627 | ||||
| Transfer | 6036079 | 2775 days ago | IN | 2 ETH | 0.00025424 | ||||
| Refund Many Tran... | 6036077 | 2775 days ago | IN | 0 ETH | 0.00106341 | ||||
| Transfer | 6015554 | 2778 days ago | IN | 1.99074 ETH | 0.00163432 | ||||
| Transfer | 6015016 | 2778 days ago | IN | 1.3613402 ETH | 0.00162 | ||||
| Forward Many Tra... | 6014921 | 2778 days ago | IN | 0 ETH | 0.01046293 | ||||
| Transfer | 6014798 | 2778 days ago | IN | 0.5 ETH | 0.00609157 | ||||
| Transfer | 6014730 | 2778 days ago | IN | 2 ETH | 0.0029715 | ||||
| Transfer | 6014697 | 2778 days ago | IN | 1 ETH | 0.00591761 | ||||
| Transfer | 6014578 | 2778 days ago | IN | 0.1 ETH | 0.00798999 | ||||
| Transfer | 6014577 | 2778 days ago | IN | 0.28 ETH | 0.00609157 | ||||
| Transfer | 6014294 | 2778 days ago | IN | 0.9 ETH | 0.00116926 | ||||
| Transfer | 6014000 | 2778 days ago | IN | 0.15839143 ETH | 0.01090017 | ||||
| Transfer | 6013916 | 2778 days ago | IN | 10 ETH | 0.00445725 | ||||
| Forward Many Tra... | 6012669 | 2779 days ago | IN | 0 ETH | 0.00032598 | ||||
| Forward Many Tra... | 6012656 | 2779 days ago | IN | 0 ETH | 0.00464289 | ||||
| Forward Many Tra... | 6012654 | 2779 days ago | IN | 0 ETH | 0.00500844 | ||||
| Forward Many Tra... | 6012650 | 2779 days ago | IN | 0 ETH | 0.0041064 | ||||
| Transfer | 6012400 | 2779 days ago | IN | 0.32 ETH | 0.00925495 | ||||
| Transfer | 6011904 | 2779 days ago | IN | 0.1 ETH | 0.0029715 | ||||
| Transfer | 6010975 | 2779 days ago | IN | 0.2998257 ETH | 0.0005943 | ||||
| Transfer | 6010753 | 2779 days ago | IN | 0.1 ETH | 0.0005943 | ||||
| Transfer | 6009339 | 2779 days ago | IN | 0.5 ETH | 0.00060915 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 6036077 | 2775 days ago | 1.99074 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 2 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.38664514 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.99 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.2 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.5 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 1.4 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.2 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.333 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.25 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.131 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.43033 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.3 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.11135 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.286826 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6036077 | 2775 days ago | 0.1 ETH | ||||
| Transfer | 6014921 | 2778 days ago | 0.5 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EthealDeposit
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-03-29
*/
pragma solidity ^0.4.17;
/**
* @title ERC20
* @dev ERC20 interface
*/
contract ERC20 {
function balanceOf(address who) public constant returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
function allowance(address owner, address spender) public constant returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/// @dev Crowdsale interface for Etheal Normal Sale, functions needed from outside.
contract iEthealSale {
bool public paused;
uint256 public minContribution;
uint256 public whitelistThreshold;
mapping (address => uint256) public stakes;
function setPromoBonus(address _investor, uint256 _value) public;
function buyTokens(address _beneficiary) public payable;
function depositEth(address _beneficiary, uint256 _time, bytes _whitelistSign) public payable;
function depositOffchain(address _beneficiary, uint256 _amount, uint256 _time) public;
function hasEnded() public constant returns (bool);
}
/**
* @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;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @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 public {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @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 claim accidentally sent tokens
*/
contract HasNoTokens is Ownable {
event ExtractedTokens(address indexed _token, address indexed _claimer, uint _amount);
/// @notice This method can be used to extract mistakenly
/// sent tokens to this contract.
/// @param _token The address of the token contract that you want to recover
/// set to 0 in case you want to extract ether.
/// @param _claimer Address that tokens will be send to
function extractTokens(address _token, address _claimer) onlyOwner public {
if (_token == 0x0) {
_claimer.transfer(this.balance);
return;
}
ERC20 token = ERC20(_token);
uint balance = token.balanceOf(this);
token.transfer(_claimer, balance);
ExtractedTokens(_token, _claimer, balance);
}
}
/**
* @title Eliptic curve signature operations
*
* @dev Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d
*/
library ECRecovery {
/**
* @dev Recover signer address from a message by using his signature
* @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address.
* @param sig bytes signature, the signature is generated using web3.eth.sign()
*/
function recover(bytes32 hash, bytes sig) public pure returns (address) {
bytes32 r;
bytes32 s;
uint8 v;
//Check the signature length
if (sig.length != 65) {
return (address(0));
}
// Divide the signature in r, s and v variables
assembly {
r := mload(add(sig, 32))
s := mload(add(sig, 64))
v := byte(0, mload(add(sig, 96)))
}
// Version of signature should be 27 or 28, but 0 and 1 are also possible versions
if (v < 27) {
v += 27;
}
// If the version is correct return the signer address
if (v != 27 && v != 28) {
return (address(0));
} else {
return ecrecover(hash, v, r, s);
}
}
}
/**
* @title EthealWhitelist
* @author thesved
* @notice EthealWhitelist contract which handles KYC
*/
contract EthealWhitelist is Ownable {
using ECRecovery for bytes32;
// signer address for offchain whitelist signing
address public signer;
// storing whitelisted addresses
mapping(address => bool) public isWhitelisted;
event WhitelistSet(address indexed _address, bool _state);
////////////////
// Constructor
////////////////
function EthealWhitelist(address _signer) {
require(_signer != address(0));
signer = _signer;
}
/// @notice set signing address after deployment
function setSigner(address _signer) public onlyOwner {
require(_signer != address(0));
signer = _signer;
}
////////////////
// Whitelisting: only owner
////////////////
/// @notice Set whitelist state for an address.
function setWhitelist(address _addr, bool _state) public onlyOwner {
require(_addr != address(0));
isWhitelisted[_addr] = _state;
WhitelistSet(_addr, _state);
}
/// @notice Set whitelist state for multiple addresses
function setManyWhitelist(address[] _addr, bool _state) public onlyOwner {
for (uint256 i = 0; i < _addr.length; i++) {
setWhitelist(_addr[i], _state);
}
}
/// @notice offchain whitelist check
function isOffchainWhitelisted(address _addr, bytes _sig) public view returns (bool) {
bytes32 hash = keccak256("\x19Ethereum Signed Message:\n20",_addr);
return hash.recover(_sig) == signer;
}
}
/**
* @title EthealDeposit
* @author thesved
* @dev This contract is used for storing funds while doing Whitelist
*/
contract EthealDeposit is Ownable, HasNoTokens {
using SafeMath for uint256;
// storing deposits: make sure they fit in 2 x 32 byte
struct Deposit {
uint256 amount; // 32 byte
address beneficiary; // 20 byte
uint64 time; // 8 byte
bool cleared; // 1 bit
}
uint256 public transactionCount;
uint256 public pendingCount;
mapping (uint256 => Deposit) public transactions; // store transactions
mapping (address => uint256[]) public addressTransactions; // store transaction ids for addresses
// sale contract to which we forward funds
iEthealSale public sale;
EthealWhitelist public whitelist;
event LogDeposited(address indexed beneficiary, uint256 weiAmount, uint256 id);
event LogRefunded(address indexed beneficiary, uint256 weiAmount, uint256 id);
event LogForwarded(address indexed beneficiary, uint256 weiAmount, uint256 id);
////////////////
// Constructor
////////////////
/// @notice Etheal deposit constructor
/// @param _sale address of sale contract
/// @param _whitelist address of whitelist contract
function EthealDeposit(address _sale, address _whitelist) {
require(_sale != address(0));
sale = iEthealSale(_sale);
whitelist = EthealWhitelist(_whitelist);
}
/// @notice Set sale contract address
function setSale(address _sale) public onlyOwner {
sale = iEthealSale(_sale);
}
/// @notice Set whitelist contract address
function setWhitelist(address _whitelist) public onlyOwner {
whitelist = EthealWhitelist(_whitelist);
}
/// @dev Override HasNoTokens#extractTokens to not be able to extract tokens until saleEnd and everyone got their funds back
function extractTokens(address _token, address _claimer) public onlyOwner saleEnded {
require(pendingCount == 0);
super.extractTokens(_token, _claimer);
}
////////////////
// Deposit, forward, refund
////////////////
modifier whitelistSet() {
require(address(whitelist) != address(0));
_;
}
modifier saleNotEnded() {
require(address(sale) != address(0) && !sale.hasEnded());
_;
}
modifier saleNotPaused() {
require(address(sale) != address(0) && !sale.paused());
_;
}
modifier saleEnded() {
require(address(sale) != address(0) && sale.hasEnded());
_;
}
/// @notice payable fallback calls the deposit function
function() public payable {
deposit(msg.sender, "");
}
/// @notice depositing for investor, return transaction Id
/// @param _investor address of investor
/// @param _whitelistSign offchain whitelist signiture for address, optional
function deposit(address _investor, bytes _whitelistSign) public payable whitelistSet saleNotEnded returns (uint256) {
require(_investor != address(0));
require(msg.value > 0);
require(msg.value >= sale.minContribution());
uint256 transactionId = addTransaction(_investor, msg.value);
// forward transaction automatically if whitelist is okay, so the transaction doesnt revert
if (whitelist.isWhitelisted(_investor)
|| whitelist.isOffchainWhitelisted(_investor, _whitelistSign)
|| sale.whitelistThreshold() >= sale.stakes(_investor).add(msg.value)
) {
// only forward if sale is not paused
if (!sale.paused()) {
forwardTransactionInternal(transactionId, _whitelistSign);
}
}
return transactionId;
}
/// @notice forwarding a transaction
function forwardTransaction(uint256 _id, bytes _whitelistSign) public whitelistSet saleNotEnded saleNotPaused {
require(forwardTransactionInternal(_id, _whitelistSign));
}
/// @notice forwarding multiple transactions: check whitelist
function forwardManyTransaction(uint256[] _ids) public whitelistSet saleNotEnded saleNotPaused {
uint256 _threshold = sale.whitelistThreshold();
for (uint256 i=0; i<_ids.length; i++) {
// only forward if it is within threshold or whitelisted, so the transaction doesnt revert
if ( whitelist.isWhitelisted(transactions[_ids[i]].beneficiary)
|| _threshold >= sale.stakes(transactions[_ids[i]].beneficiary).add(transactions[_ids[i]].amount )
) {
forwardTransactionInternal(_ids[i],"");
}
}
}
/// @notice forwarding transactions for an investor
function forwardInvestorTransaction(address _investor, bytes _whitelistSign) public whitelistSet saleNotEnded saleNotPaused {
bool _whitelisted = whitelist.isWhitelisted(_investor) || whitelist.isOffchainWhitelisted(_investor, _whitelistSign);
uint256 _amount = sale.stakes(_investor);
uint256 _threshold = sale.whitelistThreshold();
for (uint256 i=0; i<addressTransactions[_investor].length; i++) {
_amount = _amount.add(transactions[ addressTransactions[_investor][i] ].amount);
// only forward if it is within threshold or whitelisted, so the transaction doesnt revert
if (_whitelisted || _threshold >= _amount) {
forwardTransactionInternal(addressTransactions[_investor][i], _whitelistSign);
}
}
}
/// @notice refunding a transaction
function refundTransaction(uint256 _id) public saleEnded {
require(refundTransactionInternal(_id));
}
/// @notice refunding multiple transactions
function refundManyTransaction(uint256[] _ids) public saleEnded {
for (uint256 i=0; i<_ids.length; i++) {
refundTransactionInternal(_ids[i]);
}
}
/// @notice refunding an investor
function refundInvestor(address _investor) public saleEnded {
for (uint256 i=0; i<addressTransactions[_investor].length; i++) {
refundTransactionInternal(addressTransactions[_investor][i]);
}
}
////////////////
// Internal functions
////////////////
/// @notice add transaction and returns its id
function addTransaction(address _investor, uint256 _amount) internal returns (uint256) {
uint256 transactionId = transactionCount;
// save transaction
transactions[transactionId] = Deposit({
amount: _amount,
beneficiary: _investor,
time: uint64(now),
cleared : false
});
// save transactionId for investor address
addressTransactions[_investor].push(transactionId);
transactionCount = transactionCount.add(1);
pendingCount = pendingCount.add(1);
LogDeposited(_investor, _amount, transactionId);
return transactionId;
}
/// @notice Forwarding a transaction, internal function, doesn't check sale status for speed up mass actions.
/// @return whether forward was successful or not
function forwardTransactionInternal(uint256 _id, bytes memory _whitelistSign) internal returns (bool) {
require(_id < transactionCount);
// if already cleared then return false
if (transactions[_id].cleared) {
return false;
}
// fixing bytes data to argument call data: data -> {data position}{data length}data
bytes memory _whitelistCall = bytesToArgument(_whitelistSign, 96);
// forwarding transaction to sale contract
if (! sale.call.value(transactions[_id].amount)(bytes4(keccak256('depositEth(address,uint256,bytes)')), transactions[_id].beneficiary, uint256(transactions[_id].time), _whitelistCall) ) {
return false;
}
transactions[_id].cleared = true;
pendingCount = pendingCount.sub(1);
LogForwarded(transactions[_id].beneficiary, transactions[_id].amount, _id);
return true;
}
/// @dev Fixing low level call for providing signature information: create proper padding for bytes information
function bytesToArgument(bytes memory _sign, uint256 _position) internal pure returns (bytes memory c) {
uint256 signLength = _sign.length;
uint256 totalLength = signLength.add(64);
uint256 loopMax = signLength.add(31).div(32);
assembly {
let m := mload(0x40)
mstore(m, totalLength) // store the total length
mstore(add(m,32), _position) // where does the data start
mstore(add(m,64), signLength) // store the length of signature
for { let i := 0 } lt(i, loopMax) { i := add(1, i) } { mstore(add(m, mul(32, add(3, i))), mload(add(_sign, mul(32, add(1, i))))) }
mstore(0x40, add(m, add(32, totalLength)))
c := m
}
}
/// @notice Send back non-cleared transactions after sale is over, not checking status for speeding up mass actions
function refundTransactionInternal(uint256 _id) internal returns (bool) {
require(_id < transactionCount);
// if already cleared then return false
if (transactions[_id].cleared) {
return false;
}
// sending back funds
transactions[_id].cleared = true;
transactions[_id].beneficiary.transfer(transactions[_id].amount);
pendingCount = pendingCount.sub(1);
LogRefunded(transactions[_id].beneficiary, transactions[_id].amount, _id);
return true;
}
////////////////
// External functions
////////////////
/// @notice gives back transaction ids based on filtering
function getTransactionIds(uint256 from, uint256 to, bool _cleared, bool _nonCleared) view external returns (uint256[] ids) {
uint256 i = 0;
uint256 results = 0;
uint256[] memory _ids = new uint256[](transactionCount);
// search in contributors
for (i = 0; i < transactionCount; i++) {
if (_cleared && transactions[i].cleared || _nonCleared && !transactions[i].cleared) {
_ids[results] = i;
results++;
}
}
ids = new uint256[](results);
for (i = from; i <= to && i < results; i++) {
ids[i] = _ids[i];
}
return ids;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"addressTransactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sale","type":"address"}],"name":"setSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_whitelistSign","type":"bytes"}],"name":"forwardInvestorTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_whitelist","type":"address"}],"name":"setWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ids","type":"uint256[]"}],"name":"forwardManyTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"amount","type":"uint256"},{"name":"beneficiary","type":"address"},{"name":"time","type":"uint64"},{"name":"cleared","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"_cleared","type":"bool"},{"name":"_nonCleared","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"ids","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ids","type":"uint256[]"}],"name":"refundManyTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_whitelistSign","type":"bytes"}],"name":"forwardTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_whitelistSign","type":"bytes"}],"name":"deposit","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"refundTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_claimer","type":"address"}],"name":"extractTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"}],"name":"refundInvestor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_sale","type":"address"},{"name":"_whitelist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogForwarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_claimer","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ExtractedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
6060604052341561000f57600080fd5b6040516040806120d4833981016040528080519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061005c57600080fd5b60058054600160a060020a03938416600160a060020a0319918216179091556006805492909316911617905561203d806100976000396000f3006060604052600436106100ed5763ffffffff60e060020a60003504166327dfddbc811461010857806336af50fd1461013c57806369f40ebc1461015d5780636ad1fe02146101bc578063854cff2f146101eb5780638da5cb5b1461020a578063937097881461021d57806393e59dc11461026c5780639ace38c21461027f578063a8abe69a146102d3578063b2f1fe9914610349578063b77bf60014610398578063bfce477f146103ab578063cf2c52cb14610401578063d4e678b814610455578063ea70b4af1461046b578063ed6b2d7d1461047e578063f2fde38b146104a3578063ff53c5a3146104c2575b610105336020604051908101604052600081526104e1565b50005b341561011357600080fd5b61012a600160a060020a03600435166024356108fc565b60405190815260200160405180910390f35b341561014757600080fd5b61015b600160a060020a036004351661092a565b005b341561016857600080fd5b61015b60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061097495505050505050565b34156101c757600080fd5b6101cf610dc0565b604051600160a060020a03909116815260200160405180910390f35b34156101f657600080fd5b61015b600160a060020a0360043516610dcf565b341561021557600080fd5b6101cf610e19565b341561022857600080fd5b61015b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610e2895505050505050565b341561027757600080fd5b6101cf61117b565b341561028a57600080fd5b61029560043561118a565b604051938452600160a060020a03909216602084015267ffffffffffffffff1660408084019190915290151560608301526080909101905180910390f35b34156102de57600080fd5b6102f6600435602435604435151560643515156111db565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390f35b341561035457600080fd5b61015b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061132295505050505050565b34156103a357600080fd5b61012a6113e1565b34156103b657600080fd5b61015b600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506113e795505050505050565b61012a60048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104e195505050505050565b341561046057600080fd5b61015b60043561151d565b341561047657600080fd5b61012a6115b8565b341561048957600080fd5b61015b600160a060020a03600435811690602435166115be565b34156104ae57600080fd5b61015b600160a060020a0360043516611674565b34156104cd57600080fd5b61015b600160a060020a036004351661170f565b6006546000908190600160a060020a031615156104fd57600080fd5b600554600160a060020a0316158015906105775750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561055a57600080fd5b6102c65a03f1151561056b57600080fd5b50505060405180519050155b151561058257600080fd5b600160a060020a038416151561059757600080fd5b600034116105a457600080fd5b600554600160a060020a031663aaffadf36000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105ec57600080fd5b6102c65a03f115156105fd57600080fd5b5050506040518051341015905061061357600080fd5b61061d84346117fd565b600654909150600160a060020a0316633af32abf8560006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561067957600080fd5b6102c65a03f1151561068a57600080fd5b50505060405180519050806107855750600654600160a060020a031663a30bdea485856000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561071d578082015183820152602001610705565b50505050905090810190601f16801561074a5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b151561076957600080fd5b6102c65a03f1151561077a57600080fd5b505050604051805190505b806108775750600554610811903490600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b6102c65a03f115156107fb57600080fd5b505050604051805191905063ffffffff61199c16565b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561085957600080fd5b6102c65a03f1151561086a57600080fd5b5050506040518051905010155b156108f157600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c457600080fd5b6102c65a03f115156108d557600080fd5b5050506040518051905015156108f1576108ef81846119ab565b505b8091505b5092915050565b60046020528160005260406000208181548110151561091757fe5b6000918252602090912001549150829050565b60005433600160a060020a0390811691161461094557600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600654600090819081908190600160a060020a0316151561099457600080fd5b600554600160a060020a031615801590610a0e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109f157600080fd5b6102c65a03f11515610a0257600080fd5b50505060405180519050155b1515610a1957600080fd5b600554600160a060020a031615801590610a935750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a7657600080fd5b6102c65a03f11515610a8757600080fd5b50505060405180519050155b1515610a9e57600080fd5b600654600160a060020a0316633af32abf8760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610af757600080fd5b6102c65a03f11515610b0857600080fd5b5050506040518051905080610c035750600654600160a060020a031663a30bdea487876000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b9b578082015183820152602001610b83565b50505050905090810190601f168015610bc85780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b505050604051805190505b600554909450600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c5f57600080fd5b6102c65a03f11515610c7057600080fd5b5050506040518051600554909450600160a060020a0316905063b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cc557600080fd5b6102c65a03f11515610cd657600080fd5b5050506040518051925060009150505b600160a060020a038616600090815260046020526040902054811015610db857600160a060020a03861660009081526004602052604081208054610d6092600392909185908110610d3357fe5b9060005260206000209001548152602001908152602001600020600001548461199c90919063ffffffff16565b92508380610d6e5750828210155b15610db057600160a060020a03861660009081526004602052604090208054610dae919083908110610d9c57fe5b906000526020600020900154866119ab565b505b600101610ce6565b505050505050565b600554600160a060020a031681565b60005433600160a060020a03908116911614610dea57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b6006546000908190600160a060020a03161515610e4457600080fd5b600554600160a060020a031615801590610ebe5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ea157600080fd5b6102c65a03f11515610eb257600080fd5b50505060405180519050155b1515610ec957600080fd5b600554600160a060020a031615801590610f435750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f2657600080fd5b6102c65a03f11515610f3757600080fd5b50505060405180519050155b1515610f4e57600080fd5b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f9657600080fd5b6102c65a03f11515610fa757600080fd5b5050506040518051925060009150505b825181101561117657600654600160a060020a0316633af32abf60036000868581518110610fe157fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105057600080fd5b6102c65a03f1151561106157600080fd5b505050604051805190508061113a57506111366003600085848151811061108457fe5b90602001906020020151815260208101919091526040016000908120546005549091600160a060020a03909116906316934fc4906003908887815181106110c757fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b8210155b1561116e5761116c83828151811061114e57fe5b906020019060200201516020604051908101604052600081526119ab565b505b600101610fb7565b505050565b600654600160a060020a031681565b60036020526000908152604090208054600190910154600160a060020a0381169074010000000000000000000000000000000000000000810467ffffffffffffffff169060e060020a900460ff1684565b6111e3611fbf565b6000806111ee611fbf565b60009250600091506001546040518059106112065750595b90808252806020026020018201604052509050600092505b6001548310156112a75785801561124d575060008381526003602052604090206001015460e060020a900460ff165b806112795750848015611279575060008381526003602052604090206001015460e060020a900460ff16155b1561129c578281838151811061128b57fe5b602090810290910101526001909101905b60019092019161121e565b816040518059106112b55750595b908082528060200260200182016040525093508792505b8683111580156112db57508183105b15611317578083815181106112ec57fe5b9060200190602002015184848151811061130257fe5b602090810290910101526001909201916112cc565b505050949350505050565b600554600090600160a060020a03161580159061139e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561138257600080fd5b6102c65a03f1151561139357600080fd5b505050604051805190505b15156113a957600080fd5b5060005b81518110156113dd576113d48282815181106113c557fe5b90602001906020020151611c2a565b506001016113ad565b5050565b60015481565b600654600160a060020a031615156113fe57600080fd5b600554600160a060020a0316158015906114785750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561145b57600080fd5b6102c65a03f1151561146c57600080fd5b50505060405180519050155b151561148357600080fd5b600554600160a060020a0316158015906114fd5750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156114e057600080fd5b6102c65a03f115156114f157600080fd5b50505060405180519050155b151561150857600080fd5b61151282826119ab565b15156113dd57600080fd5b600554600160a060020a0316158015906115965750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561157a57600080fd5b6102c65a03f1151561158b57600080fd5b505050604051805190505b15156115a157600080fd5b6115aa81611c2a565b15156115b557600080fd5b50565b60025481565b60005433600160a060020a039081169116146115d957600080fd5b600554600160a060020a0316158015906116525750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561163657600080fd5b6102c65a03f1151561164757600080fd5b505050604051805190505b151561165d57600080fd5b6002541561166a57600080fd5b6113dd8282611d55565b60005433600160a060020a0390811691161461168f57600080fd5b600160a060020a03811615156116a457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600090600160a060020a03161580159061178b5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561176f57600080fd5b6102c65a03f1151561178057600080fd5b505050604051805190505b151561179657600080fd5b5060005b600160a060020a0382166000908152600460205260409020548110156113dd57600160a060020a038216600090815260046020526040902080546117f49190839081106117e357fe5b906000526020600020900154611c2a565b5060010161179a565b60015460009060806040519081016040908152848252600160a060020a03861660208084019190915267ffffffffffffffff42168284015260006060840181905284815260039091522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201516001918201805491151560e060020a027cff0000000000000000000000000000000000000000000000000000000019909216919091179055600160a060020a038616600090815260046020526040902080549092509081016119158382611fd1565b506000918252602090912001819055600180546119379163ffffffff61199c16565b600190815560025461194e9163ffffffff61199c16565b600255600160a060020a0384167f8de097f054bf5282188a61136aa10aff99a4a5ad0ca0985010a52dbc83f8bfd5848360405191825260208201526040908101905180910390a29392505050565b6000828201838110156108f157fe5b60006119b5611fbf565b60015484106119c357600080fd5b60008481526003602052604090206001015460e060020a900460ff16156119ed57600091506108f5565b6119f8836060611f02565b6005546000868152600360205260409081902054929350600160a060020a039091169190517f6465706f73697445746828616464726573732c75696e743235362c627974657381527f29000000000000000000000000000000000000000000000000000000000000006020820152602101604051908190039020600087815260036020526040908190206001015460e060020a9092049291600160a060020a038116917401000000000000000000000000000000000000000090910467ffffffffffffffff16908690518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611b19578082015183820152602001611b01565b50505050905090810190601f168015611b465780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611b7157600091506108f5565b6000848152600360205260409020600190810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a179055600254611bc09163ffffffff611f9616565b6002556000848152600360205260409081902060018101549054600160a060020a03909116917f50918e5fa441f8f43efb53b7493950db2e97a69244340910c8c324f88d4bd724919087905191825260208201526040908101905180910390a25060019392505050565b6001546000908210611c3b57600080fd5b60008281526003602052604090206001015460e060020a900460ff1615611c6457506000611d50565b600082815260036020526040908190206001810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a17908190559054600160a060020a039091169181156108fc02919051600060405180830381858888f193505050501515611cd857600080fd5b600254611cec90600163ffffffff611f9616565b6002556000828152600360205260409081902060018101549054600160a060020a03909116917ff34c4309dc2340d780a32f411d8c117bc020f7e525ec5801940c410e254e9e48919085905191825260208201526040908101905180910390a25060015b919050565b60008054819033600160a060020a03908116911614611d7357600080fd5b600160a060020a0384161515611dc55782600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515611dc057600080fd5b611efc565b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e1f57600080fd5b6102c65a03f11515611e3057600080fd5b5050506040518051915050600160a060020a03821663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e9857600080fd5b6102c65a03f11515611ea957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f21e9b296e283cad208b551b3c383bb74e34086eb5691fee8392dcce6794521c28360405190815260200160405180910390a35b50505050565b611f0a611fbf565b600080600085519250611f2483604063ffffffff61199c16565b9150611f486020611f3c85601f63ffffffff61199c16565b9063ffffffff611fa816565b905060405182815285602082015283604082015260005b82811015611f83578060010160200288015160206003830102830152600101611f5f565b5091820160200160405250949350505050565b600082821115611fa257fe5b50900390565b6000808284811515611fb657fe5b04949350505050565b60206040519081016040526000815290565b8154818355818115116111765760008381526020902061117691810190830161200e91905b8082111561200a5760008155600101611ff6565b5090565b905600a165627a7a723058208349127ec195b84ad2fbd0102cd7d41a5f4959fce224a85d71fb85bacaad3b66002900000000000000000000000064386613c1abc7a2ce3c00765f505c025d10b8b1000000000000000000000000dcdb78ba8d4c9eddbe6798b8bb7d05ca52c3be75
Deployed Bytecode
0x6060604052600436106100ed5763ffffffff60e060020a60003504166327dfddbc811461010857806336af50fd1461013c57806369f40ebc1461015d5780636ad1fe02146101bc578063854cff2f146101eb5780638da5cb5b1461020a578063937097881461021d57806393e59dc11461026c5780639ace38c21461027f578063a8abe69a146102d3578063b2f1fe9914610349578063b77bf60014610398578063bfce477f146103ab578063cf2c52cb14610401578063d4e678b814610455578063ea70b4af1461046b578063ed6b2d7d1461047e578063f2fde38b146104a3578063ff53c5a3146104c2575b610105336020604051908101604052600081526104e1565b50005b341561011357600080fd5b61012a600160a060020a03600435166024356108fc565b60405190815260200160405180910390f35b341561014757600080fd5b61015b600160a060020a036004351661092a565b005b341561016857600080fd5b61015b60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061097495505050505050565b34156101c757600080fd5b6101cf610dc0565b604051600160a060020a03909116815260200160405180910390f35b34156101f657600080fd5b61015b600160a060020a0360043516610dcf565b341561021557600080fd5b6101cf610e19565b341561022857600080fd5b61015b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610e2895505050505050565b341561027757600080fd5b6101cf61117b565b341561028a57600080fd5b61029560043561118a565b604051938452600160a060020a03909216602084015267ffffffffffffffff1660408084019190915290151560608301526080909101905180910390f35b34156102de57600080fd5b6102f6600435602435604435151560643515156111db565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390f35b341561035457600080fd5b61015b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061132295505050505050565b34156103a357600080fd5b61012a6113e1565b34156103b657600080fd5b61015b600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506113e795505050505050565b61012a60048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104e195505050505050565b341561046057600080fd5b61015b60043561151d565b341561047657600080fd5b61012a6115b8565b341561048957600080fd5b61015b600160a060020a03600435811690602435166115be565b34156104ae57600080fd5b61015b600160a060020a0360043516611674565b34156104cd57600080fd5b61015b600160a060020a036004351661170f565b6006546000908190600160a060020a031615156104fd57600080fd5b600554600160a060020a0316158015906105775750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561055a57600080fd5b6102c65a03f1151561056b57600080fd5b50505060405180519050155b151561058257600080fd5b600160a060020a038416151561059757600080fd5b600034116105a457600080fd5b600554600160a060020a031663aaffadf36000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105ec57600080fd5b6102c65a03f115156105fd57600080fd5b5050506040518051341015905061061357600080fd5b61061d84346117fd565b600654909150600160a060020a0316633af32abf8560006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561067957600080fd5b6102c65a03f1151561068a57600080fd5b50505060405180519050806107855750600654600160a060020a031663a30bdea485856000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561071d578082015183820152602001610705565b50505050905090810190601f16801561074a5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b151561076957600080fd5b6102c65a03f1151561077a57600080fd5b505050604051805190505b806108775750600554610811903490600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b6102c65a03f115156107fb57600080fd5b505050604051805191905063ffffffff61199c16565b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561085957600080fd5b6102c65a03f1151561086a57600080fd5b5050506040518051905010155b156108f157600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c457600080fd5b6102c65a03f115156108d557600080fd5b5050506040518051905015156108f1576108ef81846119ab565b505b8091505b5092915050565b60046020528160005260406000208181548110151561091757fe5b6000918252602090912001549150829050565b60005433600160a060020a0390811691161461094557600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600654600090819081908190600160a060020a0316151561099457600080fd5b600554600160a060020a031615801590610a0e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109f157600080fd5b6102c65a03f11515610a0257600080fd5b50505060405180519050155b1515610a1957600080fd5b600554600160a060020a031615801590610a935750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a7657600080fd5b6102c65a03f11515610a8757600080fd5b50505060405180519050155b1515610a9e57600080fd5b600654600160a060020a0316633af32abf8760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610af757600080fd5b6102c65a03f11515610b0857600080fd5b5050506040518051905080610c035750600654600160a060020a031663a30bdea487876000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b9b578082015183820152602001610b83565b50505050905090810190601f168015610bc85780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b505050604051805190505b600554909450600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c5f57600080fd5b6102c65a03f11515610c7057600080fd5b5050506040518051600554909450600160a060020a0316905063b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cc557600080fd5b6102c65a03f11515610cd657600080fd5b5050506040518051925060009150505b600160a060020a038616600090815260046020526040902054811015610db857600160a060020a03861660009081526004602052604081208054610d6092600392909185908110610d3357fe5b9060005260206000209001548152602001908152602001600020600001548461199c90919063ffffffff16565b92508380610d6e5750828210155b15610db057600160a060020a03861660009081526004602052604090208054610dae919083908110610d9c57fe5b906000526020600020900154866119ab565b505b600101610ce6565b505050505050565b600554600160a060020a031681565b60005433600160a060020a03908116911614610dea57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b6006546000908190600160a060020a03161515610e4457600080fd5b600554600160a060020a031615801590610ebe5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ea157600080fd5b6102c65a03f11515610eb257600080fd5b50505060405180519050155b1515610ec957600080fd5b600554600160a060020a031615801590610f435750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f2657600080fd5b6102c65a03f11515610f3757600080fd5b50505060405180519050155b1515610f4e57600080fd5b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f9657600080fd5b6102c65a03f11515610fa757600080fd5b5050506040518051925060009150505b825181101561117657600654600160a060020a0316633af32abf60036000868581518110610fe157fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105057600080fd5b6102c65a03f1151561106157600080fd5b505050604051805190508061113a57506111366003600085848151811061108457fe5b90602001906020020151815260208101919091526040016000908120546005549091600160a060020a03909116906316934fc4906003908887815181106110c757fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b8210155b1561116e5761116c83828151811061114e57fe5b906020019060200201516020604051908101604052600081526119ab565b505b600101610fb7565b505050565b600654600160a060020a031681565b60036020526000908152604090208054600190910154600160a060020a0381169074010000000000000000000000000000000000000000810467ffffffffffffffff169060e060020a900460ff1684565b6111e3611fbf565b6000806111ee611fbf565b60009250600091506001546040518059106112065750595b90808252806020026020018201604052509050600092505b6001548310156112a75785801561124d575060008381526003602052604090206001015460e060020a900460ff165b806112795750848015611279575060008381526003602052604090206001015460e060020a900460ff16155b1561129c578281838151811061128b57fe5b602090810290910101526001909101905b60019092019161121e565b816040518059106112b55750595b908082528060200260200182016040525093508792505b8683111580156112db57508183105b15611317578083815181106112ec57fe5b9060200190602002015184848151811061130257fe5b602090810290910101526001909201916112cc565b505050949350505050565b600554600090600160a060020a03161580159061139e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561138257600080fd5b6102c65a03f1151561139357600080fd5b505050604051805190505b15156113a957600080fd5b5060005b81518110156113dd576113d48282815181106113c557fe5b90602001906020020151611c2a565b506001016113ad565b5050565b60015481565b600654600160a060020a031615156113fe57600080fd5b600554600160a060020a0316158015906114785750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561145b57600080fd5b6102c65a03f1151561146c57600080fd5b50505060405180519050155b151561148357600080fd5b600554600160a060020a0316158015906114fd5750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156114e057600080fd5b6102c65a03f115156114f157600080fd5b50505060405180519050155b151561150857600080fd5b61151282826119ab565b15156113dd57600080fd5b600554600160a060020a0316158015906115965750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561157a57600080fd5b6102c65a03f1151561158b57600080fd5b505050604051805190505b15156115a157600080fd5b6115aa81611c2a565b15156115b557600080fd5b50565b60025481565b60005433600160a060020a039081169116146115d957600080fd5b600554600160a060020a0316158015906116525750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561163657600080fd5b6102c65a03f1151561164757600080fd5b505050604051805190505b151561165d57600080fd5b6002541561166a57600080fd5b6113dd8282611d55565b60005433600160a060020a0390811691161461168f57600080fd5b600160a060020a03811615156116a457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600090600160a060020a03161580159061178b5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561176f57600080fd5b6102c65a03f1151561178057600080fd5b505050604051805190505b151561179657600080fd5b5060005b600160a060020a0382166000908152600460205260409020548110156113dd57600160a060020a038216600090815260046020526040902080546117f49190839081106117e357fe5b906000526020600020900154611c2a565b5060010161179a565b60015460009060806040519081016040908152848252600160a060020a03861660208084019190915267ffffffffffffffff42168284015260006060840181905284815260039091522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201516001918201805491151560e060020a027cff0000000000000000000000000000000000000000000000000000000019909216919091179055600160a060020a038616600090815260046020526040902080549092509081016119158382611fd1565b506000918252602090912001819055600180546119379163ffffffff61199c16565b600190815560025461194e9163ffffffff61199c16565b600255600160a060020a0384167f8de097f054bf5282188a61136aa10aff99a4a5ad0ca0985010a52dbc83f8bfd5848360405191825260208201526040908101905180910390a29392505050565b6000828201838110156108f157fe5b60006119b5611fbf565b60015484106119c357600080fd5b60008481526003602052604090206001015460e060020a900460ff16156119ed57600091506108f5565b6119f8836060611f02565b6005546000868152600360205260409081902054929350600160a060020a039091169190517f6465706f73697445746828616464726573732c75696e743235362c627974657381527f29000000000000000000000000000000000000000000000000000000000000006020820152602101604051908190039020600087815260036020526040908190206001015460e060020a9092049291600160a060020a038116917401000000000000000000000000000000000000000090910467ffffffffffffffff16908690518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611b19578082015183820152602001611b01565b50505050905090810190601f168015611b465780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611b7157600091506108f5565b6000848152600360205260409020600190810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a179055600254611bc09163ffffffff611f9616565b6002556000848152600360205260409081902060018101549054600160a060020a03909116917f50918e5fa441f8f43efb53b7493950db2e97a69244340910c8c324f88d4bd724919087905191825260208201526040908101905180910390a25060019392505050565b6001546000908210611c3b57600080fd5b60008281526003602052604090206001015460e060020a900460ff1615611c6457506000611d50565b600082815260036020526040908190206001810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a17908190559054600160a060020a039091169181156108fc02919051600060405180830381858888f193505050501515611cd857600080fd5b600254611cec90600163ffffffff611f9616565b6002556000828152600360205260409081902060018101549054600160a060020a03909116917ff34c4309dc2340d780a32f411d8c117bc020f7e525ec5801940c410e254e9e48919085905191825260208201526040908101905180910390a25060015b919050565b60008054819033600160a060020a03908116911614611d7357600080fd5b600160a060020a0384161515611dc55782600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515611dc057600080fd5b611efc565b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e1f57600080fd5b6102c65a03f11515611e3057600080fd5b5050506040518051915050600160a060020a03821663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e9857600080fd5b6102c65a03f11515611ea957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f21e9b296e283cad208b551b3c383bb74e34086eb5691fee8392dcce6794521c28360405190815260200160405180910390a35b50505050565b611f0a611fbf565b600080600085519250611f2483604063ffffffff61199c16565b9150611f486020611f3c85601f63ffffffff61199c16565b9063ffffffff611fa816565b905060405182815285602082015283604082015260005b82811015611f83578060010160200288015160206003830102830152600101611f5f565b5091820160200160405250949350505050565b600082821115611fa257fe5b50900390565b6000808284811515611fb657fe5b04949350505050565b60206040519081016040526000815290565b8154818355818115116111765760008381526020902061117691810190830161200e91905b8082111561200a5760008155600101611ff6565b5090565b905600a165627a7a723058208349127ec195b84ad2fbd0102cd7d41a5f4959fce224a85d71fb85bacaad3b660029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000064386613c1abc7a2ce3c00765f505c025d10b8b1000000000000000000000000dcdb78ba8d4c9eddbe6798b8bb7d05ca52c3be75
-----Decoded View---------------
Arg [0] : _sale (address): 0x64386613c1abc7a2cE3C00765f505C025D10b8B1
Arg [1] : _whitelist (address): 0xDCDB78bA8D4C9EdDBE6798B8bB7D05ca52C3BE75
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000064386613c1abc7a2ce3c00765f505c025d10b8b1
Arg [1] : 000000000000000000000000dcdb78ba8d4c9eddbe6798b8bb7d05ca52c3be75
Swarm Source
bzzr://8349127ec195b84ad2fbd0102cd7d41a5f4959fce224a85d71fb85bacaad3b66
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.