Sponsored:   Color - Revolutionizing the Dapp Ecosystem, Bounty & Airdrop, Get 240,000 COL NOW!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 1 txn
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: Decentralized_Deposit_Network
Compiler Version: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.16;

contract owned {
    address public owner;

    function owned()  public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner  public {
        owner = newOwner;
    }
}

contract tokenRecipient {
    event receivedEther(address sender, uint amount);
    event receivedTokens(address _from, uint256 _value, address _token, bytes _extraData);

    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public {
        Token t = Token(_token);
        require(t.transferFrom(_from, this, _value));
        receivedTokens(_from, _value, _token, _extraData);
    }

    function () payable  public {
        receivedEther(msg.sender, msg.value);
    }
}

interface Token {
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
}

contract Decentralized_Deposit_Network is owned, tokenRecipient {
    // Contract Variables and events
    uint public minimumQuorum;
    uint public debatingPeriodInMinutes;
    int public majorityMargin;
    Proposal[] public proposals;
    uint public numProposals;
    mapping (address => uint) public memberId;
    Member[] public members;

    event ProposalAdded(uint proposalID, address recipient, uint amount, string description);
    event Voted(uint proposalID, bool position, address voter, string justification);
    event ProposalTallied(uint proposalID, int result, uint quorum, bool active);
    event MembershipChanged(address member, bool isMember);
    event ChangeOfRules(uint newMinimumQuorum, uint newDebatingPeriodInMinutes, int newMajorityMargin);

    struct Proposal {
        address recipient;
        uint amount;
        string description;
        uint votingDeadline;
        bool executed;
        bool proposalPassed;
        uint numberOfVotes;
        int currentResult;
        bytes32 proposalHash;
        Vote[] votes;
        mapping (address => bool) voted;
    }

    struct Member {
        address member;
        string name;
        uint memberSince;
    }

    struct Vote {
        bool inSupport;
        address voter;
        string justification;
    }

    // Modifier that allows only shareholders to vote and create new proposals
    modifier onlyMembers {
        require(memberId[msg.sender] != 0);
        _;
    }

    /**
     * Constructor function
     */
    function Decentralized_Deposit_Network (
        uint minimumQuorumForProposals,
        uint minutesForDebate,
        int marginOfVotesForMajority
    )  payable public {
        changeVotingRules(minimumQuorumForProposals, minutesForDebate, marginOfVotesForMajority);
        // It’s necessary to add an empty first member
        addMember(0, "");
        // and let's add the founder, to save a step later
        addMember(owner, 'founder');
    }

    /**
     * Add member
     *
     * Make `targetMember` a member named `memberName`
     *
     * @param targetMember ethereum address to be added
     * @param memberName public name for that member
     */
    function addMember(address targetMember, string memberName) onlyOwner public {
        uint id = memberId[targetMember];
        if (id == 0) {
            memberId[targetMember] = members.length;
            id = members.length++;
        }

        members[id] = Member({member: targetMember, memberSince: now, name: memberName});
        MembershipChanged(targetMember, true);
    }

    /**
     * Remove member
     *
     * @notice Remove membership from `targetMember`
     *
     * @param targetMember ethereum address to be removed
     */
    function removeMember(address targetMember) onlyOwner public {
        require(memberId[targetMember] != 0);

        for (uint i = memberId[targetMember]; i<members.length-1; i++){
            members[i] = members[i+1];
        }
        delete members[members.length-1];
        members.length--;
    }

    /**
     * Change voting rules
     *
     * Make so that proposals need tobe discussed for at least `minutesForDebate/60` hours,
     * have at least `minimumQuorumForProposals` votes, and have 50% + `marginOfVotesForMajority` votes to be executed
     *
     * @param minimumQuorumForProposals how many members must vote on a proposal for it to be executed
     * @param minutesForDebate the minimum amount of delay between when a proposal is made and when it can be executed
     * @param marginOfVotesForMajority the proposal needs to have 50% plus this number
     */
    function changeVotingRules(
        uint minimumQuorumForProposals,
        uint minutesForDebate,
        int marginOfVotesForMajority
    ) onlyOwner public {
        minimumQuorum = minimumQuorumForProposals;
        debatingPeriodInMinutes = minutesForDebate;
        majorityMargin = marginOfVotesForMajority;

        ChangeOfRules(minimumQuorum, debatingPeriodInMinutes, majorityMargin);
    }

    /**
     * Add Proposal
     *
     * Propose to send `weiAmount / 1e18` ether to `beneficiary` for `jobDescription`. `transactionBytecode ? Contains : Does not contain` code.
     *
     * @param beneficiary who to send the ether to
     * @param weiAmount amount of ether to send, in wei
     * @param jobDescription Description of job
     * @param transactionBytecode bytecode of transaction
     */
    function newProposal(
        address beneficiary,
        uint weiAmount,
        string jobDescription,
        bytes transactionBytecode
    )
        onlyMembers public
        returns (uint proposalID)
    {
        proposalID = proposals.length++;
        Proposal storage p = proposals[proposalID];
        p.recipient = beneficiary;
        p.amount = weiAmount;
        p.description = jobDescription;
        p.proposalHash = keccak256(beneficiary, weiAmount, transactionBytecode);
        p.votingDeadline = now + debatingPeriodInMinutes * 1 minutes;
        p.executed = false;
        p.proposalPassed = false;
        p.numberOfVotes = 0;
        ProposalAdded(proposalID, beneficiary, weiAmount, jobDescription);
        numProposals = proposalID+1;

        return proposalID;
    }

    /**
     * Add proposal in Ether
     *
     * Propose to send `etherAmount` ether to `beneficiary` for `jobDescription`. `transactionBytecode ? Contains : Does not contain` code.
     * This is a convenience function to use if the amount to be given is in round number of ether units.
     *
     * @param beneficiary who to send the ether to
     * @param etherAmount amount of ether to send
     * @param jobDescription Description of job
     * @param transactionBytecode bytecode of transaction
     */
    function newProposalInEther(
        address beneficiary,
        uint etherAmount,
        string jobDescription,
        bytes transactionBytecode
    )
        onlyMembers public
        returns (uint proposalID)
    {
        return newProposal(beneficiary, etherAmount * 1 ether, jobDescription, transactionBytecode);
    }

    /**
     * Check if a proposal code matches
     *
     * @param proposalNumber ID number of the proposal to query
     * @param beneficiary who to send the ether to
     * @param weiAmount amount of ether to send
     * @param transactionBytecode bytecode of transaction
     */
    function checkProposalCode(
        uint proposalNumber,
        address beneficiary,
        uint weiAmount,
        bytes transactionBytecode
    )
        constant public
        returns (bool codeChecksOut)
    {
        Proposal storage p = proposals[proposalNumber];
        return p.proposalHash == keccak256(beneficiary, weiAmount, transactionBytecode);
    }

    /**
     * Log a vote for a proposal
     *
     * Vote `supportsProposal? in support of : against` proposal #`proposalNumber`
     *
     * @param proposalNumber number of proposal
     * @param supportsProposal either in favor or against it
     * @param justificationText optional justification text
     */
    function vote(
        uint proposalNumber,
        bool supportsProposal,
        string justificationText
    )
        onlyMembers public
        returns (uint voteID)
    {
        Proposal storage p = proposals[proposalNumber];         // Get the proposal
        require(!p.voted[msg.sender]);         // If has already voted, cancel
        p.voted[msg.sender] = true;                     // Set this voter as having voted
        p.numberOfVotes++;                              // Increase the number of votes
        if (supportsProposal) {                         // If they support the proposal
            p.currentResult++;                          // Increase score
        } else {                                        // If they don't
            p.currentResult--;                          // Decrease the score
        }

        // Create a log of this event
        Voted(proposalNumber,  supportsProposal, msg.sender, justificationText);
        return p.numberOfVotes;
    }

    /**
     * Finish vote
     *
     * Count the votes proposal #`proposalNumber` and execute it if approved
     *
     * @param proposalNumber proposal number
     * @param transactionBytecode optional: if the transaction contained a bytecode, you need to send it
     */
    function executeProposal(uint proposalNumber, bytes transactionBytecode) public {
        Proposal storage p = proposals[proposalNumber];

        require(now > p.votingDeadline                                            // If it is past the voting deadline
            && !p.executed                                                         // and it has not already been executed
            && p.proposalHash == keccak256(p.recipient, p.amount, transactionBytecode)  // and the supplied code matches the proposal
            && p.numberOfVotes >= minimumQuorum);                                  // and a minimum quorum has been reached...

        // ...then execute result

        if (p.currentResult > majorityMargin) {
            // Proposal passed; execute the transaction

            p.executed = true; // Avoid recursive calling
            require(p.recipient.call.value(p.amount)(transactionBytecode));

            p.proposalPassed = true;
        } else {
            // Proposal failed
            p.proposalPassed = false;
        }

        // Fire Events
        ProposalTallied(proposalNumber, p.currentResult, p.numberOfVotes, p.proposalPassed);
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"proposals","outputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"description","type":"string"},{"name":"votingDeadline","type":"uint256"},{"name":"executed","type":"bool"},{"name":"proposalPassed","type":"bool"},{"name":"numberOfVotes","type":"uint256"},{"name":"currentResult","type":"int256"},{"name":"proposalHash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targetMember","type":"address"}],"name":"removeMember","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"proposalNumber","type":"uint256"},{"name":"transactionBytecode","type":"bytes"}],"name":"executeProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"memberId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numProposals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"members","outputs":[{"name":"member","type":"address"},{"name":"name","type":"string"},{"name":"memberSince","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debatingPeriodInMinutes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumQuorum","outputs":[{"name":"","type":"uint256"}],"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":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_token","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"majorityMargin","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"weiAmount","type":"uint256"},{"name":"jobDescription","type":"string"},{"name":"transactionBytecode","type":"bytes"}],"name":"newProposal","outputs":[{"name":"proposalID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"etherAmount","type":"uint256"},{"name":"jobDescription","type":"string"},{"name":"transactionBytecode","type":"bytes"}],"name":"newProposalInEther","outputs":[{"name":"proposalID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"minimumQuorumForProposals","type":"uint256"},{"name":"minutesForDebate","type":"uint256"},{"name":"marginOfVotesForMajority","type":"int256"}],"name":"changeVotingRules","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targetMember","type":"address"},{"name":"memberName","type":"string"}],"name":"addMember","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"proposalNumber","type":"uint256"},{"name":"supportsProposal","type":"bool"},{"name":"justificationText","type":"string"}],"name":"vote","outputs":[{"name":"voteID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"proposalNumber","type":"uint256"},{"name":"beneficiary","type":"address"},{"name":"weiAmount","type":"uint256"},{"name":"transactionBytecode","type":"bytes"}],"name":"checkProposalCode","outputs":[{"name":"codeChecksOut","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"minimumQuorumForProposals","type":"uint256"},{"name":"minutesForDebate","type":"uint256"},{"name":"marginOfVotesForMajority","type":"int256"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"recipient","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"description","type":"string"}],"name":"ProposalAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"position","type":"bool"},{"indexed":false,"name":"voter","type":"address"},{"indexed":false,"name":"justification","type":"string"}],"name":"Voted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"result","type":"int256"},{"indexed":false,"name":"quorum","type":"uint256"},{"indexed":false,"name":"active","type":"bool"}],"name":"ProposalTallied","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"member","type":"address"},{"indexed":false,"name":"isMember","type":"bool"}],"name":"MembershipChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newMinimumQuorum","type":"uint256"},{"indexed":false,"name":"newDebatingPeriodInMinutes","type":"uint256"},{"indexed":false,"name":"newMajorityMargin","type":"int256"}],"name":"ChangeOfRules","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"receivedEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_token","type":"address"},{"indexed":false,"name":"_extraData","type":"bytes"}],"name":"receivedTokens","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260405160608062001c298339810160405280805191906020018051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b6200006283838364010000000062001001620000ee82021704565b6200008b6000602060405190810160405260008152640100000000620010796200016782021704565b600054620000e490600160a060020a031660408051908101604052600781527f666f756e646572000000000000000000000000000000000000000000000000006020820152640100000000620010796200016782021704565b5b50505062000425565b60005433600160a060020a039081169116146200010a57600080fd5b6001839055600282905560038190557fa439d3fa452be5e0e1e24a8145e715f4fd8b9c08c96a42fd82a855a85e5d57de83838360405180848152602001838152602001828152602001935050505060405180910390a15b5b505050565b6000805433600160a060020a039081169116146200018457600080fd5b50600160a060020a038216600090815260066020526040902054801515620001d85760078054600160a060020a038516600090815260066020526040902081905590620001d59060018301620002b3565b90505b60606040519081016040528084600160a060020a03168152602001838152602001428152506007828154811015156200020d57fe5b906000526020600020906003020160005b5081518154600160a060020a031916600160a060020a039190911617815560208201518160010190805162000258929160200190620002e8565b506040820151600290910155507f27b022af4a8347100c7a041ce5ccf8e14d644ff05de696315196faae8cd50c9b836001604051600160a060020a039092168252151560208201526040908101905180910390a15b5b505050565b81548183558181151162000161576003028160030283600052602060002091820191016200016191906200036e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032b57805160ff19168380011785556200035b565b828001600101855582156200035b579182015b828111156200035b5782518255916020019190600101906200033e565b5b506200036a929150620003b5565b5090565b620003b291905b808211156200036a578054600160a060020a031916815560006200039d6001830182620003d9565b506000600282015560030162000375565b5090565b90565b620003b291905b808211156200036a5760008155600101620003bc565b5090565b90565b50805460018160011615610100020316600290046000825580601f1062000401575062000421565b601f016020900490600052602060002090810190620004219190620003b5565b5b50565b6117f480620004356000396000f300606060405236156100f95763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663013cf08b81146101415780630b1ca49a1461022c578063237e94921461024d57806339106821146102a5578063400e3949146102d65780635daf08ca146102fb57806369bd3436146103b15780638160f0b5146103d65780638da5cb5b146103fb5780638f4ffcb11461042a578063aa02a90f14610498578063b1050da5146104bd578063b9f256cd14610576578063bcca1fd31461062f578063c127c2471461064d578063d3c0715b146106ae578063eceb29451461071e578063f2fde38b1461079a575b5b7fa398b89ba344a0b23a0b9de53db298b2a1a868b396c1878b7e9dcbafecd49b133334604051600160a060020a03909216825260208201526040908101905180910390a15b005b341561014c57600080fd5b6101576004356107bb565b604051600160a060020a038a1681526020810189905260608101879052851515608082015284151560a082015260c0810184905260e08101839052610100808201839052610120604083018181528a54600260018216159094026000190116929092049083018190526101408301908a9080156102155780601f106101ea57610100808354040283529160200191610215565b820191906000526020600020905b8154815290600101906020018083116101f857829003601f168201915b50509a505050505050505050505060405180910390f35b341561023757600080fd5b61013f600160a060020a0360043516610821565b005b341561025857600080fd5b61013f600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061098795505050505050565b005b34156102b057600080fd5b6102c4600160a060020a0360043516610bc9565b60405190815260200160405180910390f35b34156102e157600080fd5b6102c4610bdb565b60405190815260200160405180910390f35b341561030657600080fd5b610311600435610be1565b604051600160a060020a038416815260408101829052606060208201818152845460026000196101006001841615020190911604918301829052906080830190859080156103a05780601f10610375576101008083540402835291602001916103a0565b820191906000526020600020905b81548152906001019060200180831161038357829003601f168201915b505094505050505060405180910390f35b34156103bc57600080fd5b6102c4610c1e565b60405190815260200160405180910390f35b34156103e157600080fd5b6102c4610c24565b60405190815260200160405180910390f35b341561040657600080fd5b61040e610c2a565b604051600160a060020a03909116815260200160405180910390f35b341561043557600080fd5b61013f60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c3995505050505050565b005b34156104a357600080fd5b6102c4610da8565b60405190815260200160405180910390f35b34156104c857600080fd5b6102c460048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610dae95505050505050565b60405190815260200160405180910390f35b341561058157600080fd5b6102c460048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610fbb95505050505050565b60405190815260200160405180910390f35b341561063a57600080fd5b61013f600435602435604435611001565b005b341561065857600080fd5b61013f60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061107995505050505050565b005b34156106b957600080fd5b6102c46004803590602480351515919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506111be95505050505050565b60405190815260200160405180910390f35b341561072957600080fd5b610786600480359060248035600160a060020a0316916044359160849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061135295505050505050565b604051901515815260200160405180910390f35b34156107a557600080fd5b61013f600160a060020a0360043516611411565b005b60048054829081106107c957fe5b90600052602060002090600a020160005b508054600182015460038301546004840154600585015460068601546007870154600160a060020a039096169750939560020194929360ff80841694610100909404169289565b6000805433600160a060020a0390811691161461083d57600080fd5b600160a060020a038216600090815260066020526040902054151561086157600080fd5b50600160a060020a0381166000908152600660205260409020545b6007546000190181101561092457600780546001830190811061089b57fe5b906000526020600020906003020160005b5060078054839081106108bb57fe5b906000526020600020906003020160005b5081548154600160a060020a031916600160a060020a03909116178155600180830180546109119284810192916002600019928216156101000292909201160461144c565b506002918201549101555b60010161087c565b60078054600019810190811061093657fe5b906000526020600020906003020160005b8154600160a060020a03191682556109636001830160006114d2565b50600060029190910155600780549061098090600019830161151a565b505b5b5050565b600060048381548110151561099857fe5b90600052602060002090600a020160005b5090508060030154421180156109c45750600481015460ff16155b8015610a6a575080546001820154600160a060020a0390911690836040516c01000000000000000000000000600160a060020a038516028152601481018390526034810182805190602001908083835b60208310610a3457805182525b601f199092019160209182019101610a14565b6001836020036101000a038019825116818451161790925250505091909101945060409350505050519081900390206007820154145b8015610a7c5750600154816005015410155b1515610a8757600080fd5b60035481600601541315610b4c5760048101805460ff19166001908117909155815490820154600160a060020a03909116908360405180828051906020019080838360005b83811015610ae55780820151818401525b602001610acc565b50505050905090810190601f168015610b125780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1925050501515610b3657600080fd5b60048101805461ff001916610100179055610b5a565b60048101805461ff00191690555b7fd220b7272a8b6d0d7d6bcdace67b936a8f175e6d5c1b3ee438b72256b32ab3af83826006015483600501548460040160019054906101000a900460ff16604051938452602084019290925260408084019190915290151560608301526080909101905180910390a15b505050565b60066020526000908152604090205481565b60055481565b6007805482908110610bef57fe5b906000526020600020906003020160005b5080546002820154600160a060020a03909116925060019091019083565b60025481565b60015481565b600054600160a060020a031681565b81600160a060020a0381166323b872dd8630876000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610cbd57600080fd5b6102c65a03f11515610cce57600080fd5b505050604051805190501515610ce357600080fd5b7f0eeb71b8926d7ed8f47a2cedf6b9b204e2001344c7fa20c696c9f06ea7c413c685858585604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b83811015610d635780820151818401525b602001610d4a565b50505050905090810190601f168015610d905780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a15b5050505050565b60035481565b600160a060020a03331660009081526006602052604081205481901515610dd457600080fd5b6004805490610de6906001830161154c565b9150600482815481101515610df757fe5b90600052602060002090600a020160005b508054600160a060020a031916600160a060020a03881617815560018101869055905060028101848051610e4092916020019061157e565b508585846040516c01000000000000000000000000600160a060020a038516028152601481018390526034810182805190602001908083835b60208310610e9957805182525b601f199092019160209182019101610e79565b6001836020036101000a038019825116818451161790925250505091909101945060409350505050519081900390206007820155600254603c024201600382015560048101805461ffff19169055600060058201557f646fec02522b41e7125cfc859a64fd4f4cefd5dc3b6237ca0abe251ded1fa88182878787604051848152600160a060020a03841660208201526040810183905260806060820181815290820183818151815260200191508051906020019080838360005b83811015610f6c5780820151818401525b602001610f53565b50505050905090810190601f168015610f995780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1600182016005555b5b50949350505050565b600160a060020a0333166000908152600660205260408120541515610fdf57600080fd5b610ff58585670de0b6b3a7640000028585610dae565b90505b5b949350505050565b60005433600160a060020a0390811691161461101c57600080fd5b6001839055600282905560038190557fa439d3fa452be5e0e1e24a8145e715f4fd8b9c08c96a42fd82a855a85e5d57de83838360405180848152602001838152602001828152602001935050505060405180910390a15b5b505050565b6000805433600160a060020a0390811691161461109557600080fd5b50600160a060020a0382166000908152600660205260409020548015156110e65760078054600160a060020a0385166000908152600660205260409020819055906110e3906001830161151a565b90505b60606040519081016040528084600160a060020a031681526020018381526020014281525060078281548110151561111a57fe5b906000526020600020906003020160005b5081518154600160a060020a031916600160a060020a039190911617815560208201518160010190805161116392916020019061157e565b506040820151600290910155507f27b022af4a8347100c7a041ce5ccf8e14d644ff05de696315196faae8cd50c9b836001604051600160a060020a039092168252151560208201526040908101905180910390a15b5b505050565b600160a060020a033316600090815260066020526040812054819015156111e457600080fd5b60048054869081106111f257fe5b90600052602060002090600a020160005b50600160a060020a033316600090815260098201602052604090205490915060ff161561122f57600080fd5b600160a060020a03331660009081526009820160205260409020805460ff1916600190811790915560058201805490910190558315611278576006810180546001019055611285565b6006810180546000190190555b7fc34f869b7ff431b034b7b9aea9822dac189a685e0b015c7d1be3add3f89128e8858533866040518481528315156020820152600160a060020a038316604082015260806060820181815290820183818151815260200191508051906020019080838360005b838110156113045780820151818401525b6020016112eb565b50505050905090810190601f1680156113315780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1806005015491505b5b509392505050565b60008060048681548110151561136457fe5b90600052602060002090600a020160005b5090508484846040516c01000000000000000000000000600160a060020a038516028152601481018390526034810182805190602001908083835b602083106113d057805182525b601f1990920191602091820191016113b0565b6001836020036101000a0380198251168184511617909252505050919091019450604093505050505190819003902060078201541491505b50949350505050565b60005433600160a060020a0390811691161461142c57600080fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061148557805485556114c1565b828001600101855582156114c157600052602060002091601f016020900482015b828111156114c15782548255916001019190600101906114a6565b5b506114ce92915061167c565b5090565b50805460018160011615610100020316600290046000825580601f106114f85750611448565b601f016020900490600052602060002090810190611448919061167c565b5b50565b81548183558181151161098057600302816003028360005260206000209182019101610980919061169d565b5b505050565b81548183558181151161098057600a0281600a02836000526020600020918201910161098091906116df565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115bf57805160ff19168380011785556114c1565b828001600101855582156114c1579182015b828111156114c15782518255916020019190600101906115d1565b5b506114ce92915061167c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115bf57805160ff19168380011785556114c1565b828001600101855582156114c1579182015b828111156114c15782518255916020019190600101906115d1565b5b506114ce92915061167c565b5090565b61169a91905b808211156114ce5760008155600101611682565b5090565b90565b61169a91905b808211156114ce578054600160a060020a031916815560006116c860018301826114d2565b50600060028201556003016116a3565b5090565b90565b61169a91905b808211156114ce578054600160a060020a031916815560006001820181905561171160028301826114d2565b60006003830181905560048301805461ffff1916905560058301819055600683018190556007830181905561174a90600884019061175a565b50600a016116e5565b5090565b90565b5080546000825560020290600052602060002090810190611448919061177f565b5b50565b61169a91905b808211156114ce57805474ffffffffffffffffffffffffffffffffffffffffff1916815560006117b860018301826114d2565b50600201611785565b5090565b905600a165627a7a723058207c5d231a0b9558f5b1fadc8dd2a6e6d87f6ef52d492eabff7ce38f6eccce63460029

   Swarm Source:
bzzr://7c5d231a0b9558f5b1fadc8dd2a6e6d87f6ef52d492eabff7ce38f6eccce6346

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.