Source Code
Overview
ETH Balance
0.0000301 ETH
Eth Value
$0.06 (@ $1,950.91/ETH)Latest 7 from a total of 7 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Buy | 3640196 | 3217 days ago | IN | 0.00001 ETH | 0.00315144 | ||||
| Accept | 3562202 | 3231 days ago | IN | 0 ETH | 0.00120242 | ||||
| Reject | 3436539 | 3252 days ago | IN | 0 ETH | 0.0016423 | ||||
| Accept | 3434807 | 3252 days ago | IN | 0 ETH | 0.00120242 | ||||
| Buy | 3434807 | 3252 days ago | IN | 0.00001 ETH | 0.00315144 | ||||
| Buy | 3434276 | 3253 days ago | IN | 0.00001 ETH | 0.00345144 | ||||
| Buy | 3434256 | 3253 days ago | IN | 0.00001 ETH | 0.00435016 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 3436539 | 3252 days ago | 0.0000099 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x93F28d71...3c98819F2 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
EscrowGoods
Compiler Version
v0.4.4+commit.4633f3de
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-06-28
*/
/* A contract to store goods with escrowed funds. */
/* Deployment:
Contract:
Owner: seller
Last address: dynamic
ABI: [{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"escrows","outputs":[{"name":"buyer","type":"address"},{"name":"lockedFunds","type":"uint256"},{"name":"frozenFunds","type":"uint256"},{"name":"frozenTime","type":"uint64"},{"name":"count","type":"uint16"},{"name":"buyerNo","type":"bool"},{"name":"sellerNo","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"seller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"freezePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"},{"name":"_count","type":"uint16"}],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"status","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rewardPromille","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"}],"name":"getMoney","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"no","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"reject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"accept","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalEscrows","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_who","type":"address"},{"name":"_payment","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"arbYes","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeFunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"yes","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"buyers","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"availableCount","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contentCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"logsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unbuy","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getFees","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feePromille","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pendingCount","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"addDescription","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"arbiter","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_arbiter","type":"address"},{"name":"_freezePeriod","type":"uint256"},{"name":"_feePromille","type":"uint256"},{"name":"_rewardPromille","type":"uint256"},{"name":"_count","type":"uint16"},{"name":"_price","type":"uint256"}],"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"LogDebug","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lockId","type":"uint256"},{"indexed":false,"name":"dataInfo","type":"string"},{"indexed":true,"name":"version","type":"uint256"},{"indexed":false,"name":"eventType","type":"uint16"},{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"count","type":"uint256"},{"indexed":false,"name":"payment","type":"uint256"}],"name":"LogEvent","type":"event"}]
Optimized: yes
Solidity version: v0.4.4
*/
pragma solidity ^0.4.0;
contract EscrowGoods {
struct EscrowInfo {
address buyer;
uint lockedFunds;
uint frozenFunds;
uint64 frozenTime;
uint16 count;
bool buyerNo;
bool sellerNo;
}
//enum GoodsStatus
uint16 constant internal None = 0;
uint16 constant internal Available = 1;
uint16 constant internal Canceled = 2;
//enum EventTypes
uint16 constant internal Buy = 1;
uint16 constant internal Accept = 2;
uint16 constant internal Reject = 3;
uint16 constant internal Cancel = 4;
uint16 constant internal Description = 10;
uint16 constant internal Unlock = 11;
uint16 constant internal Freeze = 12;
uint16 constant internal Resolved = 13;
//data
uint constant arbitrationPeriod = 30 days;
uint constant safeGas = 25000;
//seller/owner of the goods
address public seller;
//event counters
uint public contentCount = 0;
uint public logsCount = 0;
//escrow related
address public arbiter;
uint public freezePeriod;
//each lock fee in promilles.
uint public feePromille;
//reward in promilles. promille = percent * 10, eg 1,5% reward = 15 rewardPromille
uint public rewardPromille;
uint public feeFunds;
uint public totalEscrows;
mapping (uint => EscrowInfo) public escrows;
//goods related
//status of the goods: see GoodsStatus enum
uint16 public status;
//how many for sale
uint16 public count;
uint16 public availableCount;
uint16 public pendingCount;
//price per item
uint public price;
mapping (address => bool) public buyers;
bool private atomicLock;
//events
event LogDebug(string message);
event LogEvent(uint indexed lockId, string dataInfo, uint indexed version, uint16 eventType, address indexed sender, uint count, uint payment);
modifier onlyOwner {
if (msg.sender != seller)
throw;
_;
}
modifier onlyArbiter {
if (msg.sender != arbiter)
throw;
_;
}
//modules
function EscrowGoods(address _arbiter, uint _freezePeriod, uint _feePromille, uint _rewardPromille,
uint16 _count, uint _price) {
seller = msg.sender;
// all variables are always initialized to 0, save gas
//escrow related
arbiter = _arbiter;
freezePeriod = _freezePeriod;
feePromille = _feePromille;
rewardPromille = _rewardPromille;
//goods related
status = Available;
count = _count;
price = _price;
availableCount = count;
}
//helpers for events with counter
function logDebug(string message) internal {
logsCount++;
LogDebug(message);
}
function logEvent(uint lockId, string dataInfo, uint version, uint16 eventType,
address sender, uint count, uint payment) internal {
contentCount++;
LogEvent(lockId, dataInfo, version, eventType, sender, count, payment);
}
function kill() onlyOwner {
//do not allow killing contract with active escrows
if(totalEscrows > 0) {
logDebug("totalEscrows > 0");
return;
}
//do not allow killing contract with unclaimed escrow fees
if(feeFunds > 0) {
logDebug("feeFunds > 0");
return;
}
suicide(msg.sender);
}
function safeSend(address addr, uint value) internal {
if(atomicLock) throw;
atomicLock = true;
if (!(addr.call.gas(safeGas).value(value)())) {
atomicLock = false;
throw;
}
atomicLock = false;
}
//escrow API
//vote YES - immediately sends funds to the peer
function yes(uint _lockId, string _dataInfo, uint _version) {
EscrowInfo info = escrows[_lockId];
if(info.lockedFunds == 0) {
logDebug("info.lockedFunds == 0");
return;
}
if(msg.sender != info.buyer && msg.sender != seller) {
logDebug("msg.sender != info.buyer && msg.sender != seller");
return;
}
uint payment = info.lockedFunds;
if(payment > this.balance) {
//HACK: should not get here - funds cannot be unlocked in this case
logDebug("payment > this.balance");
return;
}
if(msg.sender == info.buyer) {
//send funds to seller
safeSend(seller, payment);
} else if(msg.sender == seller) {
//send funds to buyer
safeSend(info.buyer, payment);
} else {
//HACK: should not get here
logDebug("unknown msg.sender");
return;
}
//remove record from escrows
if(totalEscrows > 0) totalEscrows -= 1;
info.lockedFunds = 0;
logEvent(_lockId, _dataInfo, _version, Unlock, msg.sender, info.count, payment);
}
//vote NO - freeze funds for arbitration
function no(uint _lockId, string _dataInfo, uint _version) {
EscrowInfo info = escrows[_lockId];
if(info.lockedFunds == 0) {
logDebug("info.lockedFunds == 0");
return;
}
if(msg.sender != info.buyer && msg.sender != seller) {
logDebug("msg.sender != info.buyer && msg.sender != seller");
return;
}
//freeze funds
//only allow one time freeze
if(info.frozenFunds == 0) {
info.frozenFunds = info.lockedFunds;
info.frozenTime = uint64(now);
}
if(msg.sender == info.buyer) {
info.buyerNo = true;
}
else if(msg.sender == seller) {
info.sellerNo = true;
} else {
//HACK: should not get here
logDebug("unknown msg.sender");
return;
}
logEvent(_lockId, _dataInfo, _version, Freeze, msg.sender, info.count, info.lockedFunds);
}
//arbiter's decision on the case.
//arbiter can only decide when both buyer and seller voted NO
//arbiter decides on his own reward but not bigger than announced percentage (rewardPromille)
function arbYes(uint _lockId, address _who, uint _payment, string _dataInfo, uint _version) onlyArbiter {
EscrowInfo info = escrows[_lockId];
if(info.lockedFunds == 0) {
logDebug("info.lockedFunds == 0");
return;
}
if(info.frozenFunds == 0) {
logDebug("info.frozenFunds == 0");
return;
}
if(_who != seller && _who != info.buyer) {
logDebug("_who != seller && _who != info.buyer");
return;
}
//requires both NO to arbitration
if(!info.buyerNo || !info.sellerNo) {
logDebug("!info.buyerNo || !info.sellerNo");
return;
}
if(_payment > info.lockedFunds) {
logDebug("_payment > info.lockedFunds");
return;
}
if(_payment > this.balance) {
//HACK: should not get here - funds cannot be unlocked in this case
logDebug("_payment > this.balance");
return;
}
//limit payment
uint reward = (info.lockedFunds * rewardPromille) / 1000;
if(reward > (info.lockedFunds - _payment)) {
logDebug("reward > (info.lockedFunds - _payment)");
return;
}
//send funds to the winner
safeSend(_who, _payment);
//send the rest as reward
info.lockedFunds -= _payment;
feeFunds += info.lockedFunds;
info.lockedFunds = 0;
logEvent(_lockId, _dataInfo, _version, Resolved, msg.sender, info.count, _payment);
}
//allow arbiter to get his collected fees
function getFees() onlyArbiter {
if(feeFunds > this.balance) {
//HACK: should not get here - funds cannot be unlocked in this case
logDebug("feeFunds > this.balance");
return;
}
safeSend(arbiter, feeFunds);
feeFunds = 0;
}
//allow buyer or seller to take timeouted funds.
//buyer can get funds if seller is silent and seller can get funds if buyer is silent (after freezePeriod)
//buyer can get back funds under arbitration if arbiter is silent (after arbitrationPeriod)
function getMoney(uint _lockId) {
EscrowInfo info = escrows[_lockId];
if(info.lockedFunds == 0) {
logDebug("info.lockedFunds == 0");
return;
}
//HACK: this check is necessary since frozenTime == 0 at escrow creation
if(info.frozenFunds == 0) {
logDebug("info.frozenFunds == 0");
return;
}
//timout for voting not over yet
if(now < (info.frozenTime + freezePeriod)) {
logDebug("now < (info.frozenTime + freezePeriod)");
return;
}
uint payment = info.lockedFunds;
if(payment > this.balance) {
//HACK: should not get here - funds cannot be unlocked in this case
logDebug("payment > this.balance");
return;
}
//both has voted - money is under arbitration
if(info.buyerNo && info.sellerNo) {
//arbitration timeout is not over yet
if(now < (info.frozenTime + freezePeriod + arbitrationPeriod)) {
logDebug("now < (info.frozenTime + freezePeriod + arbitrationPeriod)");
return;
}
//arbiter was silent so redeem the funds to the buyer
safeSend(info.buyer, payment);
info.lockedFunds = 0;
return;
}
if(info.buyerNo) {
safeSend(info.buyer, payment);
info.lockedFunds = 0;
return;
}
if(info.sellerNo) {
safeSend(seller, payment);
info.lockedFunds = 0;
return;
}
}
//goods API
//add new description to the goods
function addDescription(string _dataInfo, uint _version) onlyOwner {
//Accept order to event log
logEvent(0, _dataInfo, _version, Description, msg.sender, 0, 0);
}
//buy with escrow. id - escrow info id
function buy(uint _lockId, string _dataInfo, uint _version, uint16 _count) payable {
//reject money transfers for bad item status
if(status != Available) throw;
if(msg.value < (price * _count)) throw;
if(_count > availableCount) throw;
if(_count == 0) throw;
if(feePromille > 1000) throw;
if(rewardPromille > 1000) throw;
if((feePromille + rewardPromille) > 1000) throw;
//create default EscrowInfo struct or access existing
EscrowInfo info = escrows[_lockId];
//lock only once for a given id
if(info.lockedFunds > 0) throw;
//lock funds
uint fee = (msg.value * feePromille) / 1000;
//limit fees
if(fee > msg.value) throw;
uint funds = (msg.value - fee);
feeFunds += fee;
totalEscrows += 1;
info.buyer = msg.sender;
info.lockedFunds = funds;
info.frozenFunds = 0;
info.buyerNo = false;
info.sellerNo = false;
info.count = _count;
pendingCount += _count;
buyers[msg.sender] = true;
//Buy order to event log
logEvent(_lockId, _dataInfo, _version, Buy, msg.sender, _count, msg.value);
}
function accept(uint _lockId, string _dataInfo, uint _version) onlyOwner {
EscrowInfo info = escrows[_lockId];
if(info.count > availableCount) {
logDebug("info.count > availableCount");
return;
}
if(info.count > pendingCount) {
logDebug("info.count > pendingCount");
return;
}
pendingCount -= info.count;
availableCount -= info.count;
//Accept order to event log
logEvent(_lockId, _dataInfo, _version, Accept, msg.sender, info.count, info.lockedFunds);
}
function reject(uint _lockId, string _dataInfo, uint _version) onlyOwner {
EscrowInfo info = escrows[_lockId];
if(info.count > pendingCount) {
logDebug("info.count > pendingCount");
return;
}
pendingCount -= info.count;
//send money back
yes(_lockId, _dataInfo, _version);
//Reject order to event log
//HACK: "yes" call above may fail and this event will be non-relevant. Do not rely on it.
logEvent(_lockId, _dataInfo, _version, Reject, msg.sender, info.count, info.lockedFunds);
}
function cancel(string _dataInfo, uint _version) onlyOwner {
//Canceled status
status = Canceled;
//Cancel order to event log
logEvent(0, _dataInfo, _version, Cancel, msg.sender, availableCount, 0);
}
//remove buyer from the watchlist
function unbuy() {
buyers[msg.sender] = false;
}
function () {
throw;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"escrows","outputs":[{"name":"buyer","type":"address"},{"name":"lockedFunds","type":"uint256"},{"name":"frozenFunds","type":"uint256"},{"name":"frozenTime","type":"uint64"},{"name":"count","type":"uint16"},{"name":"buyerNo","type":"bool"},{"name":"sellerNo","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"seller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"freezePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"},{"name":"_count","type":"uint16"}],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"status","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rewardPromille","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"}],"name":"getMoney","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"no","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"reject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"accept","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalEscrows","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_who","type":"address"},{"name":"_payment","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"arbYes","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeFunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_lockId","type":"uint256"},{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"yes","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"buyers","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"availableCount","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contentCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"logsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unbuy","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getFees","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feePromille","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pendingCount","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_dataInfo","type":"string"},{"name":"_version","type":"uint256"}],"name":"addDescription","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"arbiter","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_arbiter","type":"address"},{"name":"_freezePeriod","type":"uint256"},{"name":"_feePromille","type":"uint256"},{"name":"_rewardPromille","type":"uint256"},{"name":"_count","type":"uint16"},{"name":"_price","type":"uint256"}],"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"LogDebug","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lockId","type":"uint256"},{"indexed":false,"name":"dataInfo","type":"string"},{"indexed":true,"name":"version","type":"uint256"},{"indexed":false,"name":"eventType","type":"uint16"},{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"count","type":"uint256"},{"indexed":false,"name":"payment","type":"uint256"}],"name":"LogEvent","type":"event"}]Contract Creation Code
0x606060408190526000600181905560025560c0806119298339610120604052905160805160a051925160e0516101005193949293600080546c01000000000000000000000000338102819004600160a060020a031992831617909255600380548984029390930492909116919091179055600485905560058490556006839055600a8054600b8390557e0100000000000000000000000000000000000000000000000000000000000062010000858202829004810263ffff00001961ffff19909416600117939093169290921791820461ffff168102046401000000000265ffff000000001990911617905550505050505061182a806100ff6000396000f3606060405236156101485760e060020a6000350463012f52ee811461015557806306661abd146101bd57806306909f69146101d657806308551a53146102425780630a3cb663146102595780630fb59f9514610267578063200d2ed2146102d0578063309e21a9146102e25780633262fd9a146102f057806334d24bff1461034257806341c0e1b5146103d65780634ca18ebd146103f9578063553bf56d1461046557806363ee7c8d146104d15780636958420b146104df5780636fd637281461055457806395a5dfc01461056257806397a993aa146105b85780639e05c118146105d8578063a035b1fe146105f3578063cc45969614610601578063cd1f83931461060f578063ceb98dc71461061d578063db8d55f114610647578063dc3ef6851461066a578063ea70b4af14610678578063eda50e3314610695578063fe25e00a14610701575b3461000257610718610002565b346100025761071a6004356009602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909167ffffffffffffffff81169061ffff604060020a8204169060ff605060020a8204811691605860020a90041687565b346100025761076d600a5461ffff620100009091041681565b34610002576107186004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650509335935050505060005433600160a060020a0390811691161461085757610002565b3461000257610784600054600160a060020a031681565b34610002576107a060045481565b60408051602060046024803582810135601f81018590048502860185019096528585526107189583359593946044949392909201918190840183828082843750949650509335935050606435915050600a546000908190819061ffff1660011461095d57610002565b346100025761076d600a5461ffff1681565b34610002576107a060065481565b3461000257610718600435600081815260096020526040812060018101549091901515610b1157604080518082019091526015815260008051602061180a8339815191526020820152610b6190610b9f565b346100025760408051602060046024803582810135601f810185900485028601850190965285855261071895833595939460449493929092019181908401838280828437509496505093359350505050600083815260096020526040902060018101541515610e4257604080518082019091526015815260008051602061180a8339815191526020820152610edc90610b9f565b346100025761071860005433600160a060020a03908116911614610fc357610002565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593505050506000805433600160a060020a0390811691161461106357610002565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593505050506000805433600160a060020a0390811691161461110457610002565b34610002576107a060085481565b3461000257604080516020600460643581810135601f810184900484028501840190955284845261071894823594602480359560443595946084949201919081908401838280828437509496505093359350505050600354600090819033600160a060020a0390811691161461126f57610002565b34610002576107a060075481565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593506107fc92505050565b3461000257610843600435600c6020526000908152604090205460ff1681565b346100025761076d600a5461ffff6401000000009091041681565b34610002576107a0600b5481565b34610002576107a060015481565b34610002576107a060025481565b3461000257610718600160a060020a0333166000908152600c60205260409020805460ff19169055565b346100025761071860035433600160a060020a0390811691161461173357610002565b34610002576107a060055481565b346100025761076d600a5461ffff66010000000000009091041681565b34610002576107186004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650509335935050505060005433600160a060020a039081169116146117a557610002565b3461000257610784600354600160a060020a031681565b005b60408051600160a060020a03909816885260208801969096528686019490945267ffffffffffffffff909216606086015261ffff166080850152151560a0840152151560c0830152519081900360e00190f35b6040805161ffff9092168252519081900360200190f35b60408051600160a060020a039092168252519081900360200190f35b60408051918252519081900360200190f35b6003810154600a805460f060020a61ffff604060020a909404841666010000000000008084049095160381020490920267ffff000000000000199092169190911790556110d78484845b60008381526009602052604081206001810154909190151561156557604080518082019091526015815260008051602061180a83398151915260208201526115ff90610b9f565b604080519115158252519081900360200190f35b600a805461ffff19166002179081905561095990600090849084906004903390640100000000900461ffff16855b600160008181505480929190600101919050555082600160a060020a031685887fe9a88fc67f5ad8c6d6e6fb2832af9558ebc4c2f6395337eec27c17f1ee9ebc1f8988878760405180806020018561ffff1681526020018481526020018381526020018281038252868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109405780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a450505050505050565b5050565b600b5461ffff85160234101561097257610002565b600a5461ffff6401000000009091048116908516111561099157610002565b61ffff841615156109a157610002565b6005546103e89011156109b357610002565b6006546103e89011156109c557610002565b6006546005546103e8910111156109db57610002565b6000878152600960205260408120600181015490945011156109fc57610002565b6005546103e890340204915034821115610a1557610002565b50600780548201905560088054600190810190915582546c01000000000000000000000000338181029190910473ffffffffffffffffffffffffffffffffffffffff199092169190911784553483810385840181905560006002870181905560038701805460f060020a808b02819004604060020a026bffffffff00000000000000001990921691909117909155600a8054660100000000000080820461ffff9081168d018502949094040267ffff00000000000019909116179055600160a060020a0385168252600c6020526040909120805460ff1916861790559093610b08938b938b938b939291908b1690610885565b50505050505050565b60028201541515610c455760408051808201909152601581527f696e666f2e66726f7a656e46756e6473203d3d203000000000000000000000006020820152610b6190610b9f565b600060018301555b505050565b60408051808201909152601281527f756e6b6e6f776e206d73672e73656e64657200000000000000000000000000006020820152610edc905b60026000818150548092919060010191905055507fd44da6836c8376d1693e8b9cacf1c39b9bed3599164ad6d8e60902515f83938e8160405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610c355780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600454600383015467ffffffffffffffff1601421015610cc757610b61606060405190810160405280602681526020017f6e6f77203c2028696e666f2e66726f7a656e54696d65202b20667265657a655081526020017f6572696f64290000000000000000000000000000000000000000000000000000815260200150610b9f565b506001810154600160a060020a03301631811115610d1c5760408051808201909152601681527f7061796d656e74203e20746869732e62616c616e6365000000000000000000006020820152610b6190610b9f565b6003820154605060020a900460ff168015610d4257506003820154605860020a900460ff165b15610dce57600454600383015467ffffffffffffffff160162278d0001421015610df757610b61606060405190810160405280603a81526020017f6e6f77203c2028696e666f2e66726f7a656e54696d65202b20667265657a655081526020017f6572696f64202b206172626974726174696f6e506572696f6429000000000000815260200150610b9f565b6003820154605060020a900460ff1615610e18578154610b5990600160a060020a031682610e08565b8154610b5990600160a060020a0316825b600d5460ff16156117b857610002565b6003820154605860020a900460ff1615610b6157600054610b5990600160a060020a031682610e08565b805433600160a060020a03908116911614801590610e6f575060005433600160a060020a03908116911614155b15610ee257610edc606060405190810160405280603081526020017f6d73672e73656e64657220213d20696e666f2e6275796572202626206d73672e81526020017f73656e64657220213d2073656c6c657200000000000000000000000000000000815260200150610b9f565b50505050565b60028101541515610f2a576001810154600282015560038101805467ffffffffffffffff19167801000000000000000000000000000000000000000000000000428102041790555b805433600160a060020a0390811691161415610f8a576003810180546aff000000000000000000001916605060020a1790555b610edc848484600c338660030160089054906101000a900461ffff1661ffff168760010160005054610885565b60005433600160a060020a0390811691161415610b66576003810180546bff00000000000000000000001916605860020a179055610f5d565b600854600090111561100c5760408051808201909152601081527f746f74616c457363726f7773203e203000000000000000000000000000000000602082015261105590610b9f565b60075460009011156110575760408051808201909152600c81527f66656546756e6473203e20300000000000000000000000000000000000000000602082015261105590610b9f565b565b33600160a060020a0316ff5b506000838152600960205260409020600a546003820154660100000000000090910461ffff908116604060020a9092041611156107b25760408051808201909152601981527f696e666f2e636f756e74203e2070656e64696e67436f756e74000000000000006020820152610edc90610b9f565b610edc8484846003338660030160089054906101000a900461ffff1661ffff168760010160005054610885565b506000838152600960205260409020600a54600382015464010000000090910461ffff908116604060020a9092041611156111765760408051808201909152601b81527f696e666f2e636f756e74203e20617661696c61626c65436f756e7400000000006020820152610edc90610b9f565b600a546003820154660100000000000090910461ffff908116604060020a9092041611156111db5760408051808201909152601981527f696e666f2e636f756e74203e2070656e64696e67436f756e74000000000000006020820152610edc90610b9f565b600381018054600a805467ffff00000000000019811660f060020a604060020a9485900461ffff908116660100000000000094859004821603820282900490930291909117808455855465ffff0000000019821690869004841664010000000092839004851603830292909204021790915591546001840154610edc93889388938893600293339390920490911690610885565b6000878152600960205260409020600181015490925015156112b657604080518082019091526015815260008051602061180a8339815191526020820152610b0890610b9f565b600282015415156112fe5760408051808201909152601581527f696e666f2e66726f7a656e46756e6473203d3d203000000000000000000000006020820152610b0890610b9f565b600054600160a060020a0387811691161480159061132957508154600160a060020a03878116911614155b1561139657610b08606060405190810160405280602481526020017f5f77686f20213d2073656c6c6572202626205f77686f20213d20696e666f2e6281526020017f7579657200000000000000000000000000000000000000000000000000000000815260200150610b9f565b6003820154605060020a900460ff1615806113bd57506003820154605860020a900460ff16155b156113ff5760408051808201909152601f81527f21696e666f2e62757965724e6f207c7c2021696e666f2e73656c6c65724e6f006020820152610b0890610b9f565b60018201548511156114485760408051808201909152601b81527f5f7061796d656e74203e20696e666f2e6c6f636b656446756e647300000000006020820152610b0890610b9f565b30600160a060020a0316318511156114975760408051808201909152601781527f5f7061796d656e74203e20746869732e62616c616e63650000000000000000006020820152610b0890610b9f565b5060065460018201546103e8918102919091049085900381111561151d57610b08606060405190810160405280602681526020017f726577617264203e2028696e666f2e6c6f636b656446756e6473202d205f706181526020017f796d656e74290000000000000000000000000000000000000000000000000000815260200150610b9f565b6115278686610e08565b600182018054869003808255600780549091019055600090556003820154610b0890889086908690600d903390604060020a900461ffff168b610885565b815433600160a060020a03908116911614801590611592575060005433600160a060020a03908116911614155b15611606576115ff606060405190810160405280603081526020017f6d73672e73656e64657220213d20696e666f2e6275796572202626206d73672e81526020017f73656e64657220213d2073656c6c657200000000000000000000000000000000815260200150610b9f565b5050505050565b506001810154600160a060020a0330163181111561165b5760408051808201909152601681527f7061796d656e74203e20746869732e62616c616e63650000000000000000000060208201526115ff90610b9f565b815433600160a060020a0390811691161415611687576000546116b390600160a060020a031682610e08565b60005433600160a060020a03908116911614156116f65781546116b390600160a060020a031682610e08565b60085460009011156116ca57600880546000190190555b6000600183015560038201546115ff90869086908690600b903390604060020a900461ffff1687610885565b60408051808201909152601281527f756e6b6e6f776e206d73672e73656e646572000000000000000000000000000060208201526115ff90610b9f565b600754600160a060020a033016319011156117855760408051808201909152601781527f66656546756e6473203e20746869732e62616c616e6365000000000000000000602082015261105590610b9f565b60035460075461179e91600160a060020a031690610e08565b6000600755565b61095960008383600a3360006000610885565b600d805460ff19166001179055604051600160a060020a038316906161a89083906000818181858888f1935050505015156117fc57600d805460ff19169055610002565b600d805460ff19169055505056696e666f2e6c6f636b656446756e6473203d3d2030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000278d00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000009184e72a000
Deployed Bytecode
0x606060405236156101485760e060020a6000350463012f52ee811461015557806306661abd146101bd57806306909f69146101d657806308551a53146102425780630a3cb663146102595780630fb59f9514610267578063200d2ed2146102d0578063309e21a9146102e25780633262fd9a146102f057806334d24bff1461034257806341c0e1b5146103d65780634ca18ebd146103f9578063553bf56d1461046557806363ee7c8d146104d15780636958420b146104df5780636fd637281461055457806395a5dfc01461056257806397a993aa146105b85780639e05c118146105d8578063a035b1fe146105f3578063cc45969614610601578063cd1f83931461060f578063ceb98dc71461061d578063db8d55f114610647578063dc3ef6851461066a578063ea70b4af14610678578063eda50e3314610695578063fe25e00a14610701575b3461000257610718610002565b346100025761071a6004356009602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909167ffffffffffffffff81169061ffff604060020a8204169060ff605060020a8204811691605860020a90041687565b346100025761076d600a5461ffff620100009091041681565b34610002576107186004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650509335935050505060005433600160a060020a0390811691161461085757610002565b3461000257610784600054600160a060020a031681565b34610002576107a060045481565b60408051602060046024803582810135601f81018590048502860185019096528585526107189583359593946044949392909201918190840183828082843750949650509335935050606435915050600a546000908190819061ffff1660011461095d57610002565b346100025761076d600a5461ffff1681565b34610002576107a060065481565b3461000257610718600435600081815260096020526040812060018101549091901515610b1157604080518082019091526015815260008051602061180a8339815191526020820152610b6190610b9f565b346100025760408051602060046024803582810135601f810185900485028601850190965285855261071895833595939460449493929092019181908401838280828437509496505093359350505050600083815260096020526040902060018101541515610e4257604080518082019091526015815260008051602061180a8339815191526020820152610edc90610b9f565b346100025761071860005433600160a060020a03908116911614610fc357610002565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593505050506000805433600160a060020a0390811691161461106357610002565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593505050506000805433600160a060020a0390811691161461110457610002565b34610002576107a060085481565b3461000257604080516020600460643581810135601f810184900484028501840190955284845261071894823594602480359560443595946084949201919081908401838280828437509496505093359350505050600354600090819033600160a060020a0390811691161461126f57610002565b34610002576107a060075481565b346100025760408051602060046024803582810135601f8101859004850286018501909652858552610718958335959394604494939290920191819084018382808284375094965050933593506107fc92505050565b3461000257610843600435600c6020526000908152604090205460ff1681565b346100025761076d600a5461ffff6401000000009091041681565b34610002576107a0600b5481565b34610002576107a060015481565b34610002576107a060025481565b3461000257610718600160a060020a0333166000908152600c60205260409020805460ff19169055565b346100025761071860035433600160a060020a0390811691161461173357610002565b34610002576107a060055481565b346100025761076d600a5461ffff66010000000000009091041681565b34610002576107186004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650509335935050505060005433600160a060020a039081169116146117a557610002565b3461000257610784600354600160a060020a031681565b005b60408051600160a060020a03909816885260208801969096528686019490945267ffffffffffffffff909216606086015261ffff166080850152151560a0840152151560c0830152519081900360e00190f35b6040805161ffff9092168252519081900360200190f35b60408051600160a060020a039092168252519081900360200190f35b60408051918252519081900360200190f35b6003810154600a805460f060020a61ffff604060020a909404841666010000000000008084049095160381020490920267ffff000000000000199092169190911790556110d78484845b60008381526009602052604081206001810154909190151561156557604080518082019091526015815260008051602061180a83398151915260208201526115ff90610b9f565b604080519115158252519081900360200190f35b600a805461ffff19166002179081905561095990600090849084906004903390640100000000900461ffff16855b600160008181505480929190600101919050555082600160a060020a031685887fe9a88fc67f5ad8c6d6e6fb2832af9558ebc4c2f6395337eec27c17f1ee9ebc1f8988878760405180806020018561ffff1681526020018481526020018381526020018281038252868181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156109405780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a450505050505050565b5050565b600b5461ffff85160234101561097257610002565b600a5461ffff6401000000009091048116908516111561099157610002565b61ffff841615156109a157610002565b6005546103e89011156109b357610002565b6006546103e89011156109c557610002565b6006546005546103e8910111156109db57610002565b6000878152600960205260408120600181015490945011156109fc57610002565b6005546103e890340204915034821115610a1557610002565b50600780548201905560088054600190810190915582546c01000000000000000000000000338181029190910473ffffffffffffffffffffffffffffffffffffffff199092169190911784553483810385840181905560006002870181905560038701805460f060020a808b02819004604060020a026bffffffff00000000000000001990921691909117909155600a8054660100000000000080820461ffff9081168d018502949094040267ffff00000000000019909116179055600160a060020a0385168252600c6020526040909120805460ff1916861790559093610b08938b938b938b939291908b1690610885565b50505050505050565b60028201541515610c455760408051808201909152601581527f696e666f2e66726f7a656e46756e6473203d3d203000000000000000000000006020820152610b6190610b9f565b600060018301555b505050565b60408051808201909152601281527f756e6b6e6f776e206d73672e73656e64657200000000000000000000000000006020820152610edc905b60026000818150548092919060010191905055507fd44da6836c8376d1693e8b9cacf1c39b9bed3599164ad6d8e60902515f83938e8160405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015610c355780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600454600383015467ffffffffffffffff1601421015610cc757610b61606060405190810160405280602681526020017f6e6f77203c2028696e666f2e66726f7a656e54696d65202b20667265657a655081526020017f6572696f64290000000000000000000000000000000000000000000000000000815260200150610b9f565b506001810154600160a060020a03301631811115610d1c5760408051808201909152601681527f7061796d656e74203e20746869732e62616c616e6365000000000000000000006020820152610b6190610b9f565b6003820154605060020a900460ff168015610d4257506003820154605860020a900460ff165b15610dce57600454600383015467ffffffffffffffff160162278d0001421015610df757610b61606060405190810160405280603a81526020017f6e6f77203c2028696e666f2e66726f7a656e54696d65202b20667265657a655081526020017f6572696f64202b206172626974726174696f6e506572696f6429000000000000815260200150610b9f565b6003820154605060020a900460ff1615610e18578154610b5990600160a060020a031682610e08565b8154610b5990600160a060020a0316825b600d5460ff16156117b857610002565b6003820154605860020a900460ff1615610b6157600054610b5990600160a060020a031682610e08565b805433600160a060020a03908116911614801590610e6f575060005433600160a060020a03908116911614155b15610ee257610edc606060405190810160405280603081526020017f6d73672e73656e64657220213d20696e666f2e6275796572202626206d73672e81526020017f73656e64657220213d2073656c6c657200000000000000000000000000000000815260200150610b9f565b50505050565b60028101541515610f2a576001810154600282015560038101805467ffffffffffffffff19167801000000000000000000000000000000000000000000000000428102041790555b805433600160a060020a0390811691161415610f8a576003810180546aff000000000000000000001916605060020a1790555b610edc848484600c338660030160089054906101000a900461ffff1661ffff168760010160005054610885565b60005433600160a060020a0390811691161415610b66576003810180546bff00000000000000000000001916605860020a179055610f5d565b600854600090111561100c5760408051808201909152601081527f746f74616c457363726f7773203e203000000000000000000000000000000000602082015261105590610b9f565b60075460009011156110575760408051808201909152600c81527f66656546756e6473203e20300000000000000000000000000000000000000000602082015261105590610b9f565b565b33600160a060020a0316ff5b506000838152600960205260409020600a546003820154660100000000000090910461ffff908116604060020a9092041611156107b25760408051808201909152601981527f696e666f2e636f756e74203e2070656e64696e67436f756e74000000000000006020820152610edc90610b9f565b610edc8484846003338660030160089054906101000a900461ffff1661ffff168760010160005054610885565b506000838152600960205260409020600a54600382015464010000000090910461ffff908116604060020a9092041611156111765760408051808201909152601b81527f696e666f2e636f756e74203e20617661696c61626c65436f756e7400000000006020820152610edc90610b9f565b600a546003820154660100000000000090910461ffff908116604060020a9092041611156111db5760408051808201909152601981527f696e666f2e636f756e74203e2070656e64696e67436f756e74000000000000006020820152610edc90610b9f565b600381018054600a805467ffff00000000000019811660f060020a604060020a9485900461ffff908116660100000000000094859004821603820282900490930291909117808455855465ffff0000000019821690869004841664010000000092839004851603830292909204021790915591546001840154610edc93889388938893600293339390920490911690610885565b6000878152600960205260409020600181015490925015156112b657604080518082019091526015815260008051602061180a8339815191526020820152610b0890610b9f565b600282015415156112fe5760408051808201909152601581527f696e666f2e66726f7a656e46756e6473203d3d203000000000000000000000006020820152610b0890610b9f565b600054600160a060020a0387811691161480159061132957508154600160a060020a03878116911614155b1561139657610b08606060405190810160405280602481526020017f5f77686f20213d2073656c6c6572202626205f77686f20213d20696e666f2e6281526020017f7579657200000000000000000000000000000000000000000000000000000000815260200150610b9f565b6003820154605060020a900460ff1615806113bd57506003820154605860020a900460ff16155b156113ff5760408051808201909152601f81527f21696e666f2e62757965724e6f207c7c2021696e666f2e73656c6c65724e6f006020820152610b0890610b9f565b60018201548511156114485760408051808201909152601b81527f5f7061796d656e74203e20696e666f2e6c6f636b656446756e647300000000006020820152610b0890610b9f565b30600160a060020a0316318511156114975760408051808201909152601781527f5f7061796d656e74203e20746869732e62616c616e63650000000000000000006020820152610b0890610b9f565b5060065460018201546103e8918102919091049085900381111561151d57610b08606060405190810160405280602681526020017f726577617264203e2028696e666f2e6c6f636b656446756e6473202d205f706181526020017f796d656e74290000000000000000000000000000000000000000000000000000815260200150610b9f565b6115278686610e08565b600182018054869003808255600780549091019055600090556003820154610b0890889086908690600d903390604060020a900461ffff168b610885565b815433600160a060020a03908116911614801590611592575060005433600160a060020a03908116911614155b15611606576115ff606060405190810160405280603081526020017f6d73672e73656e64657220213d20696e666f2e6275796572202626206d73672e81526020017f73656e64657220213d2073656c6c657200000000000000000000000000000000815260200150610b9f565b5050505050565b506001810154600160a060020a0330163181111561165b5760408051808201909152601681527f7061796d656e74203e20746869732e62616c616e63650000000000000000000060208201526115ff90610b9f565b815433600160a060020a0390811691161415611687576000546116b390600160a060020a031682610e08565b60005433600160a060020a03908116911614156116f65781546116b390600160a060020a031682610e08565b60085460009011156116ca57600880546000190190555b6000600183015560038201546115ff90869086908690600b903390604060020a900461ffff1687610885565b60408051808201909152601281527f756e6b6e6f776e206d73672e73656e646572000000000000000000000000000060208201526115ff90610b9f565b600754600160a060020a033016319011156117855760408051808201909152601781527f66656546756e6473203e20746869732e62616c616e6365000000000000000000602082015261105590610b9f565b60035460075461179e91600160a060020a031690610e08565b6000600755565b61095960008383600a3360006000610885565b600d805460ff19166001179055604051600160a060020a038316906161a89083906000818181858888f1935050505015156117fc57600d805460ff19169055610002565b600d805460ff19169055505056696e666f2e6c6f636b656446756e6473203d3d20300000000000000000000000
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.06
Net Worth in ETH
0.00003
Token Allocations
ETH
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,950.91 | 0.0000301 | $0.058722 |
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.