Latest 25 from a total of 24,499 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 22448241 | 288 days ago | IN | 0 ETH | 0.00005242 | ||||
| Transfer | 21508339 | 419 days ago | IN | 0 ETH | 0.00014713 | ||||
| Approve | 21405596 | 434 days ago | IN | 0 ETH | 0.00021558 | ||||
| Approve | 21405594 | 434 days ago | IN | 0 ETH | 0.00022501 | ||||
| Approve | 20182463 | 605 days ago | IN | 0 ETH | 0.00007344 | ||||
| Approve | 19872219 | 648 days ago | IN | 0 ETH | 0.00010409 | ||||
| Approve | 19594272 | 687 days ago | IN | 0 ETH | 0.00026152 | ||||
| Approve | 16903327 | 1065 days ago | IN | 0 ETH | 0.00042521 | ||||
| Transfer | 13766807 | 1536 days ago | IN | 0 ETH | 0.00159961 | ||||
| Transfer | 13296969 | 1610 days ago | IN | 0 ETH | 0.00122153 | ||||
| Transfer | 12242019 | 1774 days ago | IN | 0 ETH | 0.00218286 | ||||
| Transfer | 12241750 | 1774 days ago | IN | 0 ETH | 0.00195064 | ||||
| Transfer | 11543829 | 1881 days ago | IN | 0 ETH | 0.002321 | ||||
| Transfer | 11543767 | 1881 days ago | IN | 0 ETH | 0.0034815 | ||||
| Transfer | 11428019 | 1899 days ago | IN | 0 ETH | 0.00131935 | ||||
| Approve | 11269233 | 1923 days ago | IN | 0 ETH | 0.00091567 | ||||
| Transfer | 10749333 | 2004 days ago | IN | 0 ETH | 0.00426 | ||||
| Transfer | 10581521 | 2029 days ago | IN | 0 ETH | 0.00329752 | ||||
| Transfer | 10121303 | 2101 days ago | IN | 0 ETH | 0.00027866 | ||||
| Transfer | 10121266 | 2101 days ago | IN | 0 ETH | 0.00027866 | ||||
| Approve | 10005054 | 2119 days ago | IN | 0 ETH | 0.00037867 | ||||
| Transfer From | 10004451 | 2119 days ago | IN | 0 ETH | 0.00023 | ||||
| Transfer | 10004354 | 2119 days ago | IN | 0 ETH | 0.00023258 | ||||
| Approve | 9942772 | 2128 days ago | IN | 0 ETH | 0.00017612 | ||||
| Transfer | 9708953 | 2164 days ago | IN | 0 ETH | 0.00027866 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
NEToken
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-06-27
*/
pragma solidity ^0.4.11;
/* taking ideas from FirstBlood token */
contract SafeMath {
function safeAdd(uint256 x, uint256 y) internal returns(uint256) {
uint256 z = x + y;
assert((z >= x) && (z >= y));
return z;
}
function safeSubtract(uint256 x, uint256 y) internal returns(uint256) {
assert(x >= y);
uint256 z = x - y;
return z;
}
function safeMult(uint256 x, uint256 y) internal returns(uint256) {
uint256 z = x * y;
assert((x == 0)||(z/x == y));
return z;
}
}
contract Token {
uint256 public totalSupply;
function balanceOf(address _owner) constant returns (uint256 balance);
function transfer(address _to, uint256 _value) returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
function approve(address _spender, uint256 _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
/* ERC 20 token */
contract StandardToken is Token, SafeMath {
mapping (address => uint256) balances;
mapping (address => mapping (address => uint256)) allowed;
modifier onlyPayloadSize(uint numwords) {
assert(msg.data.length == numwords * 32 + 4);
_;
}
function transfer(address _to, uint256 _value)
returns (bool success)
{
if (balances[msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
balances[msg.sender] = safeSubtract(balances[msg.sender], _value);
balances[_to] = safeAdd(balances[_to], _value);
Transfer(msg.sender, _to, _value);
return true;
} else {
return false;
}
}
function transferFrom(address _from, address _to, uint256 _value)
returns (bool success)
{
if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
balances[_to] = safeAdd(balances[_to], _value);
balances[_from] = safeSubtract(balances[_from], _value);
allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender], _value);
Transfer(_from, _to, _value);
return true;
} else {
return false;
}
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function approve(address _spender, uint256 _value)
onlyPayloadSize(2)
returns (bool success)
{
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender)
constant
onlyPayloadSize(2)
returns (uint256 remaining)
{
return allowed[_owner][_spender];
}
}
/* Taking ideas from BAT token */
contract NEToken is StandardToken {
// Token metadata
string public constant name = "Nimiq Network Interim Token";
string public constant symbol = "NET";
uint256 public constant decimals = 18;
string public version = "0.8";
// Deposit address of Multisig account controlled by the creators
address public ethFundDeposit;
// Fundraising parameters
enum ContractState { Fundraising, Finalized, Redeeming, Paused }
ContractState public state; // Current state of the contract
ContractState private savedState; // State of the contract before pause
uint256 public fundingStartBlock; // These two blocks need to be chosen to comply with the
uint256 public fundingEndBlock; // start date and 28 day duration requirements
uint256 public exchangeRateChangesBlock; // block number that triggers the exchange rate change
uint256 public constant TOKEN_FIRST_EXCHANGE_RATE = 175; // 175 NETs per 1 ETH
uint256 public constant TOKEN_SECOND_EXCHANGE_RATE = 125; // 125 NETs per 1 ETH
uint256 public constant TOKEN_CREATION_CAP = 10.5 * (10**6) * 10**decimals; // 10.5 million NETs
uint256 public constant ETH_RECEIVED_CAP = 60 * (10**3) * 10**decimals; // 60 000 ETH
uint256 public constant ETH_RECEIVED_MIN = 5 * (10**3) * 10**decimals; // 5 000 ETH
uint256 public constant TOKEN_MIN = 1 * 10**decimals; // 1 NET
// We need to keep track of how much ether have been contributed, since we have a cap for ETH too
uint256 public totalReceivedEth = 0;
// Since we have different exchange rates at different stages, we need to keep track
// of how much ether each contributed in case that we need to issue a refund
mapping (address => uint256) private ethBalances;
// Events used for logging
event LogRefund(address indexed _to, uint256 _value);
event LogCreateNET(address indexed _to, uint256 _value);
event LogRedeemNET(address indexed _to, uint256 _value, bytes32 _nimiqAddress);
modifier isFinalized() {
require(state == ContractState.Finalized);
_;
}
modifier isFundraising() {
require(state == ContractState.Fundraising);
_;
}
modifier isRedeeming() {
require(state == ContractState.Redeeming);
_;
}
modifier isPaused() {
require(state == ContractState.Paused);
_;
}
modifier notPaused() {
require(state != ContractState.Paused);
_;
}
modifier isFundraisingIgnorePaused() {
require(state == ContractState.Fundraising || (state == ContractState.Paused && savedState == ContractState.Fundraising));
_;
}
modifier onlyOwner() {
require(msg.sender == ethFundDeposit);
_;
}
modifier minimumReached() {
require(totalReceivedEth >= ETH_RECEIVED_MIN);
_;
}
// Constructor
function NEToken(
address _ethFundDeposit,
uint256 _fundingStartBlock,
uint256 _fundingEndBlock,
uint256 _exchangeRateChangesBlock)
{
// Check that the parameters make sense
require(block.number <= _fundingStartBlock); // The start of the fundraising should happen in the future
require(_fundingStartBlock <= _exchangeRateChangesBlock); // The exchange rate change should happen after the start of the fundraising
require(_exchangeRateChangesBlock <= _fundingEndBlock); // And the end of the fundraising should happen after the exchange rate change
// Contract state
state = ContractState.Fundraising;
savedState = ContractState.Fundraising;
ethFundDeposit = _ethFundDeposit;
fundingStartBlock = _fundingStartBlock;
fundingEndBlock = _fundingEndBlock;
exchangeRateChangesBlock = _exchangeRateChangesBlock;
totalSupply = 0;
}
// Overridden method to check for end of fundraising before allowing transfer of tokens
function transfer(address _to, uint256 _value)
isFinalized // Only allow token transfer after the fundraising has ended
onlyPayloadSize(2)
returns (bool success)
{
return super.transfer(_to, _value);
}
// Overridden method to check for end of fundraising before allowing transfer of tokens
function transferFrom(address _from, address _to, uint256 _value)
isFinalized // Only allow token transfer after the fundraising has ended
onlyPayloadSize(3)
returns (bool success)
{
return super.transferFrom(_from, _to, _value);
}
/// @dev Accepts ether and creates new NET tokens
function createTokens()
payable
external
isFundraising
{
require(block.number >= fundingStartBlock);
require(block.number <= fundingEndBlock);
require(msg.value > 0);
// First we check the ETH cap, as it's easier to calculate, return
// the contribution if the cap has been reached already
uint256 checkedReceivedEth = safeAdd(totalReceivedEth, msg.value);
require(checkedReceivedEth <= ETH_RECEIVED_CAP);
// If all is fine with the ETH cap, we continue to check the
// minimum amount of tokens and the cap for how many tokens
// have been generated so far
uint256 tokens = safeMult(msg.value, getCurrentTokenPrice());
require(tokens >= TOKEN_MIN);
uint256 checkedSupply = safeAdd(totalSupply, tokens);
require(checkedSupply <= TOKEN_CREATION_CAP);
// Only when all the checks have passed, then we update the state (ethBalances,
// totalReceivedEth, totalSupply, and balances) of the contract
ethBalances[msg.sender] = safeAdd(ethBalances[msg.sender], msg.value);
totalReceivedEth = checkedReceivedEth;
totalSupply = checkedSupply;
balances[msg.sender] += tokens; // safeAdd not needed; bad semantics to use here
// Log the creation of this tokens
LogCreateNET(msg.sender, tokens);
}
/// @dev Returns the current token price
function getCurrentTokenPrice()
private
constant
returns (uint256 currentPrice)
{
if (block.number < exchangeRateChangesBlock) {
return TOKEN_FIRST_EXCHANGE_RATE;
} else {
return TOKEN_SECOND_EXCHANGE_RATE;
}
}
/// @dev Redeems NETs and records the Nimiq address of the sender
function redeemTokens(bytes32 nimiqAddress)
external
isRedeeming
{
uint256 netVal = balances[msg.sender];
require(netVal >= TOKEN_MIN); // At least TOKEN_MIN tokens have to be redeemed
// Move the tokens of the caller to Nimiq's address
if (!super.transfer(ethFundDeposit, netVal)) throw;
// Log the redeeming of this tokens
LogRedeemNET(msg.sender, netVal, nimiqAddress);
}
/// @dev Allows to transfer ether from the contract as soon as the minimum is reached
function retrieveEth(uint256 _value)
external
minimumReached
onlyOwner
{
require(_value <= this.balance);
// send the eth to Nimiq Creators
ethFundDeposit.transfer(_value);
}
/// @dev Ends the fundraising period and sends the ETH to the Multisig wallet
function finalize()
external
isFundraising
minimumReached
onlyOwner // Only the owner of the ethFundDeposit address can finalize the contract
{
require(block.number > fundingEndBlock || totalSupply >= TOKEN_CREATION_CAP || totalReceivedEth >= ETH_RECEIVED_CAP); // Only allow to finalize the contract before the ending block if we already reached any of the two caps
// Move the contract to Finalized state
state = ContractState.Finalized;
savedState = ContractState.Finalized;
// Send the ETH to Nimiq Creators
ethFundDeposit.transfer(this.balance);
}
/// @dev Starts the redeeming period
function startRedeeming()
external
isFinalized // The redeeming period can only be started after the contract is finalized
onlyOwner // Only the owner of the ethFundDeposit address can start the redeeming period
{
// Move the contract to Redeeming state
state = ContractState.Redeeming;
savedState = ContractState.Redeeming;
}
/// @dev Pauses the contract
function pause()
external
notPaused // Prevent the contract getting stuck in the Paused state
onlyOwner // Only the owner of the ethFundDeposit address can pause the contract
{
// Move the contract to Paused state
savedState = state;
state = ContractState.Paused;
}
/// @dev Proceeds with the contract
function proceed()
external
isPaused
onlyOwner // Only the owner of the ethFundDeposit address can proceed with the contract
{
// Move the contract to the previous state
state = savedState;
}
/// @dev Allows contributors to recover their ether in case the minimum funding goal is not reached
function refund()
external
isFundraisingIgnorePaused // Refunding is only possible in the fundraising phase (no matter if paused) by definition
{
require(block.number > fundingEndBlock); // Prevents refund until fundraising period is over
require(totalReceivedEth < ETH_RECEIVED_MIN); // No refunds if the minimum has been reached
uint256 netVal = balances[msg.sender];
require(netVal > 0);
uint256 ethVal = ethBalances[msg.sender];
require(ethVal > 0);
// Update the state only after all the checks have passed
balances[msg.sender] = 0;
ethBalances[msg.sender] = 0;
totalSupply = safeSubtract(totalSupply, netVal); // Extra safe
// Log this refund
LogRefund(msg.sender, ethVal);
// Send the contributions only after we have updated all the balances
// If you're using a contract, make sure it works with .transfer() gas limits
msg.sender.transfer(ethVal);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"TOKEN_SECOND_EXCHANGE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_FIRST_EXCHANGE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"nimiqAddress","type":"bytes32"}],"name":"redeemTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"exchangeRateChangesBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"proceed","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalReceivedEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startRedeeming","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"retrieveEth","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_CREATION_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_ethFundDeposit","type":"address"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingEndBlock","type":"uint256"},{"name":"_exchangeRateChangesBlock","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogCreateNET","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_nimiqAddress","type":"bytes32"}],"name":"LogRedeemNET","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
60a0604052600360608190527f302e38000000000000000000000000000000000000000000000000000000000060809081526200003e9190816200013b565b50600060085534156200004d57fe5b6040516080806200163d83398101604090815281516020830151918301516060909301519092905b4383901115620000855760006000fd5b80831115620000945760006000fd5b81811115620000a35760006000fd5b600480546000919060a060020a60ff02191674010000000000000000000000000000000000000000835b0217905550600480546000919060a860020a60ff0219167501000000000000000000000000000000000000000000835b021790555060048054600160a060020a031916600160a060020a038616179055600583905560068290556007819055600080555b50505050620001e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017e57805160ff1916838001178555620001ae565b82800160010185558215620001ae579182015b82811115620001ae57825182559160200191906001019062000191565b5b50620001bd929150620001c1565b5090565b620001e291905b80821115620001bd5760008155600101620001c8565b5090565b90565b61144880620001f56000396000f3006060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e8b608811461017f57806306fdde03146101a1578063095ea7b314610231578063106f6a3d14610264578063168213491461028657806318160ddd146102a85780631fa3c372146102ca57806323b872dd146102df578063249f7aa0146103185780632a33fec61461033a578063313ce5671461034c5780634bb278f31461036e57806354fd4d5014610380578063590e1ae31461041057806370a08231146104225780637801fc3e146104505780638456cb591461047257806391b43d131461048457806395d89b41146104a6578063a81c3bdf14610536578063a9059cbb14610562578063b442726314610595578063c19d93fb1461059f578063d648a647146105d3578063d8e30740146105f5578063daf8f43814610617578063dd62ed3e14610629578063df5f06031461065d578063e74799b414610672578063f9fae4f714610694575bfe5b341561018757fe5b61018f6106b6565b60408051918252519081900360200190f35b34156101a957fe5b6101b16106bb565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023957fe5b610250600160a060020a03600435166024356106f2565b604080519115158252519081900360200190f35b341561026c57fe5b61018f61076a565b60408051918252519081900360200190f35b341561028e57fe5b61018f61076f565b60408051918252519081900360200190f35b34156102b057fe5b61018f61077d565b60408051918252519081900360200190f35b34156102d257fe5b6102dd600435610783565b005b34156102e757fe5b610250600160a060020a0360043581169060243516604435610846565b604080519115158252519081900360200190f35b341561032057fe5b61018f610892565b60408051918252519081900360200190f35b341561034257fe5b6102dd610898565b005b341561035457fe5b61018f61091d565b60408051918252519081900360200190f35b341561037657fe5b6102dd610922565b005b341561038857fe5b6101b1610a52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041857fe5b6102dd610ae0565b005b341561042a57fe5b61018f600160a060020a0360043516610c70565b60408051918252519081900360200190f35b341561045857fe5b61018f610c8f565b60408051918252519081900360200190f35b341561047a57fe5b6102dd610c95565b005b341561048c57fe5b61018f610d4c565b60408051918252519081900360200190f35b34156104ae57fe5b6101b1610d52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053e57fe5b610546610d89565b60408051600160a060020a039092168252519081900360200190f35b341561056a57fe5b610250600160a060020a0360043516602435610d98565b604080519115158252519081900360200190f35b6102dd610de2565b005b34156105a757fe5b6105af610f42565b604051808260038111156105bf57fe5b60ff16815260200191505060405180910390f35b34156105db57fe5b61018f610f52565b60408051918252519081900360200190f35b34156105fd57fe5b61018f610f58565b60408051918252519081900360200190f35b341561061f57fe5b6102dd610f66565b005b341561063157fe5b61018f600160a060020a036004358116906024351661100a565b60408051918252519081900360200190f35b341561066557fe5b6102dd600435611049565b005b341561067a57fe5b61018f6110cf565b60408051918252519081900360200190f35b341561069c57fe5b61018f6110db565b60408051918252519081900360200190f35b607d81565b60408051808201909152601b81527f4e696d6971204e6574776f726b20496e746572696d20546f6b656e0000000000602082015281565b600060023660441461070057fe5b600160a060020a03338116600081815260026020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60af81565b69010f0cf064dd5920000081565b60005481565b600060025b60045460a060020a900460ff1660038111156107a057fe5b146107ab5760006000fd5b50600160a060020a033316600090815260016020526040902054670de0b6b3a76400008110156107db5760006000fd5b6004546107f190600160a060020a0316826110ea565b15156107fd5760006000fd5b60408051828152602081018490528151600160a060020a033316927f32f07d013bbbed31ffbf01e74743d19f394b593429fd3c9c22e4ad2386fb897c928290030190a25b5b5050565b600060015b60045460a060020a900460ff16600381111561086357fe5b1461086e5760006000fd5b60033660641461087a57fe5b6108858585856111fe565b91505b5b505b9392505050565b60075481565b60035b60045460a060020a900460ff1660038111156108b357fe5b146108be5760006000fd5b60045433600160a060020a039081169116146108da5760006000fd5b6004805460ff60a860020a820416919074ff0000000000000000000000000000000000000000191660a060020a83600381111561091357fe5b02179055505b5b5b565b601281565b60005b60045460a060020a900460ff16600381111561093d57fe5b146109485760006000fd5b60085469010f0cf064dd592000009010156109635760006000fd5b60045433600160a060020a0390811691161461097f5760006000fd5b60065443118061099d57506000546a08af7623fb67bf1a8000009010155b806109b55750600854690cb49b44ba602d8000009010155b15156109c15760006000fd5b600480546001919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546001919075ff000000000000000000000000000000000000000000191660a860020a835b0217905550600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561091957fe5b5b5b5b5b565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505081565b600080805b60045460a060020a900460ff166003811115610afd57fe5b1480610b44575060035b60045460a060020a900460ff166003811115610b1f57fe5b148015610b44575060005b60045460a860020a900460ff166003811115610b4257fe5b145b5b1515610b515760006000fd5b6006544311610b605760006000fd5b60085469010f0cf064dd592000009010610b7a5760006000fd5b600160a060020a03331660009081526001602052604081205492508211610ba15760006000fd5b50600160a060020a033316600090815260096020526040812054908111610bc85760006000fd5b600160a060020a03331660009081526001602090815260408083208390556009909152812081905554610bfb908361138e565b600055604080518281529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561084157fe5b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b60085481565b60035b60045460a060020a900460ff166003811115610cb057fe5b1415610cbc5760006000fd5b60045433600160a060020a03908116911614610cd85760006000fd5b6004805460ff60a060020a820416919075ff000000000000000000000000000000000000000000191660a860020a836003811115610d1257fe5b0217905550600480546003919074ff0000000000000000000000000000000000000000191660a060020a83610913565b02179055505b5b5b565b60065481565b60408051808201909152600381527f4e45540000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a031681565b600060015b60045460a060020a900460ff166003811115610db557fe5b14610dc05760006000fd5b600236604414610dcc57fe5b610dd684846110ea565b91505b5b505b92915050565b60008080805b60045460a060020a900460ff166003811115610e0057fe5b14610e0b5760006000fd5b600554431015610e1b5760006000fd5b600654431115610e2b5760006000fd5b60003411610e395760006000fd5b610e45600854346113a9565b9250690cb49b44ba602d800000831115610e5f5760006000fd5b610e7034610e6b6113d1565b6113ed565b9150670de0b6b3a7640000821015610e885760006000fd5b610e94600054836113a9565b90506a08af7623fb67bf1a800000811115610eaf5760006000fd5b600160a060020a033316600090815260096020526040902054610ed290346113a9565b600160a060020a033316600081815260096020908152604080832094909455600887905584825560018152908390208054860190558251858152925191927fa851e2f6a23bffc9297b0cf5ce98ab7cc1c12bb5badfd864192c8f760ed58078929081900390910190a25b5b505050565b60045460a060020a900460ff1681565b60055481565b690cb49b44ba602d80000081565b60015b60045460a060020a900460ff166003811115610f8157fe5b14610f8c5760006000fd5b60045433600160a060020a03908116911614610fa85760006000fd5b600480546002919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546002919075ff000000000000000000000000000000000000000000191660a860020a83610913565b02179055505b5b5b565b600060023660441461101857fe5b600160a060020a0380851660009081526002602090815260408083209387168352929052205491505b5b5092915050565b60085469010f0cf064dd592000009010156110645760006000fd5b60045433600160a060020a039081169116146110805760006000fd5b600160a060020a033016318111156110985760006000fd5b600454604051600160a060020a039091169082156108fc029083906000818181858888f1935050505015156110c957fe5b5b5b5b50565b670de0b6b3a764000081565b6a08af7623fb67bf1a80000081565b600160a060020a0333166000908152600160205260408120548290108015906111135750600082115b80156111385750600160a060020a038316600090815260016020526040902054828101115b156111ef57600160a060020a033316600090815260016020526040902054611160908361138e565b600160a060020a03338116600090815260016020526040808220939093559085168152205461118f90836113a9565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001610ddc565b506000610ddc565b5b92915050565b600160a060020a03831660009081526001602052604081205482901080159061124e5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b801561125a5750600082115b801561127f5750600160a060020a038316600090815260016020526040902054828101115b1561137e57600160a060020a0383166000908152600160205260409020546112a790836113a9565b600160a060020a0380851660009081526001602052604080822093909355908616815220546112d6908361138e565b600160a060020a0380861660009081526001602090815260408083209490945560028152838220339093168252919091522054611313908361138e565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600161088b565b50600061088b565b5b9392505050565b6000808284101561139b57fe5b5050808203805b5092915050565b60008282018381108015906113be5750828110155b15156113c657fe5b8091505b5092915050565b60006007544310156113e5575060af6113e9565b50607d5b5b90565b60008282028315806113be575082848281151561140657fe5b04145b15156113c657fe5b8091505b50929150505600a165627a7a72305820ded3953a291dfd70cb7876ef7ecf2087935d6cd5b2e326321960d61488a9586f0029000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a500000000000000000000000000000000000000000000000000000000003c290e00000000000000000000000000000000000000000000000000000000003e45ea00000000000000000000000000000000000000000000000000000000003d377c
Deployed Bytecode
0x6060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e8b608811461017f57806306fdde03146101a1578063095ea7b314610231578063106f6a3d14610264578063168213491461028657806318160ddd146102a85780631fa3c372146102ca57806323b872dd146102df578063249f7aa0146103185780632a33fec61461033a578063313ce5671461034c5780634bb278f31461036e57806354fd4d5014610380578063590e1ae31461041057806370a08231146104225780637801fc3e146104505780638456cb591461047257806391b43d131461048457806395d89b41146104a6578063a81c3bdf14610536578063a9059cbb14610562578063b442726314610595578063c19d93fb1461059f578063d648a647146105d3578063d8e30740146105f5578063daf8f43814610617578063dd62ed3e14610629578063df5f06031461065d578063e74799b414610672578063f9fae4f714610694575bfe5b341561018757fe5b61018f6106b6565b60408051918252519081900360200190f35b34156101a957fe5b6101b16106bb565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023957fe5b610250600160a060020a03600435166024356106f2565b604080519115158252519081900360200190f35b341561026c57fe5b61018f61076a565b60408051918252519081900360200190f35b341561028e57fe5b61018f61076f565b60408051918252519081900360200190f35b34156102b057fe5b61018f61077d565b60408051918252519081900360200190f35b34156102d257fe5b6102dd600435610783565b005b34156102e757fe5b610250600160a060020a0360043581169060243516604435610846565b604080519115158252519081900360200190f35b341561032057fe5b61018f610892565b60408051918252519081900360200190f35b341561034257fe5b6102dd610898565b005b341561035457fe5b61018f61091d565b60408051918252519081900360200190f35b341561037657fe5b6102dd610922565b005b341561038857fe5b6101b1610a52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041857fe5b6102dd610ae0565b005b341561042a57fe5b61018f600160a060020a0360043516610c70565b60408051918252519081900360200190f35b341561045857fe5b61018f610c8f565b60408051918252519081900360200190f35b341561047a57fe5b6102dd610c95565b005b341561048c57fe5b61018f610d4c565b60408051918252519081900360200190f35b34156104ae57fe5b6101b1610d52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053e57fe5b610546610d89565b60408051600160a060020a039092168252519081900360200190f35b341561056a57fe5b610250600160a060020a0360043516602435610d98565b604080519115158252519081900360200190f35b6102dd610de2565b005b34156105a757fe5b6105af610f42565b604051808260038111156105bf57fe5b60ff16815260200191505060405180910390f35b34156105db57fe5b61018f610f52565b60408051918252519081900360200190f35b34156105fd57fe5b61018f610f58565b60408051918252519081900360200190f35b341561061f57fe5b6102dd610f66565b005b341561063157fe5b61018f600160a060020a036004358116906024351661100a565b60408051918252519081900360200190f35b341561066557fe5b6102dd600435611049565b005b341561067a57fe5b61018f6110cf565b60408051918252519081900360200190f35b341561069c57fe5b61018f6110db565b60408051918252519081900360200190f35b607d81565b60408051808201909152601b81527f4e696d6971204e6574776f726b20496e746572696d20546f6b656e0000000000602082015281565b600060023660441461070057fe5b600160a060020a03338116600081815260026020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60af81565b69010f0cf064dd5920000081565b60005481565b600060025b60045460a060020a900460ff1660038111156107a057fe5b146107ab5760006000fd5b50600160a060020a033316600090815260016020526040902054670de0b6b3a76400008110156107db5760006000fd5b6004546107f190600160a060020a0316826110ea565b15156107fd5760006000fd5b60408051828152602081018490528151600160a060020a033316927f32f07d013bbbed31ffbf01e74743d19f394b593429fd3c9c22e4ad2386fb897c928290030190a25b5b5050565b600060015b60045460a060020a900460ff16600381111561086357fe5b1461086e5760006000fd5b60033660641461087a57fe5b6108858585856111fe565b91505b5b505b9392505050565b60075481565b60035b60045460a060020a900460ff1660038111156108b357fe5b146108be5760006000fd5b60045433600160a060020a039081169116146108da5760006000fd5b6004805460ff60a860020a820416919074ff0000000000000000000000000000000000000000191660a060020a83600381111561091357fe5b02179055505b5b5b565b601281565b60005b60045460a060020a900460ff16600381111561093d57fe5b146109485760006000fd5b60085469010f0cf064dd592000009010156109635760006000fd5b60045433600160a060020a0390811691161461097f5760006000fd5b60065443118061099d57506000546a08af7623fb67bf1a8000009010155b806109b55750600854690cb49b44ba602d8000009010155b15156109c15760006000fd5b600480546001919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546001919075ff000000000000000000000000000000000000000000191660a860020a835b0217905550600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561091957fe5b5b5b5b5b565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505081565b600080805b60045460a060020a900460ff166003811115610afd57fe5b1480610b44575060035b60045460a060020a900460ff166003811115610b1f57fe5b148015610b44575060005b60045460a860020a900460ff166003811115610b4257fe5b145b5b1515610b515760006000fd5b6006544311610b605760006000fd5b60085469010f0cf064dd592000009010610b7a5760006000fd5b600160a060020a03331660009081526001602052604081205492508211610ba15760006000fd5b50600160a060020a033316600090815260096020526040812054908111610bc85760006000fd5b600160a060020a03331660009081526001602090815260408083208390556009909152812081905554610bfb908361138e565b600055604080518281529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561084157fe5b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b60085481565b60035b60045460a060020a900460ff166003811115610cb057fe5b1415610cbc5760006000fd5b60045433600160a060020a03908116911614610cd85760006000fd5b6004805460ff60a060020a820416919075ff000000000000000000000000000000000000000000191660a860020a836003811115610d1257fe5b0217905550600480546003919074ff0000000000000000000000000000000000000000191660a060020a83610913565b02179055505b5b5b565b60065481565b60408051808201909152600381527f4e45540000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a031681565b600060015b60045460a060020a900460ff166003811115610db557fe5b14610dc05760006000fd5b600236604414610dcc57fe5b610dd684846110ea565b91505b5b505b92915050565b60008080805b60045460a060020a900460ff166003811115610e0057fe5b14610e0b5760006000fd5b600554431015610e1b5760006000fd5b600654431115610e2b5760006000fd5b60003411610e395760006000fd5b610e45600854346113a9565b9250690cb49b44ba602d800000831115610e5f5760006000fd5b610e7034610e6b6113d1565b6113ed565b9150670de0b6b3a7640000821015610e885760006000fd5b610e94600054836113a9565b90506a08af7623fb67bf1a800000811115610eaf5760006000fd5b600160a060020a033316600090815260096020526040902054610ed290346113a9565b600160a060020a033316600081815260096020908152604080832094909455600887905584825560018152908390208054860190558251858152925191927fa851e2f6a23bffc9297b0cf5ce98ab7cc1c12bb5badfd864192c8f760ed58078929081900390910190a25b5b505050565b60045460a060020a900460ff1681565b60055481565b690cb49b44ba602d80000081565b60015b60045460a060020a900460ff166003811115610f8157fe5b14610f8c5760006000fd5b60045433600160a060020a03908116911614610fa85760006000fd5b600480546002919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546002919075ff000000000000000000000000000000000000000000191660a860020a83610913565b02179055505b5b5b565b600060023660441461101857fe5b600160a060020a0380851660009081526002602090815260408083209387168352929052205491505b5b5092915050565b60085469010f0cf064dd592000009010156110645760006000fd5b60045433600160a060020a039081169116146110805760006000fd5b600160a060020a033016318111156110985760006000fd5b600454604051600160a060020a039091169082156108fc029083906000818181858888f1935050505015156110c957fe5b5b5b5b50565b670de0b6b3a764000081565b6a08af7623fb67bf1a80000081565b600160a060020a0333166000908152600160205260408120548290108015906111135750600082115b80156111385750600160a060020a038316600090815260016020526040902054828101115b156111ef57600160a060020a033316600090815260016020526040902054611160908361138e565b600160a060020a03338116600090815260016020526040808220939093559085168152205461118f90836113a9565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001610ddc565b506000610ddc565b5b92915050565b600160a060020a03831660009081526001602052604081205482901080159061124e5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b801561125a5750600082115b801561127f5750600160a060020a038316600090815260016020526040902054828101115b1561137e57600160a060020a0383166000908152600160205260409020546112a790836113a9565b600160a060020a0380851660009081526001602052604080822093909355908616815220546112d6908361138e565b600160a060020a0380861660009081526001602090815260408083209490945560028152838220339093168252919091522054611313908361138e565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600161088b565b50600061088b565b5b9392505050565b6000808284101561139b57fe5b5050808203805b5092915050565b60008282018381108015906113be5750828110155b15156113c657fe5b8091505b5092915050565b60006007544310156113e5575060af6113e9565b50607d5b5b90565b60008282028315806113be575082848281151561140657fe5b04145b15156113c657fe5b8091505b50929150505600a165627a7a72305820ded3953a291dfd70cb7876ef7ecf2087935d6cd5b2e326321960d61488a9586f0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a500000000000000000000000000000000000000000000000000000000003c290e00000000000000000000000000000000000000000000000000000000003e45ea00000000000000000000000000000000000000000000000000000000003d377c
-----Decoded View---------------
Arg [0] : _ethFundDeposit (address): 0xEFa351D189c367D109859AFdF6f3D17EEb0825a5
Arg [1] : _fundingStartBlock (uint256): 3942670
Arg [2] : _fundingEndBlock (uint256): 4081130
Arg [3] : _exchangeRateChangesBlock (uint256): 4011900
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a5
Arg [1] : 00000000000000000000000000000000000000000000000000000000003c290e
Arg [2] : 00000000000000000000000000000000000000000000000000000000003e45ea
Arg [3] : 00000000000000000000000000000000000000000000000000000000003d377c
Swarm Source
bzzr://ded3953a291dfd70cb7876ef7ecf2087935d6cd5b2e326321960d61488a9586f
Loading...
Loading
Loading...
Loading
Net Worth in USD
$255.29
Net Worth in ETH
0.129842
Token Allocations
OMG
96.31%
USDT
1.96%
BSC-USD
1.44%
Others
0.29%
Multichain Portfolio | 34 Chains
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.