Sponsored Link: Crowdsale has finished. Check out the KICKICO platform to find new ICOs to start.
  Latest 25 txns from a total Of 318 transactions View All

TxHash Age From To Value [TxFee]
0x2e773d47b9769297157a242245835bb05646af42ebe8acb46c78cb3774267c6d7 days 16 hrs ago0x563b377a956c80d77a7c613a9343699ad6123911  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0.90364098 Ether0.00067962
0x421a853ff85394b06db8f67656fa6acd753cb0f6a43e37260ad61f56181df4c17 days 21 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00009784
0x6dd8bbf007916913cd717282838d3c9efb089556fe8dc21bbb7a1a9cd5d4b1ef11 days 5 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001338149969
0x932e1cdbf47654f43fc0266ff00acf4da8c8e43874ebf4507f62728402b59ace15 days 9 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00122572
0xf57ba8c22d7926eaff51436da34d65eb032e3f63f5240acd136d5b7e49ccc1cb15 days 9 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00058
0x815198c76669cc25b2cf630db3536b1a1779d39e252bb9e6e93b1e1af859f04815 days 11 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.002303447535
0x33b018086960fcd32805caa1d673e76327bd03264e076dabe4638b25ea3561e015 days 15 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00114854
0x005d9f1c42c74f71f7a242777f09845f745a675d5e446e11dddd2daa5580fcda16 days 12 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000057427
0x18479b67783846ce5cab9ea397cd27f44ef77af638cfa9e47dbf8a19d3021c0216 days 13 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000057427
0xb313f795cd62cd023e802aa0ef196bb4ce842b06bc9042936682ae3f0f942fd116 days 13 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0009650675
0xa182560f0cbe1d63fe69752fa97800029917535afdc546dd9d7b677544b1075c16 days 13 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0031036585
0x877be110b2004934285ad98d12413a7b3a59b5b1ef69601ee7c24ac039f759b616 days 13 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0059811465
0xf2857af176c693967085167d0c5d3ffcb7853ad1a9ae55c749b6fb9ef731571216 days 13 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0059675145
0x986f971994c696a657fc994270f4d07d37c9a2c9ed39b35119e192ad02a68b9d16 days 13 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0020386585
0x922309ba3105a9713773864425243c0f8db4110715fb4dacb06e13586789fc9016 days 13 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0020386585
0xb48d311d24fa14492c795513231a6982961a23e65b0d2af46b501140c5c6763116 days 15 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.003626134033
0xd7094b8bd7f79b25d21f723f4f0f3a0719ba6a42e166f917b8f9d11eb4ca02aa16 days 15 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.006127227911
0xf0a7db0d7409b6bb3f2f88d20902e8d8cbe413eedaa0cd05a242224ac230b66617 days 11 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0016087575
0x88eaae50adb79eef12b6c48bda92ab1c18d3939e62c0bdbc9df45f49e5ee838018 days 6 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000034594025
0x01a20c92de12720e014f3ed2934c25d0732ff236791ed2ae453770331efda6df18 days 11 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001563224003
0xe4247e2170de7477b570530b080e35327f8e88552146d266e4202ee6ff0d86cd18 days 11 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.002379855903
0xd39084b83e1d81088c75b066efc8eb5acb7a44248646c0a209960fdc497b29a618 days 11 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00044
0x9ec5e1d2de46c7e73b10a91aafcb648f06256c75dfd21b736cc12c6f01d0d0bf18 days 11 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.004028309056
0x4e457812075c27176e62328feaedd204a907c340c2ac5f26ce60ac5691a5ffbd18 days 13 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000398359
0xffa23ec2a69ec26e55e09ece1fb6b4123864e215fa8b72b1d5b52823e9bd160020 days 15 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0000431735
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x790f7103bac3738557c42a132f4aab6284a525406c0f2fc0ec92d5b3824778a643019969 hrs 19 mins ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xdbae24abf8c5eb59d8d3fded500ab19158b4f29da76c19b5594abe617f37e03d42992461 day 5 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xf8ea77df27f79b9793eae5eb22e4b2e303964cfbcecaeb0192ebfac0739dfea442984461 day 10 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x22a6efb694a870a5c20d72ec61c0da05e402942d91fbf9135c5373943bf2fb4042978041 day 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xd23ff9f833d34ea7826d4c72ad63ba3b4df9b391c5d15b7711e0ece6c375dd4742977711 day 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xc2274cdb93a304bb49a4f93ea28b9a0862bf99c846ca9b3b86596fc9241e9c1342953402 days 7 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x978ded538ffe3ffd75026c3409337376e65b50bc13a37bad8ef735d06a31be7742951822 days 8 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x5a04c78cca0c32fe42b0fec320eed57cafc47d4b0c1ab9fffba297dcbd179f7542873894 days 12 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xe010600999f7e1c8c63eaed647c16ddee9ac88449917a9b8fedf7134951380c842841155 days 10 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8a9554625506c34189806823a152a9a39e4c11dd711b3514f60496e5aeb0c61242781057 days 2 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xfbe7275eeaa8f6be2d340d1c6febcc705db4defcba548233e0a1466844771f2042767277 days 11 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x9ccc7e4d7d2b13e149bcbb47e415e410e3a39372655eda2a3422aa755d79a13d42762397 days 14 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x814396e1f848ac1f46045cd7d1224bd06720253a81e7cb17f35e1e2778c6685c42761027 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xc2b0d9e11141778faf9e96c2a79eeb2a43f5d5071963bc5f53d839295cfda8ad42727718 days 13 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x92652db97c4d610d62ccc73f53b1913131875a19670c65441900b9077aa0d31c42723188 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x563099a8adba2a3320d8731fa4cced35c3c612b2df82a6f6b36b84d5145b293142703939 days 5 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x63620cad23bde6c0ebbd3dd98c84bde442f3ce132f9ce8b2ba26a32a1a84151642702829 days 6 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8eb08b3baf43d299439c4ebd7ead3f645a0ba9e9cf1049c3d7aa66387a79174742697479 days 10 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8aa1156af1b967ad18ccfcb389ffc4ab3c5fe389e1c11c5a94616f46effdaddf42695829 days 11 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xd2d651b0ea0cf99c2ae7f60dbeb539aee6fa002dd1ade282254967af33a7fce642694349 days 12 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x3291b74c4511cbbb43277472386de9e91ae6d17330632a73de907ff4e411a81b42693169 days 13 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8fa3f36d18eadb889f126e711fa05fd1b0f962465849e828920b32fc7895145b42691249 days 14 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x6d104120e0ed340d0a83c442842d79ec0ffddfa24ae71d786ad706ee648d52ee42690899 days 14 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xdcd508988efae25d41f593b69d8ec508f79ea8028fdb622469740f220df6e02f42686989 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8ebc0ec37fd4118064d078fe15ad205a3d448380f19ceedf4be404ec64614d8042686179 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: Congress
Compiler Version: v0.4.9+commit.364da425
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.4;

