Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 20748942 | 534 days ago | 0.01 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
depositofferToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-04-02
*/
/*
file: depositoffer.sol
ver: 0.1.1
author: Chris Kwan
date: 28-OCT-2017/11-March-2018
email: ecorpnu AT gmail.com
A collated contract set for a token sale specific to the requirments of
Depositoffer (DOT) token product.
This software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See MIT Licence for further details.
<https://opensource.org/licenses/MIT>.
*/
pragma solidity ^0.4.18;
/*-----------------------------------------------------------------------------\
depositoffer token sale configuration
\*----------------------------------------------------------------------------*/
// Contains token sale parameters
contract depositofferTokenConfig
{
// ERC20 trade name and symbol
string public name = "Depositoffer.com USPat7376612";
string public symbol = "DOT";
// Owner has power to abort, discount addresses, sweep successful funds,
// change owner, sweep alien tokens.
address public owner = 0xB353cF41A0CAa38D6597A7a1337debf0b09dd8ae; // Primary address checksummed
// Fund wallet should also be audited prior to deployment
// NOTE: Must be checksummed address!
//address public fundWallet = 0xE4Be3157DBD71Acd7Ad5667db00AA111C0088195; // multiSig address checksummed
address public fundWallet = 0xcce1f6f4ceb0f046cf57fe8e1c409fc47afe6aab;
// Tokens awarded per USD contributed
uint public constant TOKENS_PER_USD = 2;
// Ether market price in USD
uint public constant USD_PER_ETH = 380; // approx 7 day average High Low as at 29th OCT 2017
// Minimum and maximum target in USD
uint public constant MIN_USD_FUND = 1; // $1
uint public constant MAX_USD_FUND = 2000000; // $2 mio
// Non-KYC contribution limit in USD
uint public constant KYC_USD_LMT = 50000;
// There will be exactly 4000000 tokens regardless of number sold
// Unsold tokens are put given to the Founder on Trust to fund operations of the Project
uint public constant MAX_TOKENS = 4000000; // 4 mio
// Funding begins on 30th OCT 2017
//uint public constant START_DATE = 1509318001; // 30.10.2017 10 AM and 1 Sec Sydney Time
uint public constant START_DATE = 1520776337; // Monday March 12, 2018 00:52:17 (am) in time zone Australia/Sydney (AEDT)
// Period for fundraising
uint public constant FUNDING_PERIOD = 180 days;
}
library SafeMath {
function add(uint a, uint b) internal pure returns (uint c) {
c = a + b;
require(c >= a);
}
function sub(uint a, uint b) internal pure returns (uint c) {
require(b <= a);
c = a - b;
}
function mul(uint a, uint b) internal pure returns (uint c) {
c = a * b;
require(a == 0 || c / a == b);
}
function div(uint a, uint b) internal pure returns (uint c) {
require(b > 0);
c = a / b;
}
}
contract ReentryProtected
{
// The reentry protection state mutex.
bool __reMutex;
// Sets and resets mutex in order to block functin reentry
modifier preventReentry() {
require(!__reMutex);
__reMutex = true;
_;
delete __reMutex;
}
// Blocks function entry if mutex is set
modifier noReentry() {
require(!__reMutex);
_;
}
}
contract ERC20Token
{
using SafeMath for uint;
/* Constants */
// none
/* State variable */
/// @return The Total supply of tokens
uint public totalSupply;
/// @return Token symbol
string public symbol;
// Token ownership mapping
mapping (address => uint) balances;
// Allowances mapping
mapping (address => mapping (address => uint)) allowed;
/* Events */
// Triggered when tokens are transferred.
event Transfer(
address indexed _from,
address indexed _to,
uint256 _amount);
// Triggered whenever approve(address _spender, uint256 _amount) is called.
event Approval(
address indexed _owner,
address indexed _spender,
uint256 _amount);
/* Modifiers */
// none
/* Functions */
// Using an explicit getter allows for function overloading
function balanceOf(address _addr)
public
constant
returns (uint)
{
return balances[_addr];
}
// Using an explicit getter allows for function overloading
function allowance(address _owner, address _spender)
public
constant
returns (uint)
{
return allowed[_owner][_spender];
}
// Send _value amount of tokens to address _to
function transfer(address _to, uint256 _amount)
public
returns (bool)
{
return xfer(msg.sender, _to, _amount);
}
// Send _value amount of tokens from address _from to address _to
function transferFrom(address _from, address _to, uint256 _amount)
public
returns (bool)
{
require(_amount <= allowed[_from][msg.sender]);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
return xfer(_from, _to, _amount);
}
// Process a transfer internally.
function xfer(address _from, address _to, uint _amount)
internal
returns (bool)
{
require(_amount <= balances[_from]);
Transfer(_from, _to, _amount);
// avoid wasting gas on 0 token transfers
if(_amount == 0) return true;
balances[_from] = balances[_from].sub(_amount);
balances[_to] = balances[_to].add(_amount);
return true;
}
// Approves a third-party spender
function approve(address _spender, uint256 _amount)
public
returns (bool)
{
allowed[msg.sender][_spender] = _amount;
Approval(msg.sender, _spender, _amount);
return true;
}
}
/*-----------------------------------------------------------------------------\
## Conditional Entry Table
Functions must throw on F conditions
Conditional Entry Table (functions must throw on F conditions)
renetry prevention on all public mutating functions
Reentry mutex set in moveFundsToWallet(), refund()
|function |<START_DATE|<END_DATE |fundFailed |fundSucceeded|icoSucceeded
|------------------------|:---------:|:--------:|:----------:|:-----------:|:---------:|
|() |KYC |T |F |T |F |
|abort() |T |T |T |T |F |
|proxyPurchase() |KYC |T |F |T |F |
|addKycAddress() |T |T |F |T |T |
|finaliseICO() |F |F |F |T |T |
|refund() |F |F |T |F |F |
|transfer() |F |F |F |F |T |
|transferFrom() |F |F |F |F |T |
|approve() |F |F |F |F |T |
|changeOwner() |T |T |T |T |T |
|acceptOwnership() |T |T |T |T |T |
|changedeposito() |T |T |T |T |T |
|destroy() |F |F |!__abortFuse|F |F |
|transferAnyERC20Tokens()|T |T |T |T |T |
\*----------------------------------------------------------------------------*/
contract depositofferTokenAbstract
{
// TODO comment events
// Logged when funder exceeds the KYC limit
event KYCAddress(address indexed _addr, bool indexed _kyc);
// Logged upon refund
event Refunded(address indexed _addr, uint indexed _value);
// Logged when new owner accepts ownership
event ChangedOwner(address indexed _from, address indexed _to);
// Logged when owner initiates a change of ownership
event ChangeOwnerTo(address indexed _to);
// Logged when ICO ether funds are transferred to an address
event FundsTransferred(address indexed _wallet, uint indexed _value);
// This fuse blows upon calling abort() which forces a fail state
bool public __abortFuse = true;
// Set to true after the fund is swept to the fund wallet, allows token
// transfers and prevents abort()
bool public icoSuccessful;
// Token conversion factors are calculated with decimal places at parity with ether
uint8 public constant decimals = 18;
// An address authorised to take ownership
address public newOwner;
// The deposito smart contract address
address public deposito;
// Total ether raised during funding
uint public etherRaised;
// Preauthorized tranch discount addresses
// holder => discount
mapping (address => bool) public kycAddresses;
// Record of ether paid per address
mapping (address => uint) public etherContributed;
// Return `true` if MIN_FUNDS were raised
function fundSucceeded() public constant returns (bool);
// Return `true` if MIN_FUNDS were not raised before END_DATE
function fundFailed() public constant returns (bool);
// Returns USD raised for set ETH/USD rate
function usdRaised() public constant returns (uint);
// Returns an amount in eth equivilent to USD at the set rate
function usdToEth(uint) public constant returns(uint);
// Returns the USD value of ether at the set USD/ETH rate
function ethToUsd(uint _wei) public constant returns (uint);
// Returns token/ether conversion given ether value and address.
function ethToTokens(uint _eth)
public constant returns (uint);
// Processes a token purchase for a given address
function proxyPurchase(address _addr) payable returns (bool);
// Owner can move funds of successful fund to fundWallet
function finaliseICO() public returns (bool);
// Registers a discounted address
function addKycAddress(address _addr, bool _kyc)
public returns (bool);
// Refund on failed or aborted sale
function refund(address _addr) public returns (bool);
// To cancel token sale prior to START_DATE
function abort() public returns (bool);
// Change the deposito backend contract address
function changedeposito(address _addr) public returns (bool);
// For owner to salvage tokens sent to contract
function transferAnyERC20Token(address tokenAddress, uint amount)
returns (bool);
}
/*-----------------------------------------------------------------------------\
depositoffer token implimentation
\*----------------------------------------------------------------------------*/
contract depositofferToken is
ReentryProtected,
ERC20Token,
depositofferTokenAbstract,
depositofferTokenConfig
{
using SafeMath for uint;
//
// Constants
//
// USD to ether conversion factors calculated from `depositofferTokenConfig` constants
uint public constant TOKENS_PER_ETH = TOKENS_PER_USD * USD_PER_ETH;
uint public constant MIN_ETH_FUND = 1 ether * MIN_USD_FUND / USD_PER_ETH;
uint public constant MAX_ETH_FUND = 1 ether * MAX_USD_FUND / USD_PER_ETH;
uint public constant KYC_ETH_LMT = 1 ether * KYC_USD_LMT / USD_PER_ETH;
// General funding opens LEAD_IN_PERIOD after deployment (timestamps can't be constant)
uint public END_DATE = START_DATE + FUNDING_PERIOD;
//
// Modifiers
//
modifier onlyOwner {
require(msg.sender == owner);
_;
}
//
// Functions
//
// Constructor
function depositofferToken()
{
// ICO parameters are set in depositofferTSConfig
// Invalid configuration catching here
require(bytes(symbol).length > 0);
require(bytes(name).length > 0);
require(owner != 0x0);
require(fundWallet != 0x0);
require(TOKENS_PER_USD > 0);
require(USD_PER_ETH > 0);
require(MIN_USD_FUND > 0);
require(MAX_USD_FUND > MIN_USD_FUND);
require(START_DATE > 0);
require(FUNDING_PERIOD > 0);
// Setup and allocate token supply to 18 decimal places
totalSupply = MAX_TOKENS * 1e18;
balances[fundWallet] = totalSupply;
Transfer(0x0, fundWallet, totalSupply);
}
// Default function
function ()
payable
{
// Pass through to purchasing function. Will throw on failed or
// successful ICO
proxyPurchase(msg.sender);
}
//
// Getters
//
// ICO fails if aborted or minimum funds are not raised by the end date
function fundFailed() public constant returns (bool)
{
return !__abortFuse
|| (now > END_DATE && etherRaised < MIN_ETH_FUND);
}
// Funding succeeds if not aborted, minimum funds are raised before end date
function fundSucceeded() public constant returns (bool)
{
return !fundFailed()
&& etherRaised >= MIN_ETH_FUND;
}
// Returns the USD value of ether at the set USD/ETH rate
function ethToUsd(uint _wei) public constant returns (uint)
{
return USD_PER_ETH.mul(_wei).div(1 ether);
}
// Returns the ether value of USD at the set USD/ETH rate
function usdToEth(uint _usd) public constant returns (uint)
{
return _usd.mul(1 ether).div(USD_PER_ETH);
}
// Returns the USD value of ether raised at the set USD/ETH rate
function usdRaised() public constant returns (uint)
{
return ethToUsd(etherRaised);
}
// Returns the number of tokens for given amount of ether for an address
function ethToTokens(uint _wei) public constant returns (uint)
{
uint usd = ethToUsd(_wei);
// Percent bonus funding tiers for USD funding
uint bonus = 0;
// usd >= 2000000 ? 35 :
// usd >= 500000 ? 30 :
// usd >= 100000 ? 20 :
// usd >= 25000 ? 15 :
// usd >= 10000 ? 10 :
// usd >= 5000 ? 5 :
// usd >= 1000 ? 1 :
// using n.2 fixed point decimal for whole number percentage.
return _wei.mul(TOKENS_PER_ETH).mul(bonus + 100).div(100);
}
//
// ICO functions
//
// The fundraising can be aborted any time before funds are swept to the
// fundWallet.
// This will force a fail state and allow refunds to be collected.
function abort()
public
noReentry
onlyOwner
returns (bool)
{
require(!icoSuccessful);
delete __abortFuse;
return true;
}
// General addresses can purchase tokens during funding
function proxyPurchase(address _addr)
payable
noReentry
returns (bool)
{
require(!fundFailed());
require(!icoSuccessful);
require(now <= END_DATE);
require(msg.value > 0);
// Non-KYC'ed funders can only contribute up to $10000 after prefund period
if(!kycAddresses[_addr])
{
require(now >= START_DATE);
require((etherContributed[_addr].add(msg.value)) <= KYC_ETH_LMT);
}
// Get ether to token conversion
uint tokens = ethToTokens(msg.value);
// transfer tokens from fund wallet
xfer(fundWallet, _addr, tokens);
// Update holder payments
etherContributed[_addr] = etherContributed[_addr].add(msg.value);
// Update funds raised
etherRaised = etherRaised.add(msg.value);
// Bail if this pushes the fund over the USD cap or Token cap
require(etherRaised <= MAX_ETH_FUND);
return true;
}
// Owner can KYC (or revoke) addresses until close of funding
function addKycAddress(address _addr, bool _kyc)
public
noReentry
onlyOwner
returns (bool)
{
require(!fundFailed());
kycAddresses[_addr] = _kyc;
KYCAddress(_addr, _kyc);
return true;
}
// Owner can sweep a successful funding to the fundWallet
// Contract can be aborted up until this action.
// Effective once but can be called multiple time to withdraw edge case
// funds recieved by contract which can selfdestruct to this address
function finaliseICO()
public
onlyOwner
preventReentry()
returns (bool)
{
require(fundSucceeded());
icoSuccessful = true;
FundsTransferred(fundWallet, this.balance);
fundWallet.transfer(this.balance);
return true;
}
// Refunds can be claimed from a failed ICO
function refund(address _addr)
public
preventReentry()
returns (bool)
{
require(fundFailed());
uint value = etherContributed[_addr];
// Transfer tokens back to origin
// (Not really necessary but looking for graceful exit)
xfer(_addr, fundWallet, balances[_addr]);
// garbage collect
delete etherContributed[_addr];
delete kycAddresses[_addr];
Refunded(_addr, value);
if (value > 0) {
_addr.transfer(value);
}
return true;
}
//
// ERC20 overloaded functions
//
function transfer(address _to, uint _amount)
public
preventReentry
returns (bool)
{
// ICO must be successful
require(icoSuccessful);
super.transfer(_to, _amount);
if (_to == deposito)
// Notify the deposito contract it has been sent tokens
require(Notify(deposito).notify(msg.sender, _amount));
return true;
}
function transferFrom(address _from, address _to, uint _amount)
public
preventReentry
returns (bool)
{
// ICO must be successful
require(icoSuccessful);
super.transferFrom(_from, _to, _amount);
if (_to == deposito)
// Notify the deposito contract it has been sent tokens
require(Notify(deposito).notify(msg.sender, _amount));
return true;
}
function approve(address _spender, uint _amount)
public
noReentry
returns (bool)
{
// ICO must be successful
require(icoSuccessful);
super.approve(_spender, _amount);
return true;
}
//
// Contract managment functions
//
// To initiate an ownership change
function changeOwner(address _newOwner)
public
noReentry
onlyOwner
returns (bool)
{
ChangeOwnerTo(_newOwner);
newOwner = _newOwner;
return true;
}
// To accept ownership. Required to prove new address can call the contract.
function acceptOwnership()
public
noReentry
returns (bool)
{
require(msg.sender == newOwner);
ChangedOwner(owner, newOwner);
owner = newOwner;
return true;
}
// Change the address of the deposito contract address. The contract
// must impliment the `Notify` interface.
function changedeposito(address _addr)
public
noReentry
onlyOwner
returns (bool)
{
deposito = _addr;
return true;
}
// The contract can be selfdestructed after abort and ether balance is 0.
function destroy()
public
noReentry
onlyOwner
{
require(!__abortFuse);
require(this.balance == 0);
selfdestruct(owner);
}
// Owner can salvage ANYTYPE ERC20 tokens that may have been sent to the account by accident
function transferAnyERC20Token(address tokenAddress, uint amount)
public
onlyOwner
preventReentry
returns (bool)
{
require(ERC20Token(tokenAddress).transfer(owner, amount));
return true;
}
}
interface Notify
{
event Notified(address indexed _from, uint indexed _amount);
function notify(address _from, uint _amount) public returns (bool);
}
contract depositoTest is Notify
{
address public dot;
function setdot(address _addr) { dot = _addr; }
function notify(address _from, uint _amount) public returns (bool)
{
require(msg.sender == dot);
Notified(_from, _amount);
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"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":"_amount","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":"abort","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"START_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finaliseICO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ETH_FUND","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_kyc","type":"bool"}],"name":"addKycAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"proxyPurchase","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"END_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"changedeposito","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fundWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundSucceeded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundFailed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"__abortFuse","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_ETH_FUND","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_USD_FUND","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deposito","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoSuccessful","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"kycAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_wei","type":"uint256"}],"name":"ethToUsd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"KYC_ETH_LMT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_wei","type":"uint256"}],"name":"ethToTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"etherContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MIN_USD_FUND","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"USD_PER_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_PER_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_usd","type":"uint256"}],"name":"usdToEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"KYC_USD_LMT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_PER_USD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"usdRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FUNDING_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"},{"indexed":true,"name":"_kyc","type":"bool"}],"name":"KYCAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"},{"indexed":true,"name":"_value","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"ChangedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"}],"name":"ChangeOwnerTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_wallet","type":"address"},{"indexed":true,"name":"_value","type":"uint256"}],"name":"FundsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
606060409081526005805460ff191660011790558051908101604052601d81527f4465706f7369746f666665722e636f6d205553506174373337363631320000006020820152600a9080516200005a929160200190620001ef565b5060408051908101604052600381527f444f5400000000000000000000000000000000000000000000000000000000006020820152600b908051620000a4929160200190620001ef565b50600c8054600160a060020a031990811673b353cf41a0caa38d6597a7a1337debf0b09dd8ae17909155600d805490911673cce1f6f4ceb0f046cf57fe8e1c409fc47afe6aab179055635b928291600e5534156200010157600080fd5b600b54600060026000196101006001851615020190921691909104116200012757600080fd5b600a54600060026000196101006001851615020190921691909104116200014d57600080fd5b600c54600160a060020a031615156200016557600080fd5b600d54600160a060020a031615156200017d57600080fd5b6a034f086f3b33b6840000006001819055600d8054600160a060020a0390811660009081526003602052604080822085905592549091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a362000294565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023257805160ff191683800117855562000262565b8280016001018555821562000262579182015b828111156200026257825182559160200191906001019062000245565b506200027092915062000274565b5090565b6200029191905b808211156200027057600081556001016200027b565b90565b61161b80620002a46000396000f3006060604052600436106102215763ffffffff60e060020a60003504166306fdde03811461022d578063095ea7b3146102b757806318160ddd146102ed57806323b872dd14610312578063313ce5671461033a57806335a063b414610363578063372c65331461037657806339f95e631461038957806343dbb2de1461039c5780634449307b146103af5780634a5dddd2146103d3578063545599ff146103e757806363981b33146103fa578063664a1ad61461041957806367de81e8146104485780636e62de191461045b5780636eabcd691461046e57806370a082311461048157806371140942146104a057806379099e15146104b357806379ba5097146104c65780637af327a0146104d957806383197ef0146104ec578063835fa3ac146105015780638bace235146105145780638da5cb5b14610533578063946d14801461054657806395d89b411461055c5780639c70b8991461056f578063a4c8932214610582578063a6f9dae114610598578063a82776dd146105b7578063a9059cbb146105d6578063b4495b7d146105f8578063b94083731461060b578063bc6e66041461061e578063bcecf66714610631578063cd72ab6914610647578063d399354b1461065a578063d4ee1d901461066d578063d5356b7d14610680578063dc39d06d14610693578063dd62ed3e146106b5578063eadd94ec146106da578063f47c84c5146106ed578063f90c3f2714610700578063fa89401a14610713575b61022a33610732565b50005b341561023857600080fd5b610240610892565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561027c578082015183820152602001610264565b50505050905090810190601f1680156102a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c257600080fd5b6102d9600160a060020a0360043516602435610930565b604051901515815260200160405180910390f35b34156102f857600080fd5b61030061096d565b60405190815260200160405180910390f35b341561031d57600080fd5b6102d9600160a060020a0360043581169060243516604435610973565b341561034557600080fd5b61034d610a62565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b6102d9610a67565b341561038157600080fd5b610300610ab8565b341561039457600080fd5b6102d9610ac0565b34156103a757600080fd5b610300610ba3565b34156103ba57600080fd5b6102d9600160a060020a03600435166024351515610bb7565b6102d9600160a060020a0360043516610732565b34156103f257600080fd5b610300610c54565b341561040557600080fd5b6102d9600160a060020a0360043516610c5a565b341561042457600080fd5b61042c610cb8565b604051600160a060020a03909116815260200160405180910390f35b341561045357600080fd5b6102d9610cc7565b341561046657600080fd5b6102d9610ced565b341561047957600080fd5b6102d9610d1a565b341561048c57600080fd5b610300600160a060020a0360043516610d23565b34156104ab57600080fd5b610300610d3e565b34156104be57600080fd5b610300610d4f565b34156104d157600080fd5b6102d9610d56565b34156104e457600080fd5b61042c610e09565b34156104f757600080fd5b6104ff610e18565b005b341561050c57600080fd5b6102d9610e76565b341561051f57600080fd5b6102d9600160a060020a0360043516610e84565b341561053e57600080fd5b61042c610e99565b341561055157600080fd5b610300600435610ea8565b341561056757600080fd5b610240610ed4565b341561057a57600080fd5b610300610f3f565b341561058d57600080fd5b610300600435610f52565b34156105a357600080fd5b6102d9600160a060020a0360043516610f95565b34156105c257600080fd5b610300600160a060020a0360043516611030565b34156105e157600080fd5b6102d9600160a060020a0360043516602435611042565b341561060357600080fd5b61030061112e565b341561061657600080fd5b610300611133565b341561062957600080fd5b610300611139565b341561063c57600080fd5b61030060043561113f565b341561065257600080fd5b61030061115f565b341561066557600080fd5b610300611165565b341561067857600080fd5b61042c61116b565b341561068b57600080fd5b610300611180565b341561069e57600080fd5b6102d9600160a060020a0360043516602435611185565b34156106c057600080fd5b610300600160a060020a0360043581169060243516611225565b34156106e557600080fd5b610300611250565b34156106f857600080fd5b61030061125d565b341561070b57600080fd5b610300611264565b341561071e57600080fd5b6102d9600160a060020a036004351661126b565b60008054819060ff161561074557600080fd5b61074d610ced565b1561075757600080fd5b600554610100900460ff161561076c57600080fd5b600e5442111561077b57600080fd5b6000341161078857600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156107f457635aa534914210156107bb57600080fd5b600160a060020a03831660009081526009602052604090205468072206537f168e50d7906107e99034611370565b11156107f457600080fd5b6107fd34610f52565b600d5490915061081790600160a060020a03168483611380565b50600160a060020a038316600090815260096020526040902054610841903463ffffffff61137016565b600160a060020a03841660009081526009602052604090205560075461086d903463ffffffff61137016565b600781905569011d50fd0bdb863ca1af90111561088957600080fd5b50600192915050565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109285780601f106108fd57610100808354040283529160200191610928565b820191906000526020600020905b81548152906001019060200180831161090b57829003601f168201915b505050505081565b6000805460ff161561094157600080fd5b600554610100900460ff16151561095757600080fd5b610961838361147d565b50600190505b92915050565b60015481565b6000805460ff161561098457600080fd5b6000805460ff19166001179055600554610100900460ff1615156109a757600080fd5b6109b28484846114e9565b50600654600160a060020a0384811691161415610a4e57600654600160a060020a03166325fda176338460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2857600080fd5b6102c65a03f11515610a3957600080fd5b505050604051805190501515610a4e57600080fd5b5060016000805460ff191690559392505050565b601281565b6000805460ff1615610a7857600080fd5b600c5433600160a060020a03908116911614610a9357600080fd5b600554610100900460ff1615610aa857600080fd5b506005805460ff19169055600190565b635aa5349181565b600c5460009033600160a060020a03908116911614610ade57600080fd5b60005460ff1615610aee57600080fd5b6000805460ff19166001179055610b03610cc7565b1515610b0e57600080fd5b6005805461ff001916610100179055600d54600160a060020a033081163191167f8c9a4f13b67cb64d7c6aa1ae0c9bf07694af521a28b93e7060020810ab4bc59f60405160405180910390a3600d54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610b9357600080fd5b5060016000805460ff1916905590565b61017c6a01a784379d99db420000005b0481565b6000805460ff1615610bc857600080fd5b600c5433600160a060020a03908116911614610be357600080fd5b610beb610ced565b15610bf557600080fd5b600160a060020a03831660008181526008602052604090819020805460ff191685151590811790915591907fccc39d7dc7461a69d6b86c0867c4cc1879b70e7239ed223f1ae0eec7036bfdad905160405180910390a350600192915050565b600e5481565b6000805460ff1615610c6b57600080fd5b600c5433600160a060020a03908116911614610c8657600080fd5b5060068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600d54600160a060020a031681565b6000610cd1610ced565b158015610ce8575060075466095968385b35e59010155b905090565b60055460009060ff161580610ce85750600e5442118015610ce857505060075466095968385b35e5901090565b60055460ff1681565b600160a060020a031660009081526003602052604090205490565b61017c670de0b6b3a7640000610bb3565b621e848081565b6000805460ff1615610d6757600080fd5b60055433600160a060020a03908116620100009092041614610d8857600080fd5b600554600c54600160a060020a0362010000909204821691167f2748503f8f31d8071821d1d5144384ba6a465036cda17fa1629a8a2509ccee0e60405160405180910390a350600554600c805462010000909204600160a060020a031673ffffffffffffffffffffffffffffffffffffffff19909216919091179055600190565b600654600160a060020a031681565b60005460ff1615610e2857600080fd5b600c5433600160a060020a03908116911614610e4357600080fd5b60055460ff1615610e5357600080fd5b600160a060020a0330163115610e6857600080fd5b600c54600160a060020a0316ff5b600554610100900460ff1681565b60086020526000908152604090205460ff1681565b600c54600160a060020a031681565b6000610967670de0b6b3a7640000610ec861017c8563ffffffff61158716565b9063ffffffff6115ac16565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109285780601f106108fd57610100808354040283529160200191610928565b61017c690a968163f0a57b400000610bb3565b6000806000610f6084610ea8565b915060009050610f8d6064610ec881610f81886102f863ffffffff61158716565b9063ffffffff61158716565b949350505050565b6000805460ff1615610fa657600080fd5b600c5433600160a060020a03908116911614610fc157600080fd5b81600160a060020a03167fbc48fdaddfcfb54d36a0ac4d7e52f46cdf854784b9c0978d385a35e8383262d460405160405180910390a25060058054600160a060020a038316620100000275ffffffffffffffffffffffffffffffffffffffff0000199091161790556001919050565b60096020526000908152604090205481565b6000805460ff161561105357600080fd5b6000805460ff19166001179055600554610100900460ff16151561107657600080fd5b61108083836115cd565b50600654600160a060020a038481169116141561111c57600654600160a060020a03166325fda176338460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f657600080fd5b6102c65a03f1151561110757600080fd5b50505060405180519050151561111c57600080fd5b50506000805460ff1916905550600190565b600181565b61017c81565b6102f881565b600061096761017c610ec884670de0b6b3a764000063ffffffff61158716565b60075481565b61c35081565b600554620100009004600160a060020a031681565b600281565b600c5460009033600160a060020a039081169116146111a357600080fd5b60005460ff16156111b357600080fd5b6000805460ff19166001178155600c54600160a060020a038086169263a9059cbb929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f657600080fd5b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b6000610ce8600754610ea8565b623d090081565b62ed4e0081565b60008054819060ff161561127e57600080fd5b6000805460ff19166001179055611293610ced565b151561129e57600080fd5b50600160a060020a03808316600090815260096020908152604080832054600d54600390935292205491926112d892869290911690611380565b50600160a060020a0383166000818152600960209081526040808320839055600890915290819020805460ff191690558291907fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651905160405180910390a3600081111561111c57600160a060020a03831681156108fc0282604051600060405180830381858888f19350505050151561111c57600080fd5b8181018281101561096757600080fd5b600160a060020a0383166000908152600360205260408120548211156113a557600080fd5b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a38115156113fb57506001611476565b600160a060020a038416600090815260036020526040902054611424908363ffffffff6115da16565b600160a060020a038086166000908152600360205260408082209390935590851681522054611459908363ffffffff61137016565b600160a060020a0384166000908152600360205260409020555060015b9392505050565b600160a060020a03338116600081815260046020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600160a060020a0380841660009081526004602090815260408083203390941683529290529081205482111561151e57600080fd5b600160a060020a0380851660009081526004602090815260408083203390941683529290522054611555908363ffffffff6115da16565b600160a060020a0380861660009081526004602090815260408083203390941683529290522055610f8d848484611380565b8181028215806115a1575081838281151561159e57fe5b04145b151561096757600080fd5b60008082116115ba57600080fd5b81838115156115c557fe5b049392505050565b6000611476338484611380565b6000828211156115e957600080fd5b509003905600a165627a7a72305820a41038ea337620819abd81cddc642c8136582960c8ba7f6f19cc2ce46325dae30029
Deployed Bytecode
0x6060604052600436106102215763ffffffff60e060020a60003504166306fdde03811461022d578063095ea7b3146102b757806318160ddd146102ed57806323b872dd14610312578063313ce5671461033a57806335a063b414610363578063372c65331461037657806339f95e631461038957806343dbb2de1461039c5780634449307b146103af5780634a5dddd2146103d3578063545599ff146103e757806363981b33146103fa578063664a1ad61461041957806367de81e8146104485780636e62de191461045b5780636eabcd691461046e57806370a082311461048157806371140942146104a057806379099e15146104b357806379ba5097146104c65780637af327a0146104d957806383197ef0146104ec578063835fa3ac146105015780638bace235146105145780638da5cb5b14610533578063946d14801461054657806395d89b411461055c5780639c70b8991461056f578063a4c8932214610582578063a6f9dae114610598578063a82776dd146105b7578063a9059cbb146105d6578063b4495b7d146105f8578063b94083731461060b578063bc6e66041461061e578063bcecf66714610631578063cd72ab6914610647578063d399354b1461065a578063d4ee1d901461066d578063d5356b7d14610680578063dc39d06d14610693578063dd62ed3e146106b5578063eadd94ec146106da578063f47c84c5146106ed578063f90c3f2714610700578063fa89401a14610713575b61022a33610732565b50005b341561023857600080fd5b610240610892565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561027c578082015183820152602001610264565b50505050905090810190601f1680156102a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c257600080fd5b6102d9600160a060020a0360043516602435610930565b604051901515815260200160405180910390f35b34156102f857600080fd5b61030061096d565b60405190815260200160405180910390f35b341561031d57600080fd5b6102d9600160a060020a0360043581169060243516604435610973565b341561034557600080fd5b61034d610a62565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b6102d9610a67565b341561038157600080fd5b610300610ab8565b341561039457600080fd5b6102d9610ac0565b34156103a757600080fd5b610300610ba3565b34156103ba57600080fd5b6102d9600160a060020a03600435166024351515610bb7565b6102d9600160a060020a0360043516610732565b34156103f257600080fd5b610300610c54565b341561040557600080fd5b6102d9600160a060020a0360043516610c5a565b341561042457600080fd5b61042c610cb8565b604051600160a060020a03909116815260200160405180910390f35b341561045357600080fd5b6102d9610cc7565b341561046657600080fd5b6102d9610ced565b341561047957600080fd5b6102d9610d1a565b341561048c57600080fd5b610300600160a060020a0360043516610d23565b34156104ab57600080fd5b610300610d3e565b34156104be57600080fd5b610300610d4f565b34156104d157600080fd5b6102d9610d56565b34156104e457600080fd5b61042c610e09565b34156104f757600080fd5b6104ff610e18565b005b341561050c57600080fd5b6102d9610e76565b341561051f57600080fd5b6102d9600160a060020a0360043516610e84565b341561053e57600080fd5b61042c610e99565b341561055157600080fd5b610300600435610ea8565b341561056757600080fd5b610240610ed4565b341561057a57600080fd5b610300610f3f565b341561058d57600080fd5b610300600435610f52565b34156105a357600080fd5b6102d9600160a060020a0360043516610f95565b34156105c257600080fd5b610300600160a060020a0360043516611030565b34156105e157600080fd5b6102d9600160a060020a0360043516602435611042565b341561060357600080fd5b61030061112e565b341561061657600080fd5b610300611133565b341561062957600080fd5b610300611139565b341561063c57600080fd5b61030060043561113f565b341561065257600080fd5b61030061115f565b341561066557600080fd5b610300611165565b341561067857600080fd5b61042c61116b565b341561068b57600080fd5b610300611180565b341561069e57600080fd5b6102d9600160a060020a0360043516602435611185565b34156106c057600080fd5b610300600160a060020a0360043581169060243516611225565b34156106e557600080fd5b610300611250565b34156106f857600080fd5b61030061125d565b341561070b57600080fd5b610300611264565b341561071e57600080fd5b6102d9600160a060020a036004351661126b565b60008054819060ff161561074557600080fd5b61074d610ced565b1561075757600080fd5b600554610100900460ff161561076c57600080fd5b600e5442111561077b57600080fd5b6000341161078857600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156107f457635aa534914210156107bb57600080fd5b600160a060020a03831660009081526009602052604090205468072206537f168e50d7906107e99034611370565b11156107f457600080fd5b6107fd34610f52565b600d5490915061081790600160a060020a03168483611380565b50600160a060020a038316600090815260096020526040902054610841903463ffffffff61137016565b600160a060020a03841660009081526009602052604090205560075461086d903463ffffffff61137016565b600781905569011d50fd0bdb863ca1af90111561088957600080fd5b50600192915050565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109285780601f106108fd57610100808354040283529160200191610928565b820191906000526020600020905b81548152906001019060200180831161090b57829003601f168201915b505050505081565b6000805460ff161561094157600080fd5b600554610100900460ff16151561095757600080fd5b610961838361147d565b50600190505b92915050565b60015481565b6000805460ff161561098457600080fd5b6000805460ff19166001179055600554610100900460ff1615156109a757600080fd5b6109b28484846114e9565b50600654600160a060020a0384811691161415610a4e57600654600160a060020a03166325fda176338460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2857600080fd5b6102c65a03f11515610a3957600080fd5b505050604051805190501515610a4e57600080fd5b5060016000805460ff191690559392505050565b601281565b6000805460ff1615610a7857600080fd5b600c5433600160a060020a03908116911614610a9357600080fd5b600554610100900460ff1615610aa857600080fd5b506005805460ff19169055600190565b635aa5349181565b600c5460009033600160a060020a03908116911614610ade57600080fd5b60005460ff1615610aee57600080fd5b6000805460ff19166001179055610b03610cc7565b1515610b0e57600080fd5b6005805461ff001916610100179055600d54600160a060020a033081163191167f8c9a4f13b67cb64d7c6aa1ae0c9bf07694af521a28b93e7060020810ab4bc59f60405160405180910390a3600d54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610b9357600080fd5b5060016000805460ff1916905590565b61017c6a01a784379d99db420000005b0481565b6000805460ff1615610bc857600080fd5b600c5433600160a060020a03908116911614610be357600080fd5b610beb610ced565b15610bf557600080fd5b600160a060020a03831660008181526008602052604090819020805460ff191685151590811790915591907fccc39d7dc7461a69d6b86c0867c4cc1879b70e7239ed223f1ae0eec7036bfdad905160405180910390a350600192915050565b600e5481565b6000805460ff1615610c6b57600080fd5b600c5433600160a060020a03908116911614610c8657600080fd5b5060068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600d54600160a060020a031681565b6000610cd1610ced565b158015610ce8575060075466095968385b35e59010155b905090565b60055460009060ff161580610ce85750600e5442118015610ce857505060075466095968385b35e5901090565b60055460ff1681565b600160a060020a031660009081526003602052604090205490565b61017c670de0b6b3a7640000610bb3565b621e848081565b6000805460ff1615610d6757600080fd5b60055433600160a060020a03908116620100009092041614610d8857600080fd5b600554600c54600160a060020a0362010000909204821691167f2748503f8f31d8071821d1d5144384ba6a465036cda17fa1629a8a2509ccee0e60405160405180910390a350600554600c805462010000909204600160a060020a031673ffffffffffffffffffffffffffffffffffffffff19909216919091179055600190565b600654600160a060020a031681565b60005460ff1615610e2857600080fd5b600c5433600160a060020a03908116911614610e4357600080fd5b60055460ff1615610e5357600080fd5b600160a060020a0330163115610e6857600080fd5b600c54600160a060020a0316ff5b600554610100900460ff1681565b60086020526000908152604090205460ff1681565b600c54600160a060020a031681565b6000610967670de0b6b3a7640000610ec861017c8563ffffffff61158716565b9063ffffffff6115ac16565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109285780601f106108fd57610100808354040283529160200191610928565b61017c690a968163f0a57b400000610bb3565b6000806000610f6084610ea8565b915060009050610f8d6064610ec881610f81886102f863ffffffff61158716565b9063ffffffff61158716565b949350505050565b6000805460ff1615610fa657600080fd5b600c5433600160a060020a03908116911614610fc157600080fd5b81600160a060020a03167fbc48fdaddfcfb54d36a0ac4d7e52f46cdf854784b9c0978d385a35e8383262d460405160405180910390a25060058054600160a060020a038316620100000275ffffffffffffffffffffffffffffffffffffffff0000199091161790556001919050565b60096020526000908152604090205481565b6000805460ff161561105357600080fd5b6000805460ff19166001179055600554610100900460ff16151561107657600080fd5b61108083836115cd565b50600654600160a060020a038481169116141561111c57600654600160a060020a03166325fda176338460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f657600080fd5b6102c65a03f1151561110757600080fd5b50505060405180519050151561111c57600080fd5b50506000805460ff1916905550600190565b600181565b61017c81565b6102f881565b600061096761017c610ec884670de0b6b3a764000063ffffffff61158716565b60075481565b61c35081565b600554620100009004600160a060020a031681565b600281565b600c5460009033600160a060020a039081169116146111a357600080fd5b60005460ff16156111b357600080fd5b6000805460ff19166001178155600c54600160a060020a038086169263a9059cbb929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f657600080fd5b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b6000610ce8600754610ea8565b623d090081565b62ed4e0081565b60008054819060ff161561127e57600080fd5b6000805460ff19166001179055611293610ced565b151561129e57600080fd5b50600160a060020a03808316600090815260096020908152604080832054600d54600390935292205491926112d892869290911690611380565b50600160a060020a0383166000818152600960209081526040808320839055600890915290819020805460ff191690558291907fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651905160405180910390a3600081111561111c57600160a060020a03831681156108fc0282604051600060405180830381858888f19350505050151561111c57600080fd5b8181018281101561096757600080fd5b600160a060020a0383166000908152600360205260408120548211156113a557600080fd5b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a38115156113fb57506001611476565b600160a060020a038416600090815260036020526040902054611424908363ffffffff6115da16565b600160a060020a038086166000908152600360205260408082209390935590851681522054611459908363ffffffff61137016565b600160a060020a0384166000908152600360205260409020555060015b9392505050565b600160a060020a03338116600081815260046020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600160a060020a0380841660009081526004602090815260408083203390941683529290529081205482111561151e57600080fd5b600160a060020a0380851660009081526004602090815260408083203390941683529290522054611555908363ffffffff6115da16565b600160a060020a0380861660009081526004602090815260408083203390941683529290522055610f8d848484611380565b8181028215806115a1575081838281151561159e57fe5b04145b151561096757600080fd5b60008082116115ba57600080fd5b81838115156115c557fe5b049392505050565b6000611476338484611380565b6000828211156115e957600080fd5b509003905600a165627a7a72305820a41038ea337620819abd81cddc642c8136582960c8ba7f6f19cc2ce46325dae30029
Swarm Source
bzzr://a41038ea337620819abd81cddc642c8136582960c8ba7f6f19cc2ce46325dae3
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.