Source Code
Latest 25 from a total of 3,073 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Cancel | 3697389 | 3232 days ago | IN | 0 ETH | 0.02 | ||||
| Cancel | 3434555 | 3278 days ago | IN | 0 ETH | 0.00118076 | ||||
| Cancel | 3434553 | 3278 days ago | IN | 0 ETH | 0.0012186 | ||||
| Cancel | 3434548 | 3278 days ago | IN | 0 ETH | 0.0012186 | ||||
| Cancel | 3434546 | 3278 days ago | IN | 0 ETH | 0.0013541 | ||||
| Cancel | 3434544 | 3278 days ago | IN | 0 ETH | 0.00117888 | ||||
| Cancel | 3434541 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434538 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434535 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434531 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434528 | 3278 days ago | IN | 0 ETH | 0.0013541 | ||||
| Cancel | 3434526 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434524 | 3278 days ago | IN | 0 ETH | 0.0012186 | ||||
| Cancel | 3434522 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434520 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434517 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434514 | 3278 days ago | IN | 0 ETH | 0.00102718 | ||||
| Cancel | 3434510 | 3278 days ago | IN | 0 ETH | 0.00102718 | ||||
| Cancel | 3434508 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434504 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434501 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434498 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434495 | 3278 days ago | IN | 0 ETH | 0.00102574 | ||||
| Cancel | 3434491 | 3278 days ago | IN | 0 ETH | 0.00103076 | ||||
| Cancel | 3434489 | 3278 days ago | IN | 0 ETH | 0.00103076 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ExpiringMarket
Compiler Version
v0.4.8+commit.60cc1668
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-02-28
*/
/*
Copyright 2016, 2017 Nexus Development, LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
pragma solidity ^0.4.8;
// Token standard API
// https://github.com/ethereum/EIPs/issues/20
contract ERC20 {
function totalSupply() constant returns (uint supply);
function balanceOf( address who ) constant returns (uint value);
function allowance( address owner, address spender ) constant returns (uint _allowance);
function transfer( address to, uint value) returns (bool ok);
function transferFrom( address from, address to, uint value) returns (bool ok);
function approve( address spender, uint value ) returns (bool ok);
event Transfer( address indexed from, address indexed to, uint value);
event Approval( address indexed owner, address indexed spender, uint value);
}
contract EventfulMarket {
event ItemUpdate( uint id );
event Trade( uint sell_how_much, address indexed sell_which_token,
uint buy_how_much, address indexed buy_which_token );
event LogMake(
bytes32 indexed id,
bytes32 indexed pair,
address indexed maker,
ERC20 haveToken,
ERC20 wantToken,
uint128 haveAmount,
uint128 wantAmount,
uint64 timestamp
);
event LogTake(
bytes32 id,
bytes32 indexed pair,
address indexed maker,
ERC20 haveToken,
ERC20 wantToken,
address indexed taker,
uint128 takeAmount,
uint128 giveAmount,
uint64 timestamp
);
event LogKill(
bytes32 indexed id,
bytes32 indexed pair,
address indexed maker,
ERC20 haveToken,
ERC20 wantToken,
uint128 haveAmount,
uint128 wantAmount,
uint64 timestamp
);
}
contract SimpleMarket is EventfulMarket {
bool locked;
modifier synchronized {
assert(!locked);
locked = true;
_;
locked = false;
}
function assert(bool x) internal {
if (!x) throw;
}
struct OfferInfo {
uint sell_how_much;
ERC20 sell_which_token;
uint buy_how_much;
ERC20 buy_which_token;
address owner;
bool active;
}
mapping (uint => OfferInfo) public offers;
uint public last_offer_id;
function next_id() internal returns (uint) {
last_offer_id++; return last_offer_id;
}
modifier can_offer {
_;
}
modifier can_buy(uint id) {
assert(isActive(id));
_;
}
modifier can_cancel(uint id) {
assert(isActive(id));
assert(getOwner(id) == msg.sender);
_;
}
function isActive(uint id) constant returns (bool active) {
return offers[id].active;
}
function getOwner(uint id) constant returns (address owner) {
return offers[id].owner;
}
function getOffer( uint id ) constant returns (uint, ERC20, uint, ERC20) {
var offer = offers[id];
return (offer.sell_how_much, offer.sell_which_token,
offer.buy_how_much, offer.buy_which_token);
}
// non underflowing subtraction
function safeSub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
// non overflowing multiplication
function safeMul(uint a, uint b) internal returns (uint c) {
c = a * b;
assert(a == 0 || c / a == b);
}
function trade( address seller, uint sell_how_much, ERC20 sell_which_token,
address buyer, uint buy_how_much, ERC20 buy_which_token )
internal
{
var seller_paid_out = buy_which_token.transferFrom( buyer, seller, buy_how_much );
assert(seller_paid_out);
var buyer_paid_out = sell_which_token.transfer( buyer, sell_how_much );
assert(buyer_paid_out);
Trade( sell_how_much, sell_which_token, buy_how_much, buy_which_token );
}
// ---- Public entrypoints ---- //
function make(
ERC20 haveToken,
ERC20 wantToken,
uint128 haveAmount,
uint128 wantAmount
) returns (bytes32 id) {
return bytes32(offer(haveAmount, haveToken, wantAmount, wantToken));
}
function take(bytes32 id, uint128 maxTakeAmount) {
assert(buy(uint256(id), maxTakeAmount));
}
function kill(bytes32 id) {
assert(cancel(uint256(id)));
}
// Make a new offer. Takes funds from the caller into market escrow.
function offer( uint sell_how_much, ERC20 sell_which_token
, uint buy_how_much, ERC20 buy_which_token )
can_offer
synchronized
returns (uint id)
{
assert(uint128(sell_how_much) == sell_how_much);
assert(uint128(buy_how_much) == buy_how_much);
assert(sell_how_much > 0);
assert(sell_which_token != ERC20(0x0));
assert(buy_how_much > 0);
assert(buy_which_token != ERC20(0x0));
assert(sell_which_token != buy_which_token);
OfferInfo memory info;
info.sell_how_much = sell_how_much;
info.sell_which_token = sell_which_token;
info.buy_how_much = buy_how_much;
info.buy_which_token = buy_which_token;
info.owner = msg.sender;
info.active = true;
id = next_id();
offers[id] = info;
var seller_paid = sell_which_token.transferFrom( msg.sender, this, sell_how_much );
assert(seller_paid);
ItemUpdate(id);
LogMake(
bytes32(id),
sha3(sell_which_token, buy_which_token),
msg.sender,
sell_which_token,
buy_which_token,
uint128(sell_how_much),
uint128(buy_how_much),
uint64(now)
);
}
// Accept given `quantity` of an offer. Transfers funds from caller to
// offer maker, and from market to caller.
function buy( uint id, uint quantity )
can_buy(id)
synchronized
returns ( bool success )
{
assert(uint128(quantity) == quantity);
// read-only offer. Modify an offer by directly accessing offers[id]
OfferInfo memory offer = offers[id];
// inferred quantity that the buyer wishes to spend
uint spend = safeMul(quantity, offer.buy_how_much) / offer.sell_how_much;
assert(uint128(spend) == spend);
if ( spend > offer.buy_how_much || quantity > offer.sell_how_much ) {
// buyer wants more than is available
success = false;
} else if ( spend == offer.buy_how_much && quantity == offer.sell_how_much ) {
// buyer wants exactly what is available
delete offers[id];
trade( offer.owner, quantity, offer.sell_which_token,
msg.sender, spend, offer.buy_which_token );
ItemUpdate(id);
LogTake(
bytes32(id),
sha3(offer.sell_which_token, offer.buy_which_token),
offer.owner,
offer.sell_which_token,
offer.buy_which_token,
msg.sender,
uint128(offer.sell_how_much),
uint128(offer.buy_how_much),
uint64(now)
);
success = true;
} else if ( spend > 0 && quantity > 0 ) {
// buyer wants a fraction of what is available
offers[id].sell_how_much = safeSub(offer.sell_how_much, quantity);
offers[id].buy_how_much = safeSub(offer.buy_how_much, spend);
trade( offer.owner, quantity, offer.sell_which_token,
msg.sender, spend, offer.buy_which_token );
ItemUpdate(id);
LogTake(
bytes32(id),
sha3(offer.sell_which_token, offer.buy_which_token),
offer.owner,
offer.sell_which_token,
offer.buy_which_token,
msg.sender,
uint128(quantity),
uint128(spend),
uint64(now)
);
success = true;
} else {
// buyer wants an unsatisfiable amount (less than 1 integer)
success = false;
}
}
// Cancel an offer. Refunds offer maker.
function cancel( uint id )
can_cancel(id)
synchronized
returns ( bool success )
{
// read-only offer. Modify an offer by directly accessing offers[id]
OfferInfo memory offer = offers[id];
delete offers[id];
var seller_refunded = offer.sell_which_token.transfer( offer.owner , offer.sell_how_much );
assert(seller_refunded);
ItemUpdate(id);
LogKill(
bytes32(id),
sha3(offer.sell_which_token, offer.buy_which_token),
offer.owner,
offer.sell_which_token,
offer.buy_which_token,
uint128(offer.sell_how_much),
uint128(offer.buy_how_much),
uint64(now)
);
success = true;
}
}
// Simple Market with a market lifetime. When the lifetime has elapsed,
// offers can only be cancelled (offer and buy will throw).
contract ExpiringMarket is SimpleMarket {
uint public lifetime;
uint public close_time;
function ExpiringMarket(uint lifetime_) {
lifetime = lifetime_;
close_time = getTime() + lifetime_;
}
function getTime() constant returns (uint) {
return block.timestamp;
}
function isClosed() constant returns (bool closed) {
return (getTime() > close_time);
}
// after market lifetime has elapsed, no new offers are allowed
modifier can_offer {
assert(!isClosed());
_;
}
// after close, no new buys are allowed
modifier can_buy(uint id) {
assert(isActive(id));
assert(!isClosed());
_;
}
// after close, anyone can cancel an offer
modifier can_cancel(uint id) {
assert(isActive(id));
assert(isClosed() || (msg.sender == getOwner(id)));
_;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"haveToken","type":"address"},{"name":"wantToken","type":"address"},{"name":"haveAmount","type":"uint128"},{"name":"wantAmount","type":"uint128"}],"name":"make","outputs":[{"name":"id","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"last_offer_id","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"cancel","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getOffer","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"},{"name":"maxTakeAmount","type":"uint128"}],"name":"take","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"close_time","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lifetime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"isActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"offers","outputs":[{"name":"sell_how_much","type":"uint256"},{"name":"sell_which_token","type":"address"},{"name":"buy_how_much","type":"uint256"},{"name":"buy_which_token","type":"address"},{"name":"owner","type":"address"},{"name":"active","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isClosed","outputs":[{"name":"closed","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getOwner","outputs":[{"name":"owner","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"quantity","type":"uint256"}],"name":"buy","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sell_how_much","type":"uint256"},{"name":"sell_which_token","type":"address"},{"name":"buy_how_much","type":"uint256"},{"name":"buy_which_token","type":"address"}],"name":"offer","outputs":[{"name":"id","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"lifetime_","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"}],"name":"ItemUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sell_how_much","type":"uint256"},{"indexed":true,"name":"sell_which_token","type":"address"},{"indexed":false,"name":"buy_how_much","type":"uint256"},{"indexed":true,"name":"buy_which_token","type":"address"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"pair","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":false,"name":"haveToken","type":"address"},{"indexed":false,"name":"wantToken","type":"address"},{"indexed":false,"name":"haveAmount","type":"uint128"},{"indexed":false,"name":"wantAmount","type":"uint128"},{"indexed":false,"name":"timestamp","type":"uint64"}],"name":"LogMake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"bytes32"},{"indexed":true,"name":"pair","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":false,"name":"haveToken","type":"address"},{"indexed":false,"name":"wantToken","type":"address"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"takeAmount","type":"uint128"},{"indexed":false,"name":"giveAmount","type":"uint128"},{"indexed":false,"name":"timestamp","type":"uint64"}],"name":"LogTake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"pair","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":false,"name":"haveToken","type":"address"},{"indexed":false,"name":"wantToken","type":"address"},{"indexed":false,"name":"haveAmount","type":"uint128"},{"indexed":false,"name":"wantAmount","type":"uint128"},{"indexed":false,"name":"timestamp","type":"uint64"}],"name":"LogKill","type":"event"}]Contract Creation Code
6060604052346100005760405160208061123c83398101604052515b60038190558061003664010000000061074f61004182021704565b016004555b50610046565b425b90565b6111e7806100556000396000f300606060405236156100bf5763ffffffff60e060020a600035041663093f519881146100c4578063232cae0b1461010757806340e58ee5146101265780634579268a1461014a578063496064551461018b578063557ed1ba146101a95780636377ebca146101c857806369d24f63146101e757806382afd23b146102065780638a72ea6a1461022a578063b4f9b6c81461027b578063c2b6b58c1461028d578063c41a360a146102ae578063d6febde8146102da578063f09ea2a614610301575b610000565b34610000576100f5600160a060020a03600435811690602435166001608060020a0360443581169060643516610339565b60408051918252519081900360200190f35b34610000576100f5610364565b60408051918252519081900360200190f35b346100005761013660043561036a565b604080519115158252519081900360200190f35b346100005761015a6004356106f5565b60408051948552600160a060020a039384166020860152848101929092529091166060830152519081900360800190f35b34610000576101a76004356001608060020a036024351661072f565b005b34610000576100f561074f565b60408051918252519081900360200190f35b34610000576100f5610754565b60408051918252519081900360200190f35b34610000576100f561075a565b60408051918252519081900360200190f35b3461000057610136600435610760565b604080519115158252519081900360200190f35b346100005761023a600435610782565b60408051968752600160a060020a039586166020880152868101949094529184166060860152909216608084015290151560a0830152519081900360c00190f35b34610000576101a76004356107cb565b005b34610000576101366107e0565b604080519115158252519081900360200190f35b34610000576102be6004356107f4565b60408051600160a060020a039092168252519081900360200190f35b3461000057610136600435602435610815565b604080519115158252519081900360200190f35b34610000576100f5600435600160a060020a036024358116906044359060643516610cdb565b60408051918252519081900360200190f35b6000610359836001608060020a031686846001608060020a031687610cdb565b90505b949350505050565b60025481565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281836103ae6103a982610760565b610fde565b6103e26103b96107e0565b806103a957506103c8826107f4565b600160a060020a031633600160a060020a0316145b610fde565b6000546103f29060ff1615610fde565b6001600060006101000a81548160ff0219169083151502179055506001600086815260200190815260200160002060c06040519081016040529081600082015481526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016004820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016004820160149054906101000a900460ff161515151581525050925060016000868152602001908152602001600020600060008201600090556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a0302191690556004820160006101000a815490600160a060020a0302191690556004820160146101000a81549060ff021916905550508260200151600160a060020a031663a9059cbb846080015185600001516000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051519250610601905082610fde565b60408051868152905160008051602061119c8339815191529181900360200190a1608080840151602080860180516060808901805160408051606060020a600160a060020a039687168102825292861690920260148301528051918290036028018220955192518c51828e01519487168452908616978301979097526001608060020a0396871682820152959091169181019190915267ffffffffffffffff4216958101959095529151919092169288917f9577941d28fff863bfbee4694a6a4a56fb09e169619189d2eaa750b5b48199959181900360a00190a4600193505b6000805460ff191690555b5b505050919050565b600081815260016020819052604090912080549181015460028201546003830154600160a060020a0392831693919216905b509193509193565b61074a6103a9836001608060020a038416610815565b610fde565b5b5050565b425b90565b60045481565b60035481565b60008181526001602052604090206004015460a060020a900460ff165b919050565b600160208190526000918252604090912080549181015460028201546003830154600490930154600160a060020a039283169391929182169181169060a060020a900460ff1686565b6107dc6103a98261036a565b610fde565b5b50565b60006004546107ed61074f565b1190505b90565b600081815260016020526040902060040154600160a060020a03165b919050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281846108596103a982610760565b610fde565b61086a6108646107e0565b15610fde565b60005461087a9060ff1615610fde565b6000805460ff1916600117905561089b6001608060020a0386168614610fde565b600086815260016020818152604092839020835160c081018552815480825293820154600160a060020a03908116938201939093526002820154948101859052600382015483166060820152600490910154918216608082015260a060020a90910460ff16151560a0820152945090610915908790610fee565b81156100005704915061093282836001608060020a031614610fde565b82604001518211806109445750825185115b156109525760009350610cc3565b8260400151821480156109655750825185145b15610b615760008681526001602081815260408320838155918201805473ffffffffffffffffffffffffffffffffffffffff199081169091556002830193909355600382018054909316909255600401805474ffffffffffffffffffffffffffffffffffffffffff1916905560808401519084015160608501516109ef9291889133908790611014565b60408051878152905160008051602061119c8339815191529181900360200190a133600160a060020a03168360800151600160a060020a0316846020015185606001516040518083600160a060020a0316600160a060020a0316606060020a02815260140182600160a060020a0316600160a060020a0316606060020a028152601401925050506040518091039020600019167f3383e3357c77fd2e3a4b30deea81179bc70a795d053d14d5b7f2f01d0fd4596f896001028760200151886060015189600001518a604001514260405180876000191660001916815260200186600160a060020a0316600160a060020a0316815260200185600160a060020a0316600160a060020a03168152602001846001608060020a03166001608060020a03168152602001836001608060020a03166001608060020a031681526020018267ffffffffffffffff1667ffffffffffffffff168152602001965050505050505060405180910390a460019350610cc3565b600082118015610b715750600085115b15610cbe578251610b829086611173565b6000878152600160205260409081902091909155830151610ba39083611173565b6001600088815260200190815260200160002060020181905550610bd7836080015186856020015133868860600151611014565b60408051878152905160008051602061119c8339815191529181900360200190a1608080840151602080860180516060808901805160408051606060020a600160a060020a039687168102825292861690920260148301528051918290036028018220955192518f835292851696820196909652908316818601526001608060020a03808d16928201929092529088169581019590955267ffffffffffffffff421660a0860152915133831694939092169290917f3383e3357c77fd2e3a4b30deea81179bc70a795d053d14d5b7f2f01d0fd4596f9181900360c00190a460019350610cc3565b600093505b5b5b5b6000805460ff191690555b5b50505092915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281610d1e6108646107e0565b15610fde565b600054610d2e9060ff1615610fde565b6000805460ff19166001179055610d4f6001608060020a0388168814610fde565b610d6385866001608060020a031614610fde565b610d6f60008811610fde565b610d83600160a060020a0387161515610fde565b610d8f60008611610fde565b610da3600160a060020a0385161515610fde565b610dc184600160a060020a031687600160a060020a03161415610fde565b868252600160a060020a03808716602084015260408301869052848116606084015233166080830152600160a0830152610df961118c565b600081815260016020818152604080842087518155828801519381018054600160a060020a0395861673ffffffffffffffffffffffffffffffffffffffff1991821617909155828901516002830155606089015160038301805491871691831691909117905560808901516004928301805460a08c0151151560a060020a0274ff00000000000000000000000000000000000000001993891691909416179190911691909117905581518301859052815160e060020a6323b872dd028152338516918101919091523084166024820152604481018d90529051949750918a16936323b872dd936064808501948390030190829087803b156100005760325a03f115610000575050604051519150610f11905081610fde565b60408051848152905160008051602061119c8339815191529181900360200190a160408051600160a060020a03888116606060020a81810284528883169081026014850152845160289481900394909401842091845260208401526001608060020a038b811684860152891660608401524267ffffffffffffffff166080840152925133909116929186917f773ff502687307abfa024ac9f62f9752a0d210dac2ffd9a29e38e12e2ea82c829160a0908290030190a45b6000805460ff191690555b5b5050949350505050565b8015156107dc57610000565b5b50565b81810261100d8315806103a9575082848381156100005704145b610fde565b5b92915050565b6040805160006020918201819052825160e060020a6323b872dd028152600160a060020a0387811660048301528a8116602483015260448201879052935191938493908616926323b872dd92606480820193929182900301818787803b156100005760325a03f115610000575050604051519250611093905082610fde565b85600160a060020a031663a9059cbb86896000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051519150611115905081610fde565b82600160a060020a031686600160a060020a03167fa5ca35f5c7b1c108bbc4c25279f619f720805890f993005d9f00ef1e32663f9b8987604051808381526020018281526020019250505060405180910390a35b5050505050505050565b600061118183831115610fde565b508082035b92915050565b60028054600101908190555b905600de857d2761836ca6234345c7f7f4c783271ed7d1aedf9268b3fe32800d186fdea165627a7a723058205ec7419a11f6ad1be3156d3238c3f496e9b29b48ab069676c709c477e8b3c5740029000000000000000000000000000000000000000000000000000000000024ea00
Deployed Bytecode
0x606060405236156100bf5763ffffffff60e060020a600035041663093f519881146100c4578063232cae0b1461010757806340e58ee5146101265780634579268a1461014a578063496064551461018b578063557ed1ba146101a95780636377ebca146101c857806369d24f63146101e757806382afd23b146102065780638a72ea6a1461022a578063b4f9b6c81461027b578063c2b6b58c1461028d578063c41a360a146102ae578063d6febde8146102da578063f09ea2a614610301575b610000565b34610000576100f5600160a060020a03600435811690602435166001608060020a0360443581169060643516610339565b60408051918252519081900360200190f35b34610000576100f5610364565b60408051918252519081900360200190f35b346100005761013660043561036a565b604080519115158252519081900360200190f35b346100005761015a6004356106f5565b60408051948552600160a060020a039384166020860152848101929092529091166060830152519081900360800190f35b34610000576101a76004356001608060020a036024351661072f565b005b34610000576100f561074f565b60408051918252519081900360200190f35b34610000576100f5610754565b60408051918252519081900360200190f35b34610000576100f561075a565b60408051918252519081900360200190f35b3461000057610136600435610760565b604080519115158252519081900360200190f35b346100005761023a600435610782565b60408051968752600160a060020a039586166020880152868101949094529184166060860152909216608084015290151560a0830152519081900360c00190f35b34610000576101a76004356107cb565b005b34610000576101366107e0565b604080519115158252519081900360200190f35b34610000576102be6004356107f4565b60408051600160a060020a039092168252519081900360200190f35b3461000057610136600435602435610815565b604080519115158252519081900360200190f35b34610000576100f5600435600160a060020a036024358116906044359060643516610cdb565b60408051918252519081900360200190f35b6000610359836001608060020a031686846001608060020a031687610cdb565b90505b949350505050565b60025481565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281836103ae6103a982610760565b610fde565b6103e26103b96107e0565b806103a957506103c8826107f4565b600160a060020a031633600160a060020a0316145b610fde565b6000546103f29060ff1615610fde565b6001600060006101000a81548160ff0219169083151502179055506001600086815260200190815260200160002060c06040519081016040529081600082015481526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016004820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016004820160149054906101000a900460ff161515151581525050925060016000868152602001908152602001600020600060008201600090556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a0302191690556004820160006101000a815490600160a060020a0302191690556004820160146101000a81549060ff021916905550508260200151600160a060020a031663a9059cbb846080015185600001516000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051519250610601905082610fde565b60408051868152905160008051602061119c8339815191529181900360200190a1608080840151602080860180516060808901805160408051606060020a600160a060020a039687168102825292861690920260148301528051918290036028018220955192518c51828e01519487168452908616978301979097526001608060020a0396871682820152959091169181019190915267ffffffffffffffff4216958101959095529151919092169288917f9577941d28fff863bfbee4694a6a4a56fb09e169619189d2eaa750b5b48199959181900360a00190a4600193505b6000805460ff191690555b5b505050919050565b600081815260016020819052604090912080549181015460028201546003830154600160a060020a0392831693919216905b509193509193565b61074a6103a9836001608060020a038416610815565b610fde565b5b5050565b425b90565b60045481565b60035481565b60008181526001602052604090206004015460a060020a900460ff165b919050565b600160208190526000918252604090912080549181015460028201546003830154600490930154600160a060020a039283169391929182169181169060a060020a900460ff1686565b6107dc6103a98261036a565b610fde565b5b50565b60006004546107ed61074f565b1190505b90565b600081815260016020526040902060040154600160a060020a03165b919050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281846108596103a982610760565b610fde565b61086a6108646107e0565b15610fde565b60005461087a9060ff1615610fde565b6000805460ff1916600117905561089b6001608060020a0386168614610fde565b600086815260016020818152604092839020835160c081018552815480825293820154600160a060020a03908116938201939093526002820154948101859052600382015483166060820152600490910154918216608082015260a060020a90910460ff16151560a0820152945090610915908790610fee565b81156100005704915061093282836001608060020a031614610fde565b82604001518211806109445750825185115b156109525760009350610cc3565b8260400151821480156109655750825185145b15610b615760008681526001602081815260408320838155918201805473ffffffffffffffffffffffffffffffffffffffff199081169091556002830193909355600382018054909316909255600401805474ffffffffffffffffffffffffffffffffffffffffff1916905560808401519084015160608501516109ef9291889133908790611014565b60408051878152905160008051602061119c8339815191529181900360200190a133600160a060020a03168360800151600160a060020a0316846020015185606001516040518083600160a060020a0316600160a060020a0316606060020a02815260140182600160a060020a0316600160a060020a0316606060020a028152601401925050506040518091039020600019167f3383e3357c77fd2e3a4b30deea81179bc70a795d053d14d5b7f2f01d0fd4596f896001028760200151886060015189600001518a604001514260405180876000191660001916815260200186600160a060020a0316600160a060020a0316815260200185600160a060020a0316600160a060020a03168152602001846001608060020a03166001608060020a03168152602001836001608060020a03166001608060020a031681526020018267ffffffffffffffff1667ffffffffffffffff168152602001965050505050505060405180910390a460019350610cc3565b600082118015610b715750600085115b15610cbe578251610b829086611173565b6000878152600160205260409081902091909155830151610ba39083611173565b6001600088815260200190815260200160002060020181905550610bd7836080015186856020015133868860600151611014565b60408051878152905160008051602061119c8339815191529181900360200190a1608080840151602080860180516060808901805160408051606060020a600160a060020a039687168102825292861690920260148301528051918290036028018220955192518f835292851696820196909652908316818601526001608060020a03808d16928201929092529088169581019590955267ffffffffffffffff421660a0860152915133831694939092169290917f3383e3357c77fd2e3a4b30deea81179bc70a795d053d14d5b7f2f01d0fd4596f9181900360c00190a460019350610cc3565b600093505b5b5b5b6000805460ff191690555b5b50505092915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905281610d1e6108646107e0565b15610fde565b600054610d2e9060ff1615610fde565b6000805460ff19166001179055610d4f6001608060020a0388168814610fde565b610d6385866001608060020a031614610fde565b610d6f60008811610fde565b610d83600160a060020a0387161515610fde565b610d8f60008611610fde565b610da3600160a060020a0385161515610fde565b610dc184600160a060020a031687600160a060020a03161415610fde565b868252600160a060020a03808716602084015260408301869052848116606084015233166080830152600160a0830152610df961118c565b600081815260016020818152604080842087518155828801519381018054600160a060020a0395861673ffffffffffffffffffffffffffffffffffffffff1991821617909155828901516002830155606089015160038301805491871691831691909117905560808901516004928301805460a08c0151151560a060020a0274ff00000000000000000000000000000000000000001993891691909416179190911691909117905581518301859052815160e060020a6323b872dd028152338516918101919091523084166024820152604481018d90529051949750918a16936323b872dd936064808501948390030190829087803b156100005760325a03f115610000575050604051519150610f11905081610fde565b60408051848152905160008051602061119c8339815191529181900360200190a160408051600160a060020a03888116606060020a81810284528883169081026014850152845160289481900394909401842091845260208401526001608060020a038b811684860152891660608401524267ffffffffffffffff166080840152925133909116929186917f773ff502687307abfa024ac9f62f9752a0d210dac2ffd9a29e38e12e2ea82c829160a0908290030190a45b6000805460ff191690555b5b5050949350505050565b8015156107dc57610000565b5b50565b81810261100d8315806103a9575082848381156100005704145b610fde565b5b92915050565b6040805160006020918201819052825160e060020a6323b872dd028152600160a060020a0387811660048301528a8116602483015260448201879052935191938493908616926323b872dd92606480820193929182900301818787803b156100005760325a03f115610000575050604051519250611093905082610fde565b85600160a060020a031663a9059cbb86896000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051519150611115905081610fde565b82600160a060020a031686600160a060020a03167fa5ca35f5c7b1c108bbc4c25279f619f720805890f993005d9f00ef1e32663f9b8987604051808381526020018281526020019250505060405180910390a35b5050505050505050565b600061118183831115610fde565b508082035b92915050565b60028054600101908190555b905600de857d2761836ca6234345c7f7f4c783271ed7d1aedf9268b3fe32800d186fdea165627a7a723058205ec7419a11f6ad1be3156d3238c3f496e9b29b48ab069676c709c477e8b3c5740029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000024ea00
-----Decoded View---------------
Arg [0] : lifetime_ (uint256): 2419200
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000024ea00
Swarm Source
bzzr://5ec7419a11f6ad1be3156d3238c3f496e9b29b48ab069676c709c477e8b3c574
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.