ETH Price: $2,942.14 (-0.53%)
 

Overview

ETH Balance

0.11 ETH

Eth Value

$323.64 (@ $2,942.14/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Contribute To Ca...56053492018-05-13 7:44:182813 days ago1526197458IN
0x10Ec03b7...e381cA603
0.01 ETH0.000964184
Create Campaign54293922018-04-12 21:11:342844 days ago1523567494IN
0x10Ec03b7...e381cA603
0.01 ETH0.000286311
Contribute To Ca...53266202018-03-26 18:09:472861 days ago1522087787IN
0x10Ec03b7...e381cA603
0.01 ETH0.000413352.1
Create Campaign53125002018-03-24 10:05:302863 days ago1521885930IN
0x10Ec03b7...e381cA603
0.1 ETH0.000570332

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer56053492018-05-13 7:44:182813 days ago1526197458
0x10Ec03b7...e381cA603
0.02 ETH
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EthPledge

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-24
*/

pragma solidity ^0.4.2;

/*

EthPledge allows people to pledge to donate a certain amount to a charity, which gets sent only if others match it. A user may pledge to donate 10 Ether to a charity, for example, which will get listed here and will be sent to the charity later only if other people also collectively contribute 10 Ether under that pledge. You can also pledge to donate several times what other people donate, up to a certain amount -- for example, you may choose to put up 10 Ether, which gets sent to the charity if others only contribute 2 Ether.

Matching pledges of this kind are quite common (companies may pledge to match all charitable donations their employees make up to a certain amount, for example, or it may just be a casual arrangement between 2 people) and by running on the Ethereum blockchain, EthPledge guarantees 100% transparency. 

Note that as Ethereum is still relatively new at this stage, not many charities have an Ethereum address to take donations yet, though it's our hope that more will come. The main charity with an Ethereum donation address at this time is Heifer International, whose Ethereum address is 0xb30cb3b3E03A508Db2A0a3e07BA1297b47bb0fb1 (see https://www.heifer.org/what-you-can-do/give/digital-currency.html)

Visit EthPledge.com to play with this smart contract. Reach out: [email protected]

*/

contract EthPledge {
    
    address public owner;
    
    function EthPledge() {
        owner = msg.sender;
    }
    
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    struct Campaign {
        address benefactor; // Person starting the campaign, who puts in some ETH to donate to an Ethereum address. 
        address charity;
        uint amountPledged;
        uint amountRaised;
        uint donationsReceived;
        uint multiplier; // If this was 5, for example, other donators would only need to put up 1/5th of the amount the benefactor does for the pledge to be successful and all funds to be donated. Eg. Benefactor pledges 10 ETH, then after only 2 ETH is contributed to the campaign, all funds are send to the charity and the campaign ends
        bool active;
        bool successful;
        uint timeStarted;
        bytes32 descriptionPart1; // Allow a description of up to 132 characters. Each bytes32 part can only hold 32 characters.
        bytes32 descriptionPart2;
        bytes32 descriptionPart3;
        bytes32 descriptionPart4;
    }
    
    mapping (uint => Campaign) public campaign;
    
    mapping (address => uint[]) public campaignsStartedByUser;
    
    mapping (address => mapping(uint => uint)) public addressToCampaignIDToFundsDonated;
    
    mapping (address => uint[]) public campaignIDsDonatedToByUser; // Will contain duplicates if a user donates to a campaign twice
    
    struct Donation {
        address donator;
        uint amount;
        uint timeSent;
    }
    
    mapping (uint => mapping(uint => Donation)) public campaignIDtoDonationNumberToDonation;
    
    uint public totalCampaigns;
    
    uint public totalDonations;
    
    uint public totalETHraised;
    
    uint public minimumPledgeAmount = 10**14; // Basically nothing, can be adjusted later
    
    function createCampaign (address charity, uint multiplier, bytes32 descriptionPart1, bytes32 descriptionPart2, bytes32 descriptionPart3, bytes32 descriptionPart4) payable {
        require (msg.value >= minimumPledgeAmount);
        require (multiplier > 0);
        campaign[totalCampaigns].benefactor = msg.sender;
        campaign[totalCampaigns].charity = charity;
        campaign[totalCampaigns].multiplier = multiplier;
        campaign[totalCampaigns].timeStarted = now;
        campaign[totalCampaigns].amountPledged = msg.value;
        campaign[totalCampaigns].active = true;
        campaign[totalCampaigns].descriptionPart1 = descriptionPart1;
        campaign[totalCampaigns].descriptionPart2 = descriptionPart2;
        campaign[totalCampaigns].descriptionPart3 = descriptionPart3;
        campaign[totalCampaigns].descriptionPart4 = descriptionPart4;
        campaignsStartedByUser[msg.sender].push(totalCampaigns);
        totalETHraised += msg.value;
        totalCampaigns++;
    }
    
    function cancelCampaign (uint campaignID) {
        
        // If the benefactor cancels their campaign, they get a refund of their pledge amount in line with how much others have donated - if you cancel the pledge when 10% of the donation target has been reached, for example, 10% of the pledge amount (along with the donations) will be sent to the charity address, and 90% of the pledge amount you put up will be returned to you
        
        require (msg.sender == campaign[campaignID].benefactor);
        require (campaign[campaignID].active == true);
        campaign[campaignID].active = false;
        campaign[campaignID].successful = false;
        uint amountShort = campaign[campaignID].amountPledged - (campaign[campaignID].amountRaised * campaign[campaignID].multiplier);
        uint amountToSendToCharity = campaign[campaignID].amountPledged + campaign[campaignID].amountRaised - amountShort;
        campaign[campaignID].charity.transfer(amountToSendToCharity);
        campaign[campaignID].benefactor.transfer(amountShort);
    }
    
    function contributeToCampaign (uint campaignID) payable {
        require (msg.value > 0);
        require (campaign[campaignID].active == true);
        campaignIDsDonatedToByUser[msg.sender].push(campaignID);
        addressToCampaignIDToFundsDonated[msg.sender][campaignID] += msg.value;
        
        campaignIDtoDonationNumberToDonation[campaignID][campaign[campaignID].donationsReceived].donator = msg.sender;
        campaignIDtoDonationNumberToDonation[campaignID][campaign[campaignID].donationsReceived].amount = msg.value;
        campaignIDtoDonationNumberToDonation[campaignID][campaign[campaignID].donationsReceived].timeSent = now;
        
        campaign[campaignID].donationsReceived++;
        totalDonations++;
        totalETHraised += msg.value;
        campaign[campaignID].amountRaised += msg.value;
        if (campaign[campaignID].amountRaised >= (campaign[campaignID].amountPledged / campaign[campaignID].multiplier)) {
            // Target reached
            campaign[campaignID].active = false;
            campaign[campaignID].successful = true;
            campaign[campaignID].charity.transfer(campaign[campaignID].amountRaised + campaign[campaignID].amountPledged);
        }
    }
    
    function adjustMinimumPledgeAmount (uint newMinimum) onlyOwner {
        require (newMinimum > 0);
        minimumPledgeAmount = newMinimum;
    }
    
    // Below are view functions that an external contract can call to get information on a campaign ID or user
    
    function returnHowMuchMoreETHNeeded (uint campaignID) view returns (uint) {
        return (campaign[campaignID].amountPledged / campaign[campaignID].multiplier - campaign[campaignID].amountRaised);
    }
    
    function generalInfo() view returns (uint, uint, uint) {
        return (totalCampaigns, totalDonations, totalETHraised);
    }
    
    function lookupDonation (uint campaignID, uint donationNumber) view returns (address, uint, uint) {
        return (campaignIDtoDonationNumberToDonation[campaignID][donationNumber].donator, campaignIDtoDonationNumberToDonation[campaignID][donationNumber].amount, campaignIDtoDonationNumberToDonation[campaignID][donationNumber].timeSent);
    }
    
    // Below two functions have to be split into two parts, otherwise there are call-stack too deep errors
    
    function lookupCampaignPart1 (uint campaignID) view returns (address, address, uint, uint, uint, bytes32, bytes32) {
        return (campaign[campaignID].benefactor, campaign[campaignID].charity, campaign[campaignID].amountPledged, campaign[campaignID].amountRaised,campaign[campaignID].donationsReceived, campaign[campaignID].descriptionPart1, campaign[campaignID].descriptionPart2);
    }
    
    function lookupCampaignPart2 (uint campaignID) view returns (uint, bool, bool, uint, bytes32, bytes32) {
        return (campaign[campaignID].multiplier, campaign[campaignID].active, campaign[campaignID].successful, campaign[campaignID].timeStarted, campaign[campaignID].descriptionPart3, campaign[campaignID].descriptionPart4);
    }
    
    // Below functions are probably not necessary, but included just in case another contract needs this information in future
    
    function lookupUserDonationHistoryByCampaignID (address user) view returns (uint[]) {
        return (campaignIDsDonatedToByUser[user]);
    }
    
    function lookupAmountUserDonatedToCampaign (address user, uint campaignID) view returns (uint) {
        return (addressToCampaignIDToFundsDonated[user][campaignID]);
    }
    
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"charity","type":"address"},{"name":"multiplier","type":"uint256"},{"name":"descriptionPart1","type":"bytes32"},{"name":"descriptionPart2","type":"bytes32"},{"name":"descriptionPart3","type":"bytes32"},{"name":"descriptionPart4","type":"bytes32"}],"name":"createCampaign","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalCampaigns","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"campaignID","type":"uint256"}],"name":"contributeToCampaign","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"campaignID","type":"uint256"}],"name":"returnHowMuchMoreETHNeeded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"campaignID","type":"uint256"},{"name":"donationNumber","type":"uint256"}],"name":"lookupDonation","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"addressToCampaignIDToFundsDonated","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"generalInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"campaignID","type":"uint256"}],"name":"cancelCampaign","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"},{"name":"campaignID","type":"uint256"}],"name":"lookupAmountUserDonatedToCampaign","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalETHraised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newMinimum","type":"uint256"}],"name":"adjustMinimumPledgeAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"campaignsStartedByUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"campaign","outputs":[{"name":"benefactor","type":"address"},{"name":"charity","type":"address"},{"name":"amountPledged","type":"uint256"},{"name":"amountRaised","type":"uint256"},{"name":"donationsReceived","type":"uint256"},{"name":"multiplier","type":"uint256"},{"name":"active","type":"bool"},{"name":"successful","type":"bool"},{"name":"timeStarted","type":"uint256"},{"name":"descriptionPart1","type":"bytes32"},{"name":"descriptionPart2","type":"bytes32"},{"name":"descriptionPart3","type":"bytes32"},{"name":"descriptionPart4","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"lookupUserDonationHistoryByCampaignID","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"campaignID","type":"uint256"}],"name":"lookupCampaignPart1","outputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"},{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDonations","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumPledgeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"campaignIDtoDonationNumberToDonation","outputs":[{"name":"donator","type":"address"},{"name":"amount","type":"uint256"},{"name":"timeSent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"campaignID","type":"uint256"}],"name":"lookupCampaignPart2","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bool"},{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"},{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"campaignIDsDonatedToByUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

6060604052655af3107a4000600955341561001957600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117dc806100686000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630161d5f01461012257806302932f561461018d5780630b7ef89b146101b65780631527d657146101ce57806318cf1c251461020557806323eba3e31461027f57806325a6c545146102d557806345598b4a1461030c5780637a6b2a2c1461032f5780637d4504e014610385578063806c6188146103ae5780638da5cb5b146103d1578063bf832a3514610426578063ccd390371461047c578063ceea391414610587578063d73f0b2514610615578063de2ed893146106de578063decf1e6414610707578063fa99a77c14610730578063fcd24400146107aa578063fe6c52f31461081c575b600080fd5b61018b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803560001916906020019091908035600019169060200190919080356000191690602001909190803560001916906020019091905050610872565b005b341561019857600080fd5b6101a0610add565b6040518082815260200191505060405180910390f35b6101cc6004808035906020019091905050610ae3565b005b34156101d957600080fd5b6101ef6004808035906020019091905050610eb3565b6040518082815260200191505060405180910390f35b341561021057600080fd5b61022f6004808035906020019091908035906020019091905050610f0c565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561028a57600080fd5b6102bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb6565b6040518082815260200191505060405180910390f35b34156102e057600080fd5b6102e8610fdb565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561031757600080fd5b61032d6004808035906020019091905050610ff4565b005b341561033a57600080fd5b61036f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611268565b6040518082815260200191505060405180910390f35b341561039057600080fd5b6103986112c3565b6040518082815260200191505060405180910390f35b34156103b957600080fd5b6103cf60048080359060200190919050506112c9565b005b34156103dc57600080fd5b6103e461133d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043157600080fd5b610466600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611362565b6040518082815260200191505060405180910390f35b341561048757600080fd5b61049d6004808035906020019091905050611393565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c81526020018b81526020018a8152602001898152602001881515151581526020018715151515815260200186815260200185600019166000191681526020018460001916600019168152602001836000191660001916815260200182600019166000191681526020019d505050505050505050505050505060405180910390f35b341561059257600080fd5b6105be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611453565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106015780820151818401526020810190506105e6565b505050509050019250505060405180910390f35b341561062057600080fd5b61063660048080359060200190919050506114f0565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018360001916600019168152602001826000191660001916815260200197505050505050505060405180910390f35b34156106e957600080fd5b6106f16115f5565b6040518082815260200191505060405180910390f35b341561071257600080fd5b61071a6115fb565b6040518082815260200191505060405180910390f35b341561073b57600080fd5b61075a6004808035906020019091908035906020019091905050611601565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b34156107b557600080fd5b6107cb6004808035906020019091905050611658565b60405180878152602001861515151581526020018515151515815260200184815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b341561082757600080fd5b61085c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061171a565b6040518082815260200191505060405180910390f35b600954341015151561088357600080fd5b60008511151561089257600080fd5b3360016000600654815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508560016000600654815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460016000600654815260200190815260200160002060050181905550426001600060065481526020019081526020016000206007018190555034600160006006548152602001908152602001600020600201819055506001806000600654815260200190815260200160002060060160006101000a81548160ff02191690831515021790555083600160006006548152602001908152602001600020600801816000191690555082600160006006548152602001908152602001600020600901816000191690555081600160006006548152602001908152602001600020600a01816000191690555080600160006006548152602001908152602001600020600b018160001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a9c919061174b565b916000526020600020900160006006549091909150555034600860008282540192505081905550600660008154809291906001019190505550505050505050565b60065481565b600034111515610af257600080fd5b600115156001600083815260200190815260200160002060060160009054906101000a900460ff161515141515610b2857600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610b79919061174b565b91600052602060002090016000839091909150555034600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282540192505081905550336005600083815260200190815260200160002060006001600085815260200190815260200160002060040154815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600560008381526020019081526020016000206000600160008581526020019081526020016000206004015481526020019081526020016000206001018190555042600560008381526020019081526020016000206000600160008581526020019081526020016000206004015481526020019081526020016000206002018190555060016000828152602001908152602001600020600401600081548092919060010191905055506007600081548092919060010191905055503460086000828254019250508190555034600160008381526020019081526020016000206003016000828254019250508190555060016000828152602001908152602001600020600501546001600083815260200190815260200160002060020154811515610d8f57fe5b046001600083815260200190815260200160002060030154101515610eb05760006001600083815260200190815260200160002060060160006101000a81548160ff021916908315150217905550600180600083815260200190815260200160002060060160016101000a81548160ff0219169083151502179055506001600082815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600201546001600085815260200190815260200160002060030154019081150290604051600060405180830381858888f193505050501515610eaf57600080fd5b5b50565b6000600160008381526020019081526020016000206003015460016000848152602001908152602001600020600501546001600085815260200190815260200160002060020154811515610f0357fe5b04039050919050565b600080600060056000868152602001908152602001600020600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660056000878152602001908152602001600020600086815260200190815260200160002060010154600560008881526020019081526020016000206000878152602001908152602001600020600201549250925092509250925092565b6003602052816000526040600020602052806000526040600020600091509150505481565b6000806000600654600754600854925092509250909192565b6000806001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106757600080fd5b600115156001600085815260200190815260200160002060060160009054906101000a900460ff16151514151561109d57600080fd5b60006001600085815260200190815260200160002060060160006101000a81548160ff02191690831515021790555060006001600085815260200190815260200160002060060160016101000a81548160ff021916908315150217905550600160008481526020019081526020016000206005015460016000858152602001908152602001600020600301540260016000858152602001908152602001600020600201540391508160016000858152602001908152602001600020600301546001600086815260200190815260200160002060020154010390506001600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156111ed57600080fd5b6001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561126357600080fd5b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132457600080fd5b60008111151561133357600080fd5b8060098190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528160005260406000208181548110151561137d57fe5b9060005260206000209001600091509150505481565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060060160019054906101000a900460ff169080600701549080600801549080600901549080600a01549080600b015490508d565b61145b611777565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156114e457602002820191906000526020600020905b8154815260200190600101908083116114d0575b50505050509050919050565b60008060008060008060006001600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008b815260200190815260200160002060020154600160008c815260200190815260200160002060030154600160008d815260200190815260200160002060040154600160008e815260200190815260200160002060080154600160008f8152602001908152602001600020600901549650965096509650965096509650919395979092949650565b60075481565b60095481565b6005602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b60008060008060008060016000888152602001908152602001600020600501546001600089815260200190815260200160002060060160009054906101000a900460ff16600160008a815260200190815260200160002060060160019054906101000a900460ff16600160008b815260200190815260200160002060070154600160008c8152602001908152602001600020600a0154600160008d8152602001908152602001600020600b015495509550955095509550955091939550919395565b60046020528160005260406000208181548110151561173557fe5b9060005260206000209001600091509150505481565b81548183558181151161177257818360005260206000209182019101611771919061178b565b5b505050565b602060405190810160405280600081525090565b6117ad91905b808211156117a9576000816000905550600101611791565b5090565b905600a165627a7a72305820afaafa26ac8afaaaaf361f9e5fc41baacc5612d6f8cde0b829ec44f6791f0f0f0029

Deployed Bytecode

0x60606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630161d5f01461012257806302932f561461018d5780630b7ef89b146101b65780631527d657146101ce57806318cf1c251461020557806323eba3e31461027f57806325a6c545146102d557806345598b4a1461030c5780637a6b2a2c1461032f5780637d4504e014610385578063806c6188146103ae5780638da5cb5b146103d1578063bf832a3514610426578063ccd390371461047c578063ceea391414610587578063d73f0b2514610615578063de2ed893146106de578063decf1e6414610707578063fa99a77c14610730578063fcd24400146107aa578063fe6c52f31461081c575b600080fd5b61018b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803560001916906020019091908035600019169060200190919080356000191690602001909190803560001916906020019091905050610872565b005b341561019857600080fd5b6101a0610add565b6040518082815260200191505060405180910390f35b6101cc6004808035906020019091905050610ae3565b005b34156101d957600080fd5b6101ef6004808035906020019091905050610eb3565b6040518082815260200191505060405180910390f35b341561021057600080fd5b61022f6004808035906020019091908035906020019091905050610f0c565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b341561028a57600080fd5b6102bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb6565b6040518082815260200191505060405180910390f35b34156102e057600080fd5b6102e8610fdb565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561031757600080fd5b61032d6004808035906020019091905050610ff4565b005b341561033a57600080fd5b61036f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611268565b6040518082815260200191505060405180910390f35b341561039057600080fd5b6103986112c3565b6040518082815260200191505060405180910390f35b34156103b957600080fd5b6103cf60048080359060200190919050506112c9565b005b34156103dc57600080fd5b6103e461133d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043157600080fd5b610466600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611362565b6040518082815260200191505060405180910390f35b341561048757600080fd5b61049d6004808035906020019091905050611393565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c81526020018b81526020018a8152602001898152602001881515151581526020018715151515815260200186815260200185600019166000191681526020018460001916600019168152602001836000191660001916815260200182600019166000191681526020019d505050505050505050505050505060405180910390f35b341561059257600080fd5b6105be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611453565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106015780820151818401526020810190506105e6565b505050509050019250505060405180910390f35b341561062057600080fd5b61063660048080359060200190919050506114f0565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018360001916600019168152602001826000191660001916815260200197505050505050505060405180910390f35b34156106e957600080fd5b6106f16115f5565b6040518082815260200191505060405180910390f35b341561071257600080fd5b61071a6115fb565b6040518082815260200191505060405180910390f35b341561073b57600080fd5b61075a6004808035906020019091908035906020019091905050611601565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b34156107b557600080fd5b6107cb6004808035906020019091905050611658565b60405180878152602001861515151581526020018515151515815260200184815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b341561082757600080fd5b61085c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061171a565b6040518082815260200191505060405180910390f35b600954341015151561088357600080fd5b60008511151561089257600080fd5b3360016000600654815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508560016000600654815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460016000600654815260200190815260200160002060050181905550426001600060065481526020019081526020016000206007018190555034600160006006548152602001908152602001600020600201819055506001806000600654815260200190815260200160002060060160006101000a81548160ff02191690831515021790555083600160006006548152602001908152602001600020600801816000191690555082600160006006548152602001908152602001600020600901816000191690555081600160006006548152602001908152602001600020600a01816000191690555080600160006006548152602001908152602001600020600b018160001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a9c919061174b565b916000526020600020900160006006549091909150555034600860008282540192505081905550600660008154809291906001019190505550505050505050565b60065481565b600034111515610af257600080fd5b600115156001600083815260200190815260200160002060060160009054906101000a900460ff161515141515610b2857600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610b79919061174b565b91600052602060002090016000839091909150555034600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282540192505081905550336005600083815260200190815260200160002060006001600085815260200190815260200160002060040154815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600560008381526020019081526020016000206000600160008581526020019081526020016000206004015481526020019081526020016000206001018190555042600560008381526020019081526020016000206000600160008581526020019081526020016000206004015481526020019081526020016000206002018190555060016000828152602001908152602001600020600401600081548092919060010191905055506007600081548092919060010191905055503460086000828254019250508190555034600160008381526020019081526020016000206003016000828254019250508190555060016000828152602001908152602001600020600501546001600083815260200190815260200160002060020154811515610d8f57fe5b046001600083815260200190815260200160002060030154101515610eb05760006001600083815260200190815260200160002060060160006101000a81548160ff021916908315150217905550600180600083815260200190815260200160002060060160016101000a81548160ff0219169083151502179055506001600082815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600201546001600085815260200190815260200160002060030154019081150290604051600060405180830381858888f193505050501515610eaf57600080fd5b5b50565b6000600160008381526020019081526020016000206003015460016000848152602001908152602001600020600501546001600085815260200190815260200160002060020154811515610f0357fe5b04039050919050565b600080600060056000868152602001908152602001600020600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660056000878152602001908152602001600020600086815260200190815260200160002060010154600560008881526020019081526020016000206000878152602001908152602001600020600201549250925092509250925092565b6003602052816000526040600020602052806000526040600020600091509150505481565b6000806000600654600754600854925092509250909192565b6000806001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106757600080fd5b600115156001600085815260200190815260200160002060060160009054906101000a900460ff16151514151561109d57600080fd5b60006001600085815260200190815260200160002060060160006101000a81548160ff02191690831515021790555060006001600085815260200190815260200160002060060160016101000a81548160ff021916908315150217905550600160008481526020019081526020016000206005015460016000858152602001908152602001600020600301540260016000858152602001908152602001600020600201540391508160016000858152602001908152602001600020600301546001600086815260200190815260200160002060020154010390506001600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156111ed57600080fd5b6001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561126357600080fd5b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132457600080fd5b60008111151561133357600080fd5b8060098190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528160005260406000208181548110151561137d57fe5b9060005260206000209001600091509150505481565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060060160019054906101000a900460ff169080600701549080600801549080600901549080600a01549080600b015490508d565b61145b611777565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156114e457602002820191906000526020600020905b8154815260200190600101908083116114d0575b50505050509050919050565b60008060008060008060006001600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008b815260200190815260200160002060020154600160008c815260200190815260200160002060030154600160008d815260200190815260200160002060040154600160008e815260200190815260200160002060080154600160008f8152602001908152602001600020600901549650965096509650965096509650919395979092949650565b60075481565b60095481565b6005602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b60008060008060008060016000888152602001908152602001600020600501546001600089815260200190815260200160002060060160009054906101000a900460ff16600160008a815260200190815260200160002060060160019054906101000a900460ff16600160008b815260200190815260200160002060070154600160008c8152602001908152602001600020600a0154600160008d8152602001908152602001600020600b015495509550955095509550955091939550919395565b60046020528160005260406000208181548110151561173557fe5b9060005260206000209001600091509150505481565b81548183558181151161177257818360005260206000209182019101611771919061178b565b5b505050565b602060405190810160405280600081525090565b6117ad91905b808211156117a9576000816000905550600101611791565b5090565b905600a165627a7a72305820afaafa26ac8afaaaaf361f9e5fc41baacc5612d6f8cde0b829ec44f6791f0f0f0029

Swarm Source

bzzr://afaafa26ac8afaaaaf361f9e5fc41baacc5612d6f8cde0b829ec44f6791f0f0f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.