/**
 * @title Contract for object that have an owner
 */
contract Owned {
    /**
     * Contract owner address
     */
    address public owner;

    /**
     * @dev Delegate contract to another person
     * @param _owner New owner address 
     */
    function setOwner(address _owner) onlyOwner
    { owner = _owner; }

    /**
     * @dev Owner check modifier
     */
    modifier onlyOwner { if (msg.sender != owner) throw; _; }
}

/**
 * @title Common pattern for destroyable contracts 
 */
contract Destroyable {
    address public hammer;

    /**
     * @dev Hammer setter
     * @param _hammer New hammer address
     */
    function setHammer(address _hammer) onlyHammer
    { hammer = _hammer; }

    /**
     * @dev Destroy contract and scrub a data
     * @notice Only hammer can call it 
     */
    function destroy() onlyHammer
    { suicide(msg.sender); }

    /**
     * @dev Hammer check modifier
     */
    modifier onlyHammer { if (msg.sender != hammer) throw; _; }
}

/**
 * @title Generic owned destroyable contract
 */
contract Object is Owned, Destroyable {
    function Object() {
        owner  = msg.sender;
        hammer = msg.sender;
    }
}

// Standard token interface (ERC 20)
// https://github.com/ethereum/EIPs/issues/20
contract ERC20 
{
// Functions:
    /// @return total amount of tokens
    uint256 public totalSupply;

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) returns (bool);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) returns (bool);

    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of wei to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) returns (bool);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) constant returns (uint256);

