Source Code
Latest 25 from a total of 202 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Set Escrow Fee | 22768839 | 140 days ago | IN | 0 ETH | 0.00035378 | ||||
| Withdraw Funds | 15403881 | 1174 days ago | IN | 0 ETH | 0.00090626 | ||||
| Buyer Fund Relea... | 15366967 | 1179 days ago | IN | 0 ETH | 0.00089015 | ||||
| New Escrow | 15366787 | 1179 days ago | IN | 0.05 ETH | 0.00477186 | ||||
| Withdraw Funds | 7988198 | 2336 days ago | IN | 0 ETH | 0.00005821 | ||||
| Withdraw Funds | 7988174 | 2336 days ago | IN | 0 ETH | 0.00003881 | ||||
| Escrow Decision | 7988163 | 2336 days ago | IN | 0 ETH | 0.00022209 | ||||
| Escrow Escalatio... | 7988153 | 2336 days ago | IN | 0 ETH | 0.00009203 | ||||
| Escrow Decision | 7988090 | 2336 days ago | IN | 0 ETH | 0.00014945 | ||||
| Escrow Decision | 7988030 | 2336 days ago | IN | 0 ETH | 0.00047327 | ||||
| Set Escrow Fee | 7986754 | 2336 days ago | IN | 0 ETH | 0.00004183 | ||||
| New Escrow | 7984500 | 2336 days ago | IN | 1 ETH | 0.00764451 | ||||
| Withdraw Funds | 7978403 | 2337 days ago | IN | 0 ETH | 0.00013853 | ||||
| Withdraw Funds | 7978403 | 2337 days ago | IN | 0 ETH | 0.00019394 | ||||
| Withdraw Funds | 7978403 | 2337 days ago | IN | 0 ETH | 0.0000194 | ||||
| Withdraw Funds | 7978324 | 2337 days ago | IN | 0 ETH | 0.00007762 | ||||
| Escrow Decision | 7978255 | 2337 days ago | IN | 0 ETH | 0.00014793 | ||||
| Escrow Escalatio... | 7978217 | 2337 days ago | IN | 0 ETH | 0.00107107 | ||||
| New Escrow | 7978178 | 2337 days ago | IN | 0.18 ETH | 0.00641822 | ||||
| Set Escrow Fee | 7978130 | 2337 days ago | IN | 0 ETH | 0.00012551 | ||||
| New Escrow | 7976367 | 2338 days ago | IN | 0.05 ETH | 0.00068431 | ||||
| New Escrow | 7976348 | 2338 days ago | IN | 0.05 ETH | 0.00063362 | ||||
| New Escrow | 7976328 | 2338 days ago | IN | 0.01 ETH | 0.00054568 | ||||
| Set Escrow Fee | 7976297 | 2338 days ago | IN | 0 ETH | 0.00112959 | ||||
| Buyer Fund Relea... | 7733279 | 2376 days ago | IN | 0 ETH | 0.00026316 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
To
|
|||
|---|---|---|---|---|---|---|---|
| Transfer | 15403881 | 1174 days ago | 0.049875 ETH | ||||
| - | 7988198 | 2336 days ago | 0.05 ETH | ||||
| - | 7988174 | 2336 days ago | 0.9475 ETH | ||||
| - | 7978403 | 2337 days ago | 0.17055 ETH | ||||
| - | 7978324 | 2337 days ago | 0.009 ETH | ||||
| Transfer | 6179013 | 2639 days ago | 10.6509775 ETH | ||||
| Transfer | 6093665 | 2654 days ago | 6.5835 ETH | ||||
| Transfer | 5867572 | 2692 days ago | 0.00024937 ETH | ||||
| Transfer | 5854196 | 2694 days ago | 18.66375 ETH | ||||
| Transfer | 5526617 | 2752 days ago | 1.975 ETH | ||||
| Transfer | 5498334 | 2757 days ago | 15.4593125 ETH | ||||
| Transfer | 5486391 | 2759 days ago | 0.0149625 ETH | ||||
| Transfer | 5391004 | 2775 days ago | 0.0133 ETH | ||||
| Transfer | 5292494 | 2791 days ago | 6.57675 ETH | ||||
| Transfer | 5253272 | 2798 days ago | 0.4986875 ETH | ||||
| Transfer | 5242558 | 2800 days ago | 0.3209375 ETH | ||||
| Transfer | 5239036 | 2800 days ago | 0.49375 ETH | ||||
| Transfer | 5168841 | 2812 days ago | 2.518125 ETH | ||||
| Transfer | 5134491 | 2818 days ago | 0.0257958 ETH | ||||
| Transfer | 4836983 | 2870 days ago | 4.44375 ETH | ||||
| Transfer | 4830312 | 2871 days ago | 2.46875 ETH | ||||
| Transfer | 4819733 | 2873 days ago | 2.37 ETH | ||||
| Transfer | 4734471 | 2887 days ago | 1.48125 ETH | ||||
| Transfer | 4550311 | 2918 days ago | 0.325875 ETH | ||||
| Transfer | 4508666 | 2925 days ago | 0.9875 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EscrowMyEther
Compiler Version
v0.4.16+commit.d7661dd9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-09-28
*/
pragma solidity ^0.4.16;
contract EscrowMyEther {
//Author: Cheung Ka Yin
//Date: 27 September 2017
//Version: EscrowMyEther v1.0 MainNet
address public owner;
//Each buyer address consist of an array of EscrowStruct
//Used to store buyer's transactions and for buyers to interact with his transactions. (Such as releasing funds to seller)
struct EscrowStruct
{
address buyer; //Person who is making payment
address seller; //Person who will receive funds
address escrow_agent; //Escrow agent to resolve disputes, if any
uint escrow_fee; //Fee charged by escrow
uint amount; //Amount of Ether (in Wei) seller will receive after fees
bool escrow_intervention; //Buyer or Seller can call for Escrow intervention
bool release_approval; //Buyer or Escrow(if escrow_intervention is true) can approve release of funds to seller
bool refund_approval; //Seller or Escrow(if escrow_intervention is true) can approve refund of funds to buyer
bytes32 notes; //Notes for Seller
}
struct TransactionStruct
{
//Links to transaction from buyer
address buyer; //Person who is making payment
uint buyer_nounce; //Nounce of buyer transaction
}
//Database of Buyers. Each buyer then contain an array of his transactions
mapping(address => EscrowStruct[]) public buyerDatabase;
//Database of Seller and Escrow Agent
mapping(address => TransactionStruct[]) public sellerDatabase;
mapping(address => TransactionStruct[]) public escrowDatabase;
//Every address have a Funds bank. All refunds, sales and escrow comissions are sent to this bank. Address owner can withdraw them at any time.
mapping(address => uint) public Funds;
mapping(address => uint) public escrowFee;
//Run once the moment contract is created. Set contract creator
function EscrowMyEther() {
owner = msg.sender;
}
function() payable
{
//LogFundsReceived(msg.sender, msg.value);
}
function setEscrowFee(uint fee) {
//Allowed fee range: 0.1% to 10%, in increments of 0.1%
require (fee >= 1 && fee <= 100);
escrowFee[msg.sender] = fee;
}
function getEscrowFee(address escrowAddress) constant returns (uint) {
return (escrowFee[escrowAddress]);
}
function newEscrow(address sellerAddress, address escrowAddress, bytes32 notes) payable returns (bool) {
require(msg.value > 0 && msg.sender != escrowAddress);
//Store escrow details in memory
EscrowStruct memory currentEscrow;
TransactionStruct memory currentTransaction;
currentEscrow.buyer = msg.sender;
currentEscrow.seller = sellerAddress;
currentEscrow.escrow_agent = escrowAddress;
//Calculates and stores Escrow Fee.
currentEscrow.escrow_fee = getEscrowFee(escrowAddress)*msg.value/1000;
//0.25% dev fee
uint dev_fee = msg.value/400;
Funds[owner] += dev_fee;
//Amount seller receives = Total amount - 0.25% dev fee - Escrow Fee
currentEscrow.amount = msg.value - dev_fee - currentEscrow.escrow_fee;
//These default to false, no need to set them again
/*currentEscrow.escrow_intervention = false;
currentEscrow.release_approval = false;
currentEscrow.refund_approval = false; */
currentEscrow.notes = notes;
//Links this transaction to Seller and Escrow's list of transactions.
currentTransaction.buyer = msg.sender;
currentTransaction.buyer_nounce = buyerDatabase[msg.sender].length;
sellerDatabase[sellerAddress].push(currentTransaction);
escrowDatabase[escrowAddress].push(currentTransaction);
buyerDatabase[msg.sender].push(currentEscrow);
return true;
}
//switcher 0 for Buyer, 1 for Seller, 2 for Escrow
function getNumTransactions(address inputAddress, uint switcher) constant returns (uint)
{
if (switcher == 0) return (buyerDatabase[inputAddress].length);
else if (switcher == 1) return (sellerDatabase[inputAddress].length);
else return (escrowDatabase[inputAddress].length);
}
//switcher 0 for Buyer, 1 for Seller, 2 for Escrow
function getSpecificTransaction(address inputAddress, uint switcher, uint ID) constant returns (address, address, address, uint, bytes32, uint, bytes32)
{
bytes32 status;
EscrowStruct memory currentEscrow;
if (switcher == 0)
{
currentEscrow = buyerDatabase[inputAddress][ID];
status = checkStatus(inputAddress, ID);
}
else if (switcher == 1)
{
currentEscrow = buyerDatabase[sellerDatabase[inputAddress][ID].buyer][sellerDatabase[inputAddress][ID].buyer_nounce];
status = checkStatus(currentEscrow.buyer, sellerDatabase[inputAddress][ID].buyer_nounce);
}
else if (switcher == 2)
{
currentEscrow = buyerDatabase[escrowDatabase[inputAddress][ID].buyer][escrowDatabase[inputAddress][ID].buyer_nounce];
status = checkStatus(currentEscrow.buyer, escrowDatabase[inputAddress][ID].buyer_nounce);
}
return (currentEscrow.buyer, currentEscrow.seller, currentEscrow.escrow_agent, currentEscrow.amount, status, currentEscrow.escrow_fee, currentEscrow.notes);
}
function buyerHistory(address buyerAddress, uint startID, uint numToLoad) constant returns (address[], address[],uint[], bytes32[]){
uint length;
if (buyerDatabase[buyerAddress].length < numToLoad)
length = buyerDatabase[buyerAddress].length;
else
length = numToLoad;
address[] memory sellers = new address[](length);
address[] memory escrow_agents = new address[](length);
uint[] memory amounts = new uint[](length);
bytes32[] memory statuses = new bytes32[](length);
for (uint i = 0; i < length; i++)
{
sellers[i] = (buyerDatabase[buyerAddress][startID + i].seller);
escrow_agents[i] = (buyerDatabase[buyerAddress][startID + i].escrow_agent);
amounts[i] = (buyerDatabase[buyerAddress][startID + i].amount);
statuses[i] = checkStatus(buyerAddress, startID + i);
}
return (sellers, escrow_agents, amounts, statuses);
}
function SellerHistory(address inputAddress, uint startID , uint numToLoad) constant returns (address[], address[], uint[], bytes32[]){
address[] memory buyers = new address[](numToLoad);
address[] memory escrows = new address[](numToLoad);
uint[] memory amounts = new uint[](numToLoad);
bytes32[] memory statuses = new bytes32[](numToLoad);
for (uint i = 0; i < numToLoad; i++)
{
if (i >= sellerDatabase[inputAddress].length)
break;
buyers[i] = sellerDatabase[inputAddress][startID + i].buyer;
escrows[i] = buyerDatabase[buyers[i]][sellerDatabase[inputAddress][startID +i].buyer_nounce].escrow_agent;
amounts[i] = buyerDatabase[buyers[i]][sellerDatabase[inputAddress][startID + i].buyer_nounce].amount;
statuses[i] = checkStatus(buyers[i], sellerDatabase[inputAddress][startID + i].buyer_nounce);
}
return (buyers, escrows, amounts, statuses);
}
function escrowHistory(address inputAddress, uint startID, uint numToLoad) constant returns (address[], address[], uint[], bytes32[]){
address[] memory buyers = new address[](numToLoad);
address[] memory sellers = new address[](numToLoad);
uint[] memory amounts = new uint[](numToLoad);
bytes32[] memory statuses = new bytes32[](numToLoad);
for (uint i = 0; i < numToLoad; i++)
{
if (i >= escrowDatabase[inputAddress].length)
break;
buyers[i] = escrowDatabase[inputAddress][startID + i].buyer;
sellers[i] = buyerDatabase[buyers[i]][escrowDatabase[inputAddress][startID +i].buyer_nounce].seller;
amounts[i] = buyerDatabase[buyers[i]][escrowDatabase[inputAddress][startID + i].buyer_nounce].amount;
statuses[i] = checkStatus(buyers[i], escrowDatabase[inputAddress][startID + i].buyer_nounce);
}
return (buyers, sellers, amounts, statuses);
}
function checkStatus(address buyerAddress, uint nounce) constant returns (bytes32){
bytes32 status = "";
if (buyerDatabase[buyerAddress][nounce].release_approval){
status = "Complete";
} else if (buyerDatabase[buyerAddress][nounce].refund_approval){
status = "Refunded";
} else if (buyerDatabase[buyerAddress][nounce].escrow_intervention){
status = "Pending Escrow Decision";
} else
{
status = "In Progress";
}
return (status);
}
//When transaction is complete, buyer will release funds to seller
//Even if EscrowEscalation is raised, buyer can still approve fund release at any time
function buyerFundRelease(uint ID)
{
require(ID < buyerDatabase[msg.sender].length &&
buyerDatabase[msg.sender][ID].release_approval == false &&
buyerDatabase[msg.sender][ID].refund_approval == false);
//Set release approval to true. Ensure approval for each transaction can only be called once.
buyerDatabase[msg.sender][ID].release_approval = true;
address seller = buyerDatabase[msg.sender][ID].seller;
address escrow_agent = buyerDatabase[msg.sender][ID].escrow_agent;
uint amount = buyerDatabase[msg.sender][ID].amount;
uint escrow_fee = buyerDatabase[msg.sender][ID].escrow_fee;
//Move funds under seller's owership
Funds[seller] += amount;
Funds[escrow_agent] += escrow_fee;
}
//Seller can refund the buyer at any time
function sellerRefund(uint ID)
{
address buyerAddress = sellerDatabase[msg.sender][ID].buyer;
uint buyerID = sellerDatabase[msg.sender][ID].buyer_nounce;
require(
buyerDatabase[buyerAddress][buyerID].release_approval == false &&
buyerDatabase[buyerAddress][buyerID].refund_approval == false);
address escrow_agent = buyerDatabase[buyerAddress][buyerID].escrow_agent;
uint escrow_fee = buyerDatabase[buyerAddress][buyerID].escrow_fee;
uint amount = buyerDatabase[buyerAddress][buyerID].amount;
//Once approved, buyer can invoke WithdrawFunds to claim his refund
buyerDatabase[buyerAddress][buyerID].refund_approval = true;
Funds[buyerAddress] += amount;
Funds[escrow_agent] += escrow_fee;
}
//Either buyer or seller can raise escalation with escrow agent.
//Once escalation is activated, escrow agent can release funds to seller OR make a full refund to buyer
//Switcher = 0 for Buyer, Switcher = 1 for Seller
function EscrowEscalation(uint switcher, uint ID)
{
//To activate EscrowEscalation
//1) Buyer must not have approved fund release.
//2) Seller must not have approved a refund.
//3) EscrowEscalation is being activated for the first time
//There is no difference whether the buyer or seller activates EscrowEscalation.
address buyerAddress;
uint buyerID; //transaction ID of in buyer's history
if (switcher == 0) // Buyer
{
buyerAddress = msg.sender;
buyerID = ID;
} else if (switcher == 1) //Seller
{
buyerAddress = sellerDatabase[msg.sender][ID].buyer;
buyerID = sellerDatabase[msg.sender][ID].buyer_nounce;
}
require(buyerDatabase[buyerAddress][buyerID].escrow_intervention == false &&
buyerDatabase[buyerAddress][buyerID].release_approval == false &&
buyerDatabase[buyerAddress][buyerID].refund_approval == false);
//Activate the ability for Escrow Agent to intervent in this transaction
buyerDatabase[buyerAddress][buyerID].escrow_intervention = true;
}
//ID is the transaction ID from Escrow's history.
//Decision = 0 is for refunding Buyer. Decision = 1 is for releasing funds to Seller
function escrowDecision(uint ID, uint Decision)
{
//Escrow can only make the decision IF
//1) Buyer has not yet approved fund release to seller
//2) Seller has not yet approved a refund to buyer
//3) Escrow Agent has not yet approved fund release to seller AND not approved refund to buyer
//4) Escalation Escalation is activated
address buyerAddress = escrowDatabase[msg.sender][ID].buyer;
uint buyerID = escrowDatabase[msg.sender][ID].buyer_nounce;
require(
buyerDatabase[buyerAddress][buyerID].release_approval == false &&
buyerDatabase[buyerAddress][buyerID].escrow_intervention == true &&
buyerDatabase[buyerAddress][buyerID].refund_approval == false);
uint escrow_fee = buyerDatabase[buyerAddress][buyerID].escrow_fee;
uint amount = buyerDatabase[buyerAddress][buyerID].amount;
if (Decision == 0) //Refund Buyer
{
buyerDatabase[buyerAddress][buyerID].refund_approval = true;
Funds[buyerAddress] += amount;
Funds[msg.sender] += escrow_fee;
} else if (Decision == 1) //Release funds to Seller
{
buyerDatabase[buyerAddress][buyerID].release_approval = true;
Funds[buyerDatabase[buyerAddress][buyerID].seller] += amount;
Funds[msg.sender] += escrow_fee;
}
}
function WithdrawFunds()
{
uint amount = Funds[msg.sender];
Funds[msg.sender] = 0;
if (!msg.sender.send(amount))
Funds[msg.sender] = amount;
}
function CheckBalance(address fromAddress) constant returns (uint){
return (Funds[fromAddress]);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"inputAddress","type":"address"},{"name":"startID","type":"uint256"},{"name":"numToLoad","type":"uint256"}],"name":"SellerHistory","outputs":[{"name":"","type":"address[]"},{"name":"","type":"address[]"},{"name":"","type":"uint256[]"},{"name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"fee","type":"uint256"}],"name":"setEscrowFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"sellerDatabase","outputs":[{"name":"buyer","type":"address"},{"name":"buyer_nounce","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"buyerAddress","type":"address"},{"name":"startID","type":"uint256"},{"name":"numToLoad","type":"uint256"}],"name":"buyerHistory","outputs":[{"name":"","type":"address[]"},{"name":"","type":"address[]"},{"name":"","type":"uint256[]"},{"name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"escrowFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"fromAddress","type":"address"}],"name":"CheckBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"switcher","type":"uint256"},{"name":"ID","type":"uint256"}],"name":"EscrowEscalation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"WithdrawFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"inputAddress","type":"address"},{"name":"switcher","type":"uint256"},{"name":"ID","type":"uint256"}],"name":"getSpecificTransaction","outputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"escrowAddress","type":"address"}],"name":"getEscrowFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"buyerAddress","type":"address"},{"name":"nounce","type":"uint256"}],"name":"checkStatus","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ID","type":"uint256"}],"name":"sellerRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ID","type":"uint256"},{"name":"Decision","type":"uint256"}],"name":"escrowDecision","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"buyerDatabase","outputs":[{"name":"buyer","type":"address"},{"name":"seller","type":"address"},{"name":"escrow_agent","type":"address"},{"name":"escrow_fee","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"escrow_intervention","type":"bool"},{"name":"release_approval","type":"bool"},{"name":"refund_approval","type":"bool"},{"name":"notes","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"inputAddress","type":"address"},{"name":"switcher","type":"uint256"}],"name":"getNumTransactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"inputAddress","type":"address"},{"name":"startID","type":"uint256"},{"name":"numToLoad","type":"uint256"}],"name":"escrowHistory","outputs":[{"name":"","type":"address[]"},{"name":"","type":"address[]"},{"name":"","type":"uint256[]"},{"name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ID","type":"uint256"}],"name":"buyerFundRelease","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sellerAddress","type":"address"},{"name":"escrowAddress","type":"address"},{"name":"notes","type":"bytes32"}],"name":"newEscrow","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"escrowDatabase","outputs":[{"name":"buyer","type":"address"},{"name":"buyer_nounce","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"Funds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]Contract Creation Code
6060604052341561000f57600080fd5b5b60008054600160a060020a03191633600160a060020a03161790555b5b6129098061003c6000396000f3006060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307023a38811461011e57806314081e391461026a5780631eb22b451461028257806321027354146102c65780632c37dba9146104125780632e4d59c4146104435780633c5192b7146104745780634c0aac9a1461048f57806364d03095146104a457806364fa30701461051357806377db5206146105445780638da5cb5b146105785780638e94a5f3146105a75780639b850322146105bf578063a155beb8146105da578063a6a3a43914610659578063bdbbf4291461068d578063d73b0cf2146107d9578063da1070da146107f1578063dc09996c14610822578063f28d7b8914610866575b5b5b005b341561012957600080fd5b610143600160a060020a0360043516602435604435610897565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b341561027557600080fd5b61011a600435610c15565b005b341561028d57600080fd5b6102a4600160a060020a0360043516602435610c51565b604051600160a060020a03909216825260208201526040908101905180910390f35b34156102d157600080fd5b610143600160a060020a0360043516602435604435610c98565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b341561041d57600080fd5b610431600160a060020a0360043516610f13565b60405190815260200160405180910390f35b341561044e57600080fd5b610431600160a060020a0360043516610f25565b60405190815260200160405180910390f35b341561047f57600080fd5b61011a600435602435610f44565b005b341561049a57600080fd5b61011a61110f565b005b34156104af57600080fd5b6104c9600160a060020a0360043516602435604435611172565b604051600160a060020a0397881681529587166020870152939095166040808601919091526060850192909252608084015260a083019390935260c082015260e001905180910390f35b341561051e57600080fd5b610431600160a060020a03600435166115f0565b60405190815260200160405180910390f35b341561054f57600080fd5b610431600160a060020a036004351660243561160f565b60405190815260200160405180910390f35b341561058357600080fd5b61058b611788565b604051600160a060020a03909116815260200160405180910390f35b34156105b257600080fd5b61011a600435611797565b005b34156105ca57600080fd5b61011a600435602435611a08565b005b34156105e557600080fd5b6105fc600160a060020a0360043516602435611d62565b604051600160a060020a03998a16815297891660208901529590971660408088019190915260608701949094526080860192909252151560a0850152151560c084015292151560e083015261010082015261012001905180910390f35b341561066457600080fd5b610431600160a060020a0360043516602435611de5565b60405190815260200160405180910390f35b341561069857600080fd5b610143600160a060020a0360043516602435604435611e58565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b34156107e457600080fd5b61011a6004356121d6565b005b61080e600160a060020a0360043581169060243516604435612420565b604051901515815260200160405180910390f35b341561082d57600080fd5b6102a4600160a060020a03600435166024356126f0565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561087157600080fd5b610431600160a060020a0360043516612737565b60405190815260200160405180910390f35b61089f612749565b6108a7612749565b6108af612749565b6108b7612749565b6108bf612749565b6108c7612749565b6108cf612749565b6108d7612749565b6000896040518059106108e75750595b908082528060200260200182016040525b509450896040518059106109095750595b908082528060200260200182016040525b5093508960405180591061092b5750595b908082528060200260200182016040525b5092508960405180591061094d5750595b908082528060200260200182016040525b509150600090505b89811015610bfa57600160a060020a038c16600090815260026020526040902054811061099257610bfa565b600160a060020a038c16600090815260026020526040902080548c83019081106109b857fe5b906000526020600020906002020160005b5054600160a060020a03168582815181106109e057fe5b600160a060020a0390921660209283029091019091015260016000868381518110610a0757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a03168152602001908152602001600020828d01815481101515610a6557fe5b906000526020600020906002020160005b506001015481548110610a8557fe5b906000526020600020906007020160005b5060020154600160a060020a0316848281518110610ab057fe5b600160a060020a0390921660209283029091019091015260016000868381518110610ad757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a03168152602001908152602001600020828d01815481101515610b3557fe5b906000526020600020906002020160005b506001015481548110610b5557fe5b906000526020600020906007020160005b5060040154838281518110610b7757fe5b60209081029091010152610bdb858281518110610b9057fe5b90602001906020020151600160a060020a038e16600090815260026020526040902080548e8501908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b828281518110610be757fe5b602090810290910101525b600101610966565b8484848498509850985098505b505050505093509350935093565b60018110158015610c27575060648111155b1515610c3257600080fd5b600160a060020a03331660009081526005602052604090208190555b50565b600260205281600052604060002081815481101515610c6c57fe5b906000526020600020906002020160005b508054600190910154600160a060020a039091169250905082565b610ca0612749565b610ca8612749565b610cb0612749565b610cb8612749565b6000610cc2612749565b610cca612749565b610cd2612749565b610cda612749565b600160a060020a038c166000908152600160205260408120548b901015610d1b57600160a060020a038d166000908152600160205260409020549550610d1f565b8a95505b85604051805910610d2d5750595b908082528060200260200182016040525b50945085604051805910610d4f5750595b908082528060200260200182016040525b50935085604051805910610d715750595b908082528060200260200182016040525b50925085604051805910610d935750595b908082528060200260200182016040525b509150600090505b85811015610ef757600160a060020a038d16600090815260016020526040902080548d8301908110610dda57fe5b906000526020600020906007020160005b5060010154600160a060020a0316858281518110610e0557fe5b600160a060020a039283166020918202909201810191909152908e16600090815260019091526040902080548d8301908110610e3d57fe5b906000526020600020906007020160005b5060020154600160a060020a0316848281518110610e6857fe5b600160a060020a039283166020918202909201810191909152908e16600090815260019091526040902080548d8301908110610ea057fe5b906000526020600020906007020160005b5060040154838281518110610ec257fe5b60209081029091010152610ed88d8d830161160f565b828281518110610ee457fe5b602090810290910101525b600101610dac565b8484848499509950995099505b50505050505093509350935093565b60056020526000908152604090205481565b600160a060020a0381166000908152600460205260409020545b919050565b600080831515610f58575033905081610fdc565b8360011415610fdc57600160a060020a0333166000908152600260205260409020805484908110610f8557fe5b906000526020600020906002020160005b5054600160a060020a033381166000908152600260205260409020805491909216935084908110610fc357fe5b906000526020600020906002020160005b506001015490505b5b600160a060020a038216600090815260016020526040902080548290811061100157fe5b906000526020600020906007020160005b506005015460ff161580156110665750600160a060020a038216600090815260016020526040902080548290811061104657fe5b906000526020600020906007020160005b5060050154610100900460ff16155b80156110b25750600160a060020a038216600090815260016020526040902080548290811061109157fe5b906000526020600020906007020160005b506005015462010000900460ff16155b15156110bd57600080fd5b600160a060020a03821660009081526001602081905260409091208054839081106110e457fe5b906000526020600020906007020160005b50600501805460ff19169115159190911790555b50505050565b600160a060020a033316600081815260046020526040808220805492905590919082156108fc0290839051600060405180830381858888f193505050501515610c4e57600160a060020a03331660009081526004602052604090208190555b5b50565b60008060008060008060008061118661277f565b8a151561125957600160a060020a038c16600090815260016020526040902080548b9081106111b157fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506112528c8b61160f565b91506115b3565b8a6001141561140857600160a060020a038c166000908152600260205260408120805460019291908d90811061128b57fe5b906000526020600020906002020160005b5060000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a031681526020019081526020016000208b81548110151561130657fe5b906000526020600020906002020160005b50600101548154811061132657fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506112528151600160a060020a038e16600090815260026020526040902080548d908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b91506115b3565b8a600214156115b357600160a060020a038c166000908152600360205260408120805460019291908d90811061143a57fe5b906000526020600020906002020160005b5060000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a031681526020019081526020016000208b8154811015156114b557fe5b906000526020600020906002020160005b5060010154815481106114d557fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506115b08151600160a060020a038e16600090815260036020526040902080548d908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b91505b5b5b805181602001518260400151836080015185856060015186610100015198509850985098509850985098505b50509397509397509397909450565b600160a060020a0381166000908152600560205260409020545b919050565b600160a060020a038216600090815260016020526040812080548291908490811061163657fe5b906000526020600020906007020160005b5060050154610100900460ff161561168057507f436f6d706c65746500000000000000000000000000000000000000000000000061177b565b600160a060020a03841660009081526001602052604090208054849081106116a457fe5b906000526020600020906007020160005b506005015462010000900460ff16156116ef57507f526566756e64656400000000000000000000000000000000000000000000000061177b565b600160a060020a038416600090815260016020526040902080548490811061171357fe5b906000526020600020906007020160005b506005015460ff161561175857507f50656e64696e6720457363726f77204465636973696f6e00000000000000000061177b565b507f496e2050726f67726573730000000000000000000000000000000000000000005b5b5b8091505b5092915050565b600054600160a060020a031681565b600160a060020a033316600090815260026020526040812080548291829182918291879081106117c357fe5b906000526020600020906002020160005b5054600160a060020a03338116600090815260026020526040902080549190921696508790811061180157fe5b906000526020600020906002020160005b506001015493506001600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561184b57fe5b906000526020600020906007020160005b5060050154610100900460ff161580156118b65750600160a060020a038516600090815260016020526040902080548590811061189557fe5b906000526020600020906007020160005b506005015462010000900460ff16155b15156118c157600080fd5b600160a060020a03851660009081526001602052604090208054859081106118e557fe5b906000526020600020906007020160005b5060020154600160a060020a03868116600090815260016020526040902080549190921694508590811061192657fe5b906000526020600020906007020160005b5060030154600160a060020a03861660009081526001602052604090208054919350908590811061196457fe5b906000526020600020906007020160005b5060040154600160a060020a038616600090815260016020819052604090912080549293509091869081106119a657fe5b906000526020600020906007020160005b506005018054911515620100000262ff000019909216919091179055600160a060020a038086166000908152600460205260408082208054850190559185168152208054830190555b505050505050565b600160a060020a033316600090815260036020526040812080548291829182919087908110611a3357fe5b906000526020600020906002020160005b5054600160a060020a033381166000908152600360205260409020805491909216955087908110611a7157fe5b906000526020600020906002020160005b506001015492506001600085600160a060020a0316600160a060020a0316815260200190815260200160002083815481101515611abb57fe5b906000526020600020906007020160005b5060050154610100900460ff16158015611b245750600160a060020a0384166000908152600160205260409020805484908110611b0557fe5b906000526020600020906007020160005b506005015460ff1615156001145b8015611b705750600160a060020a0384166000908152600160205260409020805484908110611b4f57fe5b906000526020600020906007020160005b506005015462010000900460ff16155b1515611b7b57600080fd5b600160a060020a0384166000908152600160205260409020805484908110611b9f57fe5b906000526020600020906007020160005b5060030154600160a060020a038516600090815260016020526040902080549193509084908110611bdd57fe5b906000526020600020906007020160005b50600401549050841515611c8257600160a060020a0384166000908152600160208190526040909120805485908110611c2357fe5b906000526020600020906007020160005b506005018054911515620100000262ff000019909216919091179055600160a060020a0380851660009081526004602052604080822080548501905533909216815220805483019055611a00565b8460011415611a0057600160a060020a0384166000908152600160208190526040909120805485908110611cb257fe5b906000526020600020906007020160005b5060050180549115156101000261ff0019909216919091179055600160a060020a038416600090815260016020526040812080548392600492909187908110611d0857fe5b906000526020600020906007020160005b5060010154600160a060020a03908116825260208083019390935260409182016000908120805490950190945533168352600490915290208054830190555b5b5b505050505050565b600160205281600052604060002081815481101515611d7d57fe5b906000526020600020906007020160005b50805460018201546002830154600384015460048501546005860154600690960154600160a060020a03958616985093851696509190931693909160ff808316926101008104821692620100009091049091169089565b6000811515611e0d5750600160a060020a038216600090815260016020526040902054611e50565b8160011415611e355750600160a060020a038216600090815260026020526040902054611e50565b50600160a060020a0382166000908152600360205260409020545b5b5b92915050565b611e60612749565b611e68612749565b611e70612749565b611e78612749565b611e80612749565b611e88612749565b611e90612749565b611e98612749565b600089604051805910611ea85750595b908082528060200260200182016040525b50945089604051805910611eca5750595b908082528060200260200182016040525b50935089604051805910611eec5750595b908082528060200260200182016040525b50925089604051805910611f0e5750595b908082528060200260200182016040525b509150600090505b89811015610bfa57600160a060020a038c166000908152600360205260409020548110611f5357610bfa565b600160a060020a038c16600090815260036020526040902080548c8301908110611f7957fe5b906000526020600020906002020160005b5054600160a060020a0316858281518110611fa157fe5b600160a060020a0390921660209283029091019091015260016000868381518110611fc857fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a03168152602001908152602001600020828d0181548110151561202657fe5b906000526020600020906002020160005b50600101548154811061204657fe5b906000526020600020906007020160005b5060010154600160a060020a031684828151811061207157fe5b600160a060020a039092166020928302909101909101526001600086838151811061209857fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a03168152602001908152602001600020828d018154811015156120f657fe5b906000526020600020906002020160005b50600101548154811061211657fe5b906000526020600020906007020160005b506004015483828151811061213857fe5b6020908102909101015261219c85828151811061215157fe5b90602001906020020151600160a060020a038e16600090815260036020526040902080548e8501908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b8282815181106121a857fe5b602090810290910101525b600101611f27565b8484848498509850985098505b505050505093509350935093565b600160a060020a033316600090815260016020526040812054819081908190851080156122425750600160a060020a033316600090815260016020526040902080548690811061222257fe5b906000526020600020906007020160005b5060050154610100900460ff16155b801561228e5750600160a060020a033316600090815260016020526040902080548690811061226d57fe5b906000526020600020906007020160005b506005015462010000900460ff16155b151561229957600080fd5b600160a060020a03331660009081526001602081905260409091208054879081106122c057fe5b906000526020600020906007020160005b5060050180549115156101000261ff0019909216919091179055600160a060020a033316600090815260016020526040902080548690811061230f57fe5b906000526020600020906007020160005b50600190810154600160a060020a03338116600090815260209390935260409092208054929091169550908690811061235557fe5b906000526020600020906007020160005b5060020154600160a060020a03338116600090815260016020526040902080549190921694508690811061239657fe5b906000526020600020906007020160005b5060040154600160a060020a0333166000908152600160205260409020805491935090869081106123d457fe5b906000526020600020906007020160005b5060030154600160a060020a0380861660009081526004602052604080822080548701905591861681522080548201905590505b5050505050565b600061242a61277f565b6124326127cb565b60008034118015612455575085600160a060020a031633600160a060020a031614155b151561246057600080fd5b600160a060020a0333811684528781166020850152861660408401526103e834612489886115f0565b0281151561249357fe5b046060840152610190345b60008054600160a060020a03168152600460205260409020805492909104918201905590506060830151348290030360808401526101008301859052600160a060020a0333811680845260009081526001602081815260408084205482880152938b1683526002905291902080549091810161251a83826127e2565b916000526020600020906002020160005b50839081518154600160a060020a031916600160a060020a03919091161781556020820151600191820155600160a060020a038916600090815260036020526040902080549093509150810161258183826127e2565b916000526020600020906002020160005b50839081518154600160a060020a031916600160a060020a03919091161781556020820151600191820155600160a060020a03331660009081526020829052604090208054909350915081016125e88382612814565b916000526020600020906007020160005b50849081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a082015160058201805460ff191691151591909117905560c08201516005820180549115156101000261ff001990921691909117905560e0820151600582018054911515620100000262ff0000199092169190911790556101008201516006909101555060019450505b5050509392505050565b600360205281600052604060002081815481101515610c6c57fe5b906000526020600020906002020160005b508054600190910154600160a060020a039091169250905082565b60046020526000908152604090205481565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b6101206040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015290565b604080519081016040526000808252602082015290565b81548183558181151161280e5760020281600202836000526020600020918201910161280e9190612846565b5b505050565b81548183558181151161280e5760070281600702836000526020600020918201910161280e9190612878565b5b505050565b61287591905b80821115612871578054600160a060020a03191681556000600182015560020161284c565b5090565b90565b61287591905b80821115612871578054600160a060020a031990811682556001820180548216905560028201805490911690556000600382018190556004820181905560058201805462ffffff19169055600682015560070161287e565b5090565b905600a165627a7a723058206e0b7e935ef8c64dcdccf4ffd8eb9ebce807ce1aad0e7b8583aecaa39960b6240029
Deployed Bytecode
0x6060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307023a38811461011e57806314081e391461026a5780631eb22b451461028257806321027354146102c65780632c37dba9146104125780632e4d59c4146104435780633c5192b7146104745780634c0aac9a1461048f57806364d03095146104a457806364fa30701461051357806377db5206146105445780638da5cb5b146105785780638e94a5f3146105a75780639b850322146105bf578063a155beb8146105da578063a6a3a43914610659578063bdbbf4291461068d578063d73b0cf2146107d9578063da1070da146107f1578063dc09996c14610822578063f28d7b8914610866575b5b5b005b341561012957600080fd5b610143600160a060020a0360043516602435604435610897565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b341561027557600080fd5b61011a600435610c15565b005b341561028d57600080fd5b6102a4600160a060020a0360043516602435610c51565b604051600160a060020a03909216825260208201526040908101905180910390f35b34156102d157600080fd5b610143600160a060020a0360043516602435604435610c98565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b341561041d57600080fd5b610431600160a060020a0360043516610f13565b60405190815260200160405180910390f35b341561044e57600080fd5b610431600160a060020a0360043516610f25565b60405190815260200160405180910390f35b341561047f57600080fd5b61011a600435602435610f44565b005b341561049a57600080fd5b61011a61110f565b005b34156104af57600080fd5b6104c9600160a060020a0360043516602435604435611172565b604051600160a060020a0397881681529587166020870152939095166040808601919091526060850192909252608084015260a083019390935260c082015260e001905180910390f35b341561051e57600080fd5b610431600160a060020a03600435166115f0565b60405190815260200160405180910390f35b341561054f57600080fd5b610431600160a060020a036004351660243561160f565b60405190815260200160405180910390f35b341561058357600080fd5b61058b611788565b604051600160a060020a03909116815260200160405180910390f35b34156105b257600080fd5b61011a600435611797565b005b34156105ca57600080fd5b61011a600435602435611a08565b005b34156105e557600080fd5b6105fc600160a060020a0360043516602435611d62565b604051600160a060020a03998a16815297891660208901529590971660408088019190915260608701949094526080860192909252151560a0850152151560c084015292151560e083015261010082015261012001905180910390f35b341561066457600080fd5b610431600160a060020a0360043516602435611de5565b60405190815260200160405180910390f35b341561069857600080fd5b610143600160a060020a0360043516602435604435611e58565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156101905780820151818401525b602001610177565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156101d05780820151818401525b6020016101b7565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156102105780820151818401525b6020016101f7565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156102505780820151818401525b602001610237565b505050509050019850505050505050505060405180910390f35b34156107e457600080fd5b61011a6004356121d6565b005b61080e600160a060020a0360043581169060243516604435612420565b604051901515815260200160405180910390f35b341561082d57600080fd5b6102a4600160a060020a03600435166024356126f0565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561087157600080fd5b610431600160a060020a0360043516612737565b60405190815260200160405180910390f35b61089f612749565b6108a7612749565b6108af612749565b6108b7612749565b6108bf612749565b6108c7612749565b6108cf612749565b6108d7612749565b6000896040518059106108e75750595b908082528060200260200182016040525b509450896040518059106109095750595b908082528060200260200182016040525b5093508960405180591061092b5750595b908082528060200260200182016040525b5092508960405180591061094d5750595b908082528060200260200182016040525b509150600090505b89811015610bfa57600160a060020a038c16600090815260026020526040902054811061099257610bfa565b600160a060020a038c16600090815260026020526040902080548c83019081106109b857fe5b906000526020600020906002020160005b5054600160a060020a03168582815181106109e057fe5b600160a060020a0390921660209283029091019091015260016000868381518110610a0757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a03168152602001908152602001600020828d01815481101515610a6557fe5b906000526020600020906002020160005b506001015481548110610a8557fe5b906000526020600020906007020160005b5060020154600160a060020a0316848281518110610ab057fe5b600160a060020a0390921660209283029091019091015260016000868381518110610ad757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a03168152602001908152602001600020828d01815481101515610b3557fe5b906000526020600020906002020160005b506001015481548110610b5557fe5b906000526020600020906007020160005b5060040154838281518110610b7757fe5b60209081029091010152610bdb858281518110610b9057fe5b90602001906020020151600160a060020a038e16600090815260026020526040902080548e8501908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b828281518110610be757fe5b602090810290910101525b600101610966565b8484848498509850985098505b505050505093509350935093565b60018110158015610c27575060648111155b1515610c3257600080fd5b600160a060020a03331660009081526005602052604090208190555b50565b600260205281600052604060002081815481101515610c6c57fe5b906000526020600020906002020160005b508054600190910154600160a060020a039091169250905082565b610ca0612749565b610ca8612749565b610cb0612749565b610cb8612749565b6000610cc2612749565b610cca612749565b610cd2612749565b610cda612749565b600160a060020a038c166000908152600160205260408120548b901015610d1b57600160a060020a038d166000908152600160205260409020549550610d1f565b8a95505b85604051805910610d2d5750595b908082528060200260200182016040525b50945085604051805910610d4f5750595b908082528060200260200182016040525b50935085604051805910610d715750595b908082528060200260200182016040525b50925085604051805910610d935750595b908082528060200260200182016040525b509150600090505b85811015610ef757600160a060020a038d16600090815260016020526040902080548d8301908110610dda57fe5b906000526020600020906007020160005b5060010154600160a060020a0316858281518110610e0557fe5b600160a060020a039283166020918202909201810191909152908e16600090815260019091526040902080548d8301908110610e3d57fe5b906000526020600020906007020160005b5060020154600160a060020a0316848281518110610e6857fe5b600160a060020a039283166020918202909201810191909152908e16600090815260019091526040902080548d8301908110610ea057fe5b906000526020600020906007020160005b5060040154838281518110610ec257fe5b60209081029091010152610ed88d8d830161160f565b828281518110610ee457fe5b602090810290910101525b600101610dac565b8484848499509950995099505b50505050505093509350935093565b60056020526000908152604090205481565b600160a060020a0381166000908152600460205260409020545b919050565b600080831515610f58575033905081610fdc565b8360011415610fdc57600160a060020a0333166000908152600260205260409020805484908110610f8557fe5b906000526020600020906002020160005b5054600160a060020a033381166000908152600260205260409020805491909216935084908110610fc357fe5b906000526020600020906002020160005b506001015490505b5b600160a060020a038216600090815260016020526040902080548290811061100157fe5b906000526020600020906007020160005b506005015460ff161580156110665750600160a060020a038216600090815260016020526040902080548290811061104657fe5b906000526020600020906007020160005b5060050154610100900460ff16155b80156110b25750600160a060020a038216600090815260016020526040902080548290811061109157fe5b906000526020600020906007020160005b506005015462010000900460ff16155b15156110bd57600080fd5b600160a060020a03821660009081526001602081905260409091208054839081106110e457fe5b906000526020600020906007020160005b50600501805460ff19169115159190911790555b50505050565b600160a060020a033316600081815260046020526040808220805492905590919082156108fc0290839051600060405180830381858888f193505050501515610c4e57600160a060020a03331660009081526004602052604090208190555b5b50565b60008060008060008060008061118661277f565b8a151561125957600160a060020a038c16600090815260016020526040902080548b9081106111b157fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506112528c8b61160f565b91506115b3565b8a6001141561140857600160a060020a038c166000908152600260205260408120805460019291908d90811061128b57fe5b906000526020600020906002020160005b5060000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600260008e600160a060020a0316600160a060020a031681526020019081526020016000208b81548110151561130657fe5b906000526020600020906002020160005b50600101548154811061132657fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506112528151600160a060020a038e16600090815260026020526040902080548d908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b91506115b3565b8a600214156115b357600160a060020a038c166000908152600360205260408120805460019291908d90811061143a57fe5b906000526020600020906002020160005b5060000160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a031681526020019081526020016000208b8154811015156114b557fe5b906000526020600020906002020160005b5060010154815481106114d557fe5b906000526020600020906007020160005b5061012060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460ff808216151560a08401526101008083048216151560c08501526201000090920416151560e08301526006909201549181019190915290506115b08151600160a060020a038e16600090815260036020526040902080548d908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b91505b5b5b805181602001518260400151836080015185856060015186610100015198509850985098509850985098505b50509397509397509397909450565b600160a060020a0381166000908152600560205260409020545b919050565b600160a060020a038216600090815260016020526040812080548291908490811061163657fe5b906000526020600020906007020160005b5060050154610100900460ff161561168057507f436f6d706c65746500000000000000000000000000000000000000000000000061177b565b600160a060020a03841660009081526001602052604090208054849081106116a457fe5b906000526020600020906007020160005b506005015462010000900460ff16156116ef57507f526566756e64656400000000000000000000000000000000000000000000000061177b565b600160a060020a038416600090815260016020526040902080548490811061171357fe5b906000526020600020906007020160005b506005015460ff161561175857507f50656e64696e6720457363726f77204465636973696f6e00000000000000000061177b565b507f496e2050726f67726573730000000000000000000000000000000000000000005b5b5b8091505b5092915050565b600054600160a060020a031681565b600160a060020a033316600090815260026020526040812080548291829182918291879081106117c357fe5b906000526020600020906002020160005b5054600160a060020a03338116600090815260026020526040902080549190921696508790811061180157fe5b906000526020600020906002020160005b506001015493506001600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561184b57fe5b906000526020600020906007020160005b5060050154610100900460ff161580156118b65750600160a060020a038516600090815260016020526040902080548590811061189557fe5b906000526020600020906007020160005b506005015462010000900460ff16155b15156118c157600080fd5b600160a060020a03851660009081526001602052604090208054859081106118e557fe5b906000526020600020906007020160005b5060020154600160a060020a03868116600090815260016020526040902080549190921694508590811061192657fe5b906000526020600020906007020160005b5060030154600160a060020a03861660009081526001602052604090208054919350908590811061196457fe5b906000526020600020906007020160005b5060040154600160a060020a038616600090815260016020819052604090912080549293509091869081106119a657fe5b906000526020600020906007020160005b506005018054911515620100000262ff000019909216919091179055600160a060020a038086166000908152600460205260408082208054850190559185168152208054830190555b505050505050565b600160a060020a033316600090815260036020526040812080548291829182919087908110611a3357fe5b906000526020600020906002020160005b5054600160a060020a033381166000908152600360205260409020805491909216955087908110611a7157fe5b906000526020600020906002020160005b506001015492506001600085600160a060020a0316600160a060020a0316815260200190815260200160002083815481101515611abb57fe5b906000526020600020906007020160005b5060050154610100900460ff16158015611b245750600160a060020a0384166000908152600160205260409020805484908110611b0557fe5b906000526020600020906007020160005b506005015460ff1615156001145b8015611b705750600160a060020a0384166000908152600160205260409020805484908110611b4f57fe5b906000526020600020906007020160005b506005015462010000900460ff16155b1515611b7b57600080fd5b600160a060020a0384166000908152600160205260409020805484908110611b9f57fe5b906000526020600020906007020160005b5060030154600160a060020a038516600090815260016020526040902080549193509084908110611bdd57fe5b906000526020600020906007020160005b50600401549050841515611c8257600160a060020a0384166000908152600160208190526040909120805485908110611c2357fe5b906000526020600020906007020160005b506005018054911515620100000262ff000019909216919091179055600160a060020a0380851660009081526004602052604080822080548501905533909216815220805483019055611a00565b8460011415611a0057600160a060020a0384166000908152600160208190526040909120805485908110611cb257fe5b906000526020600020906007020160005b5060050180549115156101000261ff0019909216919091179055600160a060020a038416600090815260016020526040812080548392600492909187908110611d0857fe5b906000526020600020906007020160005b5060010154600160a060020a03908116825260208083019390935260409182016000908120805490950190945533168352600490915290208054830190555b5b5b505050505050565b600160205281600052604060002081815481101515611d7d57fe5b906000526020600020906007020160005b50805460018201546002830154600384015460048501546005860154600690960154600160a060020a03958616985093851696509190931693909160ff808316926101008104821692620100009091049091169089565b6000811515611e0d5750600160a060020a038216600090815260016020526040902054611e50565b8160011415611e355750600160a060020a038216600090815260026020526040902054611e50565b50600160a060020a0382166000908152600360205260409020545b5b5b92915050565b611e60612749565b611e68612749565b611e70612749565b611e78612749565b611e80612749565b611e88612749565b611e90612749565b611e98612749565b600089604051805910611ea85750595b908082528060200260200182016040525b50945089604051805910611eca5750595b908082528060200260200182016040525b50935089604051805910611eec5750595b908082528060200260200182016040525b50925089604051805910611f0e5750595b908082528060200260200182016040525b509150600090505b89811015610bfa57600160a060020a038c166000908152600360205260409020548110611f5357610bfa565b600160a060020a038c16600090815260036020526040902080548c8301908110611f7957fe5b906000526020600020906002020160005b5054600160a060020a0316858281518110611fa157fe5b600160a060020a0390921660209283029091019091015260016000868381518110611fc857fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a03168152602001908152602001600020828d0181548110151561202657fe5b906000526020600020906002020160005b50600101548154811061204657fe5b906000526020600020906007020160005b5060010154600160a060020a031684828151811061207157fe5b600160a060020a039092166020928302909101909101526001600086838151811061209857fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600360008e600160a060020a0316600160a060020a03168152602001908152602001600020828d018154811015156120f657fe5b906000526020600020906002020160005b50600101548154811061211657fe5b906000526020600020906007020160005b506004015483828151811061213857fe5b6020908102909101015261219c85828151811061215157fe5b90602001906020020151600160a060020a038e16600090815260036020526040902080548e8501908110610bc057fe5b906000526020600020906002020160005b506001015461160f565b8282815181106121a857fe5b602090810290910101525b600101611f27565b8484848498509850985098505b505050505093509350935093565b600160a060020a033316600090815260016020526040812054819081908190851080156122425750600160a060020a033316600090815260016020526040902080548690811061222257fe5b906000526020600020906007020160005b5060050154610100900460ff16155b801561228e5750600160a060020a033316600090815260016020526040902080548690811061226d57fe5b906000526020600020906007020160005b506005015462010000900460ff16155b151561229957600080fd5b600160a060020a03331660009081526001602081905260409091208054879081106122c057fe5b906000526020600020906007020160005b5060050180549115156101000261ff0019909216919091179055600160a060020a033316600090815260016020526040902080548690811061230f57fe5b906000526020600020906007020160005b50600190810154600160a060020a03338116600090815260209390935260409092208054929091169550908690811061235557fe5b906000526020600020906007020160005b5060020154600160a060020a03338116600090815260016020526040902080549190921694508690811061239657fe5b906000526020600020906007020160005b5060040154600160a060020a0333166000908152600160205260409020805491935090869081106123d457fe5b906000526020600020906007020160005b5060030154600160a060020a0380861660009081526004602052604080822080548701905591861681522080548201905590505b5050505050565b600061242a61277f565b6124326127cb565b60008034118015612455575085600160a060020a031633600160a060020a031614155b151561246057600080fd5b600160a060020a0333811684528781166020850152861660408401526103e834612489886115f0565b0281151561249357fe5b046060840152610190345b60008054600160a060020a03168152600460205260409020805492909104918201905590506060830151348290030360808401526101008301859052600160a060020a0333811680845260009081526001602081815260408084205482880152938b1683526002905291902080549091810161251a83826127e2565b916000526020600020906002020160005b50839081518154600160a060020a031916600160a060020a03919091161781556020820151600191820155600160a060020a038916600090815260036020526040902080549093509150810161258183826127e2565b916000526020600020906002020160005b50839081518154600160a060020a031916600160a060020a03919091161781556020820151600191820155600160a060020a03331660009081526020829052604090208054909350915081016125e88382612814565b916000526020600020906007020160005b50849081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a082015160058201805460ff191691151591909117905560c08201516005820180549115156101000261ff001990921691909117905560e0820151600582018054911515620100000262ff0000199092169190911790556101008201516006909101555060019450505b5050509392505050565b600360205281600052604060002081815481101515610c6c57fe5b906000526020600020906002020160005b508054600190910154600160a060020a039091169250905082565b60046020526000908152604090205481565b60206040519081016040526000815290565b60206040519081016040526000815290565b60206040519081016040526000815290565b6101206040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015290565b604080519081016040526000808252602082015290565b81548183558181151161280e5760020281600202836000526020600020918201910161280e9190612846565b5b505050565b81548183558181151161280e5760070281600702836000526020600020918201910161280e9190612878565b5b505050565b61287591905b80821115612871578054600160a060020a03191681556000600182015560020161284c565b5090565b90565b61287591905b80821115612871578054600160a060020a031990811682556001820180548216905560028201805490911690556000600382018190556004820181905560058201805462ffffff19169055600682015560070161287e565b5090565b905600a165627a7a723058206e0b7e935ef8c64dcdccf4ffd8eb9ebce807ce1aad0e7b8583aecaa39960b6240029
Swarm Source
bzzr://6e0b7e935ef8c64dcdccf4ffd8eb9ebce807ce1aad0e7b8583aecaa39960b624
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $3,549.38 | 1.0099 | $3,584.5 |
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.