// Events:
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * @title Asset recipient interface
 */
contract Recipient {
    /**
     * @dev On received ethers
     * @param sender Ether sender
     * @param amount Ether value
     */
    event ReceivedEther(address indexed sender,
                        uint256 indexed amount);

    /**
     * @dev On received custom ERC20 tokens
     * @param from Token sender
     * @param value Token value
     * @param token Token contract address
     * @param extraData Custom additional data
     */
    event ReceivedTokens(address indexed from,
                         uint256 indexed value,
                         address indexed token,
                         bytes extraData);

    /**
     * @dev Receive approved ERC20 tokens
     * @param _from Spender address
     * @param _value Transaction value
     * @param _token ERC20 token contract address
     * @param _extraData Custom additional data
     */
    function receiveApproval(address _from, uint256 _value,
                             ERC20 _token, bytes _extraData) {
        if (!_token.transferFrom(_from, this, _value)) throw;
        ReceivedTokens(_from, _value, _token, _extraData);
    }

    /**
     * @dev Catch sended to contract ethers
     */
    function () payable
    { ReceivedEther(msg.sender, msg.value); }
}

/**
 * @title Improved congress contract by Ethereum Foundation
 * @dev https://www.ethereum.org/dao#the-blockchain-congress 
 */
contract Congress is Object, Recipient {
    /**
     * @dev Minimal quorum value
     */
    uint256 public minimumQuorum;

    /**
     * @dev Duration of debates
     */
    uint256 public debatingPeriodInMinutes;

    /**
     * @dev Majority margin is used in voting procedure 
     */
    int256 public majorityMargin;

    /**
     * @dev Archive of all member proposals 
     */
    Proposal[] public proposals;

    /**
     * @dev Count of proposals in archive 
     */
    function numProposals() constant returns (uint256)
    { return proposals.length; }

    /**
     * @dev Congress members list
     */
    Member[] public members;

    /**
     * @dev Get member identifier by account address
     */
    mapping(address => uint256) public memberId;

    /**
     * @dev On proposal added 
     * @param proposal Proposal identifier
     * @param recipient Ether recipient
     * @param amount Amount of wei to transfer
     */
    event ProposalAdded(uint256 indexed proposal,
                        address indexed recipient,
                        uint256 indexed amount,
                        string description);

    /**
     * @dev On vote by member accepted
     * @param proposal Proposal identifier
     * @param position Is proposal accepted by memeber
     * @param voter Congress memeber account address
     * @param justification Member comment
     */
    event Voted(uint256 indexed proposal,
                bool    indexed position,
                address indexed voter,
                string justification);

    /**
     * @dev On Proposal closed
     * @param proposal Proposal identifier
     * @param quorum Number of votes 
     * @param active Is proposal passed
     */
    event ProposalTallied(uint256 indexed proposal,
                          uint256 indexed quorum,
                          bool    indexed active);

    /**
     * @dev On changed membership
     * @param member Account address 
     * @param isMember Is account member now
     */
    event MembershipChanged(address indexed member,
                            bool    indexed isMember);

    /**
     * @dev On voting rules changed
     * @param minimumQuorum New minimal count of votes
     * @param debatingPeriodInMinutes New debating duration
     * @param majorityMargin New majority margin value
     */
    event ChangeOfRules(uint256 indexed minimumQuorum,
                        uint256 indexed debatingPeriodInMinutes,
                        int256  indexed majorityMargin);

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

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

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

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

    /**
     * @dev First time setup
     */
    function Congress(
        uint256 minimumQuorumForProposals,
        uint256 minutesForDebate,
        int256  marginOfVotesForMajority,
        address congressLeader
    ) {
        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
        if (congressLeader != 0)
            addMember(congressLeader, 'The Founder');
    }

    /**
     * @dev Append new congress member 
     * @param targetMember Member account address
     * @param memberName Member full name
     */
    function addMember(address targetMember, string memberName) onlyOwner {
        if (memberId[targetMember] != 0) throw;

        memberId[targetMember] = members.length;
        members.push(Member({member:      targetMember,
                             memberSince: now,
                             name:        memberName}));

        MembershipChanged(targetMember, true);
    }

    /**
     * @dev Remove congress member
     * @param targetMember Member account address
     */
    function removeMember(address targetMember) onlyOwner {
        if (memberId[targetMember] == 0) throw;

        uint256 targetId = memberId[targetMember];
        uint256 lastId   = members.length - 1;

        // Move last member to removed position
        Member memory moved    = members[lastId];
        members[targetId]      = moved; 
        memberId[moved.member] = targetId;

        // Clean up
        memberId[targetMember] = 0;
        delete members[lastId];
        --members.length;

        MembershipChanged(targetMember, false);
    }

    /**
     * @dev Change rules of voting
     * @param minimumQuorumForProposals Minimal count of votes
     * @param minutesForDebate Debate deadline in minutes
     * @param marginOfVotesForMajority Majority margin value
     */
    function changeVotingRules(
        uint256 minimumQuorumForProposals,
        uint256 minutesForDebate,
        int256  marginOfVotesForMajority
    )
        onlyOwner
    {
        minimumQuorum           = minimumQuorumForProposals;
        debatingPeriodInMinutes = minutesForDebate;
        majorityMargin          = marginOfVotesForMajority;

        ChangeOfRules(minimumQuorum, debatingPeriodInMinutes, majorityMargin);
    }

    /**
     * @dev Create a new proposal
     * @param beneficiary Beneficiary account address
     * @param amount Transaction value in Wei 
     * @param jobDescription Job description string
     * @param transactionBytecode Bytecode of transaction
     */
    function newProposal(
        address beneficiary,
        uint256 amount,
        string  jobDescription,
        bytes   transactionBytecode
    )
        onlyMembers
        returns (uint256 id)
    {
        id               = proposals.length++;
        Proposal p       = proposals[id];
        p.recipient      = beneficiary;
        p.amount         = amount;
        p.description    = jobDescription;
        p.proposalHash   = sha3(beneficiary, amount, transactionBytecode);
        p.votingDeadline = now + debatingPeriodInMinutes * 1 minutes;
        p.executed       = false;
        p.proposalPassed = false;
        p.numberOfVotes  = 0;
        ProposalAdded(id, beneficiary, amount, jobDescription);
    }

    /**
     * @dev Check if a proposal code matches
     * @param id Proposal identifier
     * @param beneficiary Beneficiary account address
     * @param amount Transaction value in Wei 
     * @param transactionBytecode Bytecode of transaction
     */
    function checkProposalCode(
        uint256 id,
        address beneficiary,
        uint256 amount,
        bytes   transactionBytecode
    )
        constant
        returns (bool codeChecksOut)
    {
        return proposals[id].proposalHash
            == sha3(beneficiary, amount, transactionBytecode);
    }

    /**
     * @dev Proposal voting
     * @param id Proposal identifier
     * @param supportsProposal Is proposal supported
     * @param justificationText Member comment
     */
    function vote(
        uint256 id,
        bool    supportsProposal,
        string  justificationText
    )
        onlyMembers
        returns (uint256 vote)
    {
        Proposal p = proposals[id];             // Get the proposal
        if (p.voted[msg.sender] == true) throw; // 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(id,  supportsProposal, msg.sender, justificationText);
    }

    /**
     * @dev Try to execute proposal
     * @param id Proposal identifier
     * @param transactionBytecode Transaction data
     */
    function executeProposal(
        uint256 id,
        bytes   transactionBytecode
    )
        onlyMembers
    {
        Proposal p = proposals[id];
        /* Check if the proposal can be executed:
           - Has the voting deadline arrived?
           - Has it been already executed or is it being executed?
           - Does the transaction code match the proposal?
           - Has a minimum quorum?
        */

        if (now < p.votingDeadline
            || p.executed
            || p.proposalHash != sha3(p.recipient, p.amount, transactionBytecode)
            || p.numberOfVotes < minimumQuorum)
            throw;

        /* execute result */
        /* If difference between support and opposition is larger than margin */
        if (p.currentResult > majorityMargin) {
            // Avoid recursive calling

            p.executed = true;
            if (!p.recipient.call.value(p.amount)(transactionBytecode))
                throw;

            p.proposalPassed = true;
        } else {
            p.proposalPassed = false;
        }
        // Fire Events
        ProposalTallied(id, 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,"type":"function"},{"constant":false,"inputs":[{"name":"targetMember","type":"address"}],"name":"removeMember","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"transactionBytecode","type":"bytes"}],"name":"executeProposal","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"memberId","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numProposals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hammer","outputs":[{"name":"","type":"address"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"debatingPeriodInMinutes","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minimumQuorum","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"majorityMargin","outputs":[{"name":"","type":"int256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"amount","type":"uint256"},{"name":"jobDescription","type":"string"},{"name":"transactionBytecode","type":"bytes"}],"name":"newProposal","outputs":[{"name":"id","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"minimumQuorumForProposals","type":"uint256"},{"name":"minutesForDebate","type":"uint256"},{"name":"marginOfVotesForMajority","type":"int256"}],"name":"changeVotingRules","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"targetMember","type":"address"},{"name":"memberName","type":"string"}],"name":"addMember","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hammer","type":"address"}],"name":"setHammer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"supportsProposal","type":"bool"},{"name":"justificationText","type":"string"}],"name":"vote","outputs":[{"name":"vote","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"},{"name":"beneficiary","type":"address"},{"name":"amount","type":"uint256"},{"name":"transactionBytecode","type":"bytes"}],"name":"checkProposalCode","outputs":[{"name":"codeChecksOut","type":"bool"}],"payable":false,"type":"function"},{"inputs":[{"name":"minimumQuorumForProposals","type":"uint256"},{"name":"minutesForDebate","type":"uint256"},{"name":"marginOfVotesForMajority","type":"int256"},{"name":"congressLeader","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposal","type":"uint256"},{"indexed":true,"name":"recipient","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":false,"name":"description","type":"string"}],"name":"ProposalAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposal","type":"uint256"},{"indexed":true,"name":"position","type":"bool"},{"indexed":true,"name":"voter","type":"address"},{"indexed":false,"name":"justification","type":"string"}],"name":"Voted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposal","type":"uint256"},{"indexed":true,"name":"quorum","type":"uint256"},{"indexed":true,"name":"active","type":"bool"}],"name":"ProposalTallied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"member","type":"address"},{"indexed":true,"name":"isMember","type":"bool"}],"name":"MembershipChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minimumQuorum","type":"uint256"},{"indexed":true,"name":"debatingPeriodInMinutes","type":"uint256"},{"indexed":true,"name":"majorityMargin","type":"int256"}],"name":"ChangeOfRules","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"amount","type":"uint256"}],"name":"ReceivedEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"value","type":"uint256"},{"indexed":true,"name":"token","type":"address"},{"indexed":false,"name":"extraData","type":"bytes"}],"name":"ReceivedTokens","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200000d57fe5b60405160808062001bf883398101604090815281516020830151918301516060909301519092905b5b60008054600160a060020a033316600160a060020a031991821681179092556001805490911690911790555b6200007d848484640100000000620010616200011882021704565b60408051602081019091526000808252620000a691640100000000620010c16200017a82021704565b600160a060020a038116156200010c576200010c81604060405190810160405280600b81526020017f54686520466f756e6465720000000000000000000000000000000000000000008152506200017a64010000000002620010c1176401000000009004565b5b5b5050505062000406565b60005433600160a060020a03908116911614620001355762000000565b6002839055600382905560048190556040518190839085907fa439d3fa452be5e0e1e24a8145e715f4fd8b9c08c96a42fd82a855a85e5d57de90600090a45b5b505050565b60005433600160a060020a03908116911614620001975762000000565b600160a060020a03821660009081526007602052604090205415620001bc5762000000565b60068054600160a060020a038416600090815260076020526040902081905560018101620001eb838262000294565b916000526020600020906003020160005b5060408051606081018252600160a060020a038616808252602080830187905242938301939093528354600160a060020a03191617835584519092916200024b916001840191870190620002c9565b506040918201516002909101555160019150600160a060020a038416907f27b022af4a8347100c7a041ce5ccf8e14d644ff05de696315196faae8cd50c9b90600090a35b5b5050565b81548183558181151162000174576003028160030283600052602060002091820191016200017491906200034f565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030c57805160ff19168380011785556200033c565b828001600101855582156200033c579182015b828111156200033c5782518255916020019190600101906200031f565b5b506200034b92915062000396565b5090565b6200039391905b808211156200034b578054600160a060020a031916815560006200037e6001830182620003ba565b506000600282015560030162000356565b5090565b90565b6200039391905b808211156200034b57600081556001016200039d565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620003e2575062000402565b601f01602090049060005260206000209081019062000402919062000396565b5b50565b6117e280620004166000396000f300606060405236156100f65763ffffffff60e060020a600035041663013cf08b81146101355780630b1ca49a1461021f57806313af40351461023d578063237e94921461025b57806339106821146102b4578063400e3949146102e2578063457f4d41146103045780635daf08ca1461033057806369bd3436146103e35780638160f0b51461040557806383197ef0146104275780638da5cb5b146104395780638f4ffcb114610465578063aa02a90f146104d3578063b1050da5146104f5578063bcca1fd3146105a7578063c127c247146105c2578063d31fdffd14610624578063d3c0715b14610642578063eceb2945146106b0575b6101335b6040513490600160a060020a033316907fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf190600090a35b565b005b341561013d57fe5b610148600435610729565b60408051600160a060020a038b168152602081018a905260608101889052861515608082015285151560a082015260c0810185905260e081018490526101008082018490526101209282018381528a546002600182161590930260001901169190910492820183905290916101408301908a9080156102085780601f106101dd57610100808354040283529160200191610208565b820191906000526020600020905b8154815290600101906020018083116101eb57829003601f168201915b50509a505050505050505050505060405180910390f35b341561022757fe5b610133600160a060020a036004351661078f565b005b341561024557fe5b610133600160a060020a03600435166109f8565b005b341561026357fe5b60408051602060046024803582810135601f81018590048502860185019096528585526101339583359593946044949392909201918190840183828082843750949650610a3395505050505050565b005b34156102bc57fe5b6102d0600160a060020a0360043516610c65565b60408051918252519081900360200190f35b34156102ea57fe5b6102d0610c77565b60408051918252519081900360200190f35b341561030c57fe5b610314610c7e565b60408051600160a060020a039092168252519081900360200190f35b341561033857fe5b610343600435610c8d565b60408051600160a060020a0385168152908101829052606060208201818152845460026000196101006001841615020190911604918301829052906080830190859080156103d25780601f106103a7576101008083540402835291602001916103d2565b820191906000526020600020905b8154815290600101906020018083116103b557829003601f168201915b505094505050505060405180910390f35b34156103eb57fe5b6102d0610cca565b60408051918252519081900360200190f35b341561040d57fe5b6102d0610cd0565b60408051918252519081900360200190f35b341561042f57fe5b610133610cd6565b005b341561044157fe5b610314610d00565b60408051600160a060020a039092168252519081900360200190f35b341561046d57fe5b604080516020600460643581810135601f8101849004840285018401909552848452610133948235600160a060020a0390811695602480359660443590931695946084949293910191908190840183828082843750949650610d0f95505050505050565b005b34156104db57fe5b6102d0610e69565b60408051918252519081900360200190f35b34156104fd57fe5b604080516020600460443581810135601f81018490048402850184019095528484526102d0948235600160a060020a031694602480359560649492939190920191819084018382808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650610e6f95505050505050565b60408051918252519081900360200190f35b34156105af57fe5b610133600435602435604435611061565b005b34156105ca57fe5b60408051602060046024803582810135601f8101859004850286018501909652858552610133958335600160a060020a031695939460449493929092019181908401838280828437509496506110c195505050505050565b005b341561062c57fe5b610133600160a060020a03600435166111d3565b005b341561064a57fe5b604080516020600460443581810135601f81018490048402850184019095528484526102d0948235946024803515159560649492939190920191819084018382808284375094965061120e95505050505050565b60408051918252519081900360200190f35b34156106b857fe5b604080516020600460643581810135601f81018490048402850184019095528484526107159482359460248035600160a060020a031695604435959460849492019190819084018382808284375094965061139895505050505050565b604080519115158252519081900360200190f35b600580548290811061073757fe5b90600052602060002090600a020160005b508054600182015460038301546004840154600585015460068601546007870154600160a060020a039096169750939560020194929360ff80841694610100909404169289565b6000600061079b611454565b60005433600160a060020a039081169116146107b657610000565b600160a060020a03841660009081526007602052604090205415156107da57610000565b600160a060020a0384166000908152600760205260409020546006805491945060001982019350908390811061080c57fe5b906000526020600020906003020160005b50604080516060810182528254600160a060020a031681526001808401805484516020600261010095841615959095026000190190921693909304601f8101829004820284018201909552848352929493838601938301828280156108c35780601f10610898576101008083540402835291602001916108c3565b820191906000526020600020905b8154815290600101906020018083116108a657829003601f168201915b505050505081526020016002820154815250509050806006848154811015156108e857fe5b906000526020600020906003020160005b5081518154600160a060020a031916600160a060020a03909116178155602080830151805161092e926001850192019061147c565b506040918201516002909101558151600160a060020a0390811660009081526007602052828120869055908616815290812055600680548390811061096f57fe5b906000526020600020906003020160005b8154600160a060020a031916825561099c6001830160006114fb565b506000600291909101556006805460001901906109b99082611543565b50604051600090600160a060020a038616907f27b022af4a8347100c7a041ce5ccf8e14d644ff05de696315196faae8cd50c9b908390a35b5b50505050565b60005433600160a060020a03908116911614610a1357610000565b60008054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600760205260408120541515610a5757610000565b6005805484908110610a6557fe5b90600052602060002090600a020160005b5090508060030154421080610a8f5750600481015460ff165b80610b24575080546001820154604051606060020a600160a060020a039093169283028152601481018290528451859190603482019060208401908083835b60208310610aed5780518252601f199092019160209182019101610ace565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120600787015414159450505050505b80610b3457506002548160050154105b15610b3e57610000565b60045481600601541315610c0f5760048101805460ff191660019081179091558154908201546040518451600160a060020a0390931692859190819060208401908083838215610ba9575b805182526020831115610ba957601f199092019160209182019101610b89565b505050905090810190601f168015610bd55780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f1925050501515610bf957610000565b60048101805461ff001916610100179055610c1d565b60048101805461ff00191690555b6004810154600582015460405161010090920460ff1615159185907fa9ac225c6a5870bf2106e428872d012a51247520cc3af4329905bbb60e28978c90600090a45b5b505050565b60076020526000908152604090205481565b6005545b90565b600154600160a060020a031681565b6006805482908110610c9b57fe5b906000526020600020906003020160005b5080546002820154600160a060020a03909116925060019091019083565b60035481565b60025481565b60015433600160a060020a03908116911614610cf157610000565b33600160a060020a0316ff5b5b565b600054600160a060020a031681565b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301523081166024830152604482018890529351938616936323b872dd9360648084019491938390030190829087803b1515610d8757fe5b60325a03f11515610d9457fe5b50506040515115159050610da757610000565b81600160a060020a03168385600160a060020a03167fd65b48fd35864b3528d38e44760be5553248f89bf3ff6b06cca57817cc2650bf846040518080602001828103825283818151815260200191508051906020019080838360008314610e29575b805182526020831115610e2957601f199092019160209182019101610e09565b505050905090810190601f168015610e555780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b50505050565b60045481565b600160a060020a03331660009081526007602052604081205481901515610e9557610000565b6005805490610ea79060018301611575565b9150600582815481101515610eb857fe5b90600052602060002090600a020160005b508054600160a060020a031916600160a060020a038816178155600181018690558451909150610f02906002830190602087019061147c565b508585846040518084600160a060020a0316600160a060020a0316606060020a02815260140183815260200182805190602001908083835b60208310610f595780518252601f199092019160209182019101610f3a565b51815160209384036101000a60001901801990921691161790526040805192909401829003822060078a015560038054603c024201908a015560048901805461ffff19169055600060058a01558082528b51828201528b518d9850600160a060020a038f1697508a96507f646fec02522b41e7125cfc859a64fd4f4cefd5dc3b6237ca0abe251ded1fa88195508c949293508392830191850190808383821561101d575b80518252602083111561101d57601f199092019160209182019101610ffd565b505050905090810190601f1680156110495780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b5b50949350505050565b60005433600160a060020a0390811691161461107c57610000565b6002839055600382905560048190556040518190839085907fa439d3fa452be5e0e1e24a8145e715f4fd8b9c08c96a42fd82a855a85e5d57de90600090a45b5b505050565b60005433600160a060020a039081169116146110dc57610000565b600160a060020a038216600090815260076020526040902054156110ff57610000565b60068054600160a060020a03841660009081526007602052604090208190556001810161112c8382611543565b916000526020600020906003020160005b5060408051606081018252600160a060020a038616808252602080830187905242938301939093528354600160a060020a031916178355845190929161118a91600184019187019061147c565b506040918201516002909101555160019150600160a060020a038416907f27b022af4a8347100c7a041ce5ccf8e14d644ff05de696315196faae8cd50c9b90600090a35b5b5050565b60015433600160a060020a039081169116146111ee57610000565b60018054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600760205260408120548190151561123457610000565b600580548690811061124257fe5b90600052602060002090600a020160005b50600160a060020a033316600090815260098201602052604090205490915060ff1615156001141561128457610000565b600160a060020a03331660009081526009820160205260409020805460ff19166001908117909155600582018054909101905583156112cd5760068101805460010190556112da565b6006810180546000190190555b33600160a060020a0316841515867fc34f869b7ff431b034b7b9aea9822dac189a685e0b015c7d1be3add3f89128e8866040518080602001828103825283818151815260200191508051906020019080838360008314611355575b80518252602083111561135557601f199092019160209182019101611335565b505050905090810190601f1680156113815780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b5b509392505050565b60008383836040518084600160a060020a0316600160a060020a0316606060020a02815260140183815260200182805190602001908083835b602083106113f05780518252601f1990920191602091820191016113d1565b6001836020036101000a038019825116818451168082178552505050505050905001935050505060405180910390206000191660058681548110151561143257fe5b90600052602060002090600a020160005b50600701541490505b949350505050565b6040805160608101909152600081526020810161146f611658565b8152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114bd57805160ff19168380011785556114ea565b828001600101855582156114ea579182015b828111156114ea5782518255916020019190600101906114cf565b5b506114f792915061166a565b5090565b50805460018160011615610100020316600290046000825580601f106115215750610a2f565b601f016020900490600052602060002090810190610a2f919061166a565b5b50565b815481835581811511610c5f57600302816003028360005260206000209182019101610c5f919061168b565b5b505050565b815481835581811511610c5f57600a0281600a028360005260206000209182019101610c5f91906116cd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114bd57805160ff19168380011785556114ea565b828001600101855582156114ea579182015b828111156114ea5782518255916020019190600101906114cf565b5b506114f792915061166a565b5090565b815481835581811511610c5f57600302816003028360005260206000209182019101610c5f919061168b565b5b505050565b60408051602081019091526000815290565b610c7b91905b808211156114f75760008155600101611670565b5090565b90565b610c7b91905b808211156114f7578054600160a060020a031916815560006116b660018301826114fb565b5060006002820155600301611691565b5090565b90565b610c7b91905b808211156114f7578054600160a060020a03191681556000600182018190556116ff60028301826114fb565b60006003830181905560048301805461ffff19169055600583018190556006830181905560078301819055611738906008840190611748565b50600a016116d3565b5090565b90565b5080546000825560020290600052602060002090810190610a2f919061176d565b5b50565b610c7b91905b808211156114f757805474ffffffffffffffffffffffffffffffffffffffffff1916815560006117a660018301826114fb565b50600201611773565b5090565b905600a165627a7a7230582085a73b67c6db2e7c854c6435be19bd75c3995e64f66292445642cd4e412f1f5000290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efba8fb2ac5b6730729a972ec224426a287c3ad

    Constructor Arguments (ABI-encoded and appended to the ByteCode above)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efba8fb2ac5b6730729a972ec224426a287c3ad

-----Decoded View---------------
Found 4 constructor arguments :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000006efba8fb2ac5b6730729a972ec224426a287c3ad


   Swarm Source:
bzzr://85a73b67c6db2e7c854c6435be19bd75c3995e64f66292445642cd4e412f1f50
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.