Sponsored Link:   ARNA Genomics - FIRST BLOCKCHAIN BIOTECH ECOSYSTEM. Join ICO Now!
  Latest 25 txns from a total Of 338 transactions View All

TxHash Age From To Value [TxFee]
0x7813d996012a1a3a7172701a1ad1059dfff72e1b41a142e0b0827beb3b7992db12 days 2 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000490288
0x1723a7e55692358129e80119471b4cd689d6ab25ed134595fc550a950637350212 days 3 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00057427
0x5d210d85fabbf02d35b5da79b5684232c1ad53f80e896ea734341c82cb479be612 days 4 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000976259
0x629d554fed8a0bfce46b63ffcf68980d858fe762a2a57d0ce7bff9a53515ed1012 days 13 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00057427
0xc21136a5510115bc0764afb3c2ddd187597f8f361a5adad87684ca5ff88c151e12 days 20 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001398832
0xfa344614c33b8106ea2e3a5b6ddce854854adbf228d63abee336edb27e6133f913 days 3 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00379446
0xe84374f0b267161d24ff0b99c8b04ea67c9f45b6b33a3ba26d62d9cd08bb5e9c45 days 19 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000281388
0xcfcae50e68cedd567873b562ac103a2d9bbd81457938520da80ad9436d7c827649 days 1 hr ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001287006
0x9a0e70c9a302599c9514138fb1107288c9f41bea726eff1e49eac9bf0515196c49 days 2 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001797516
0x3fd4c7530e3afbb6c84cdfedfd02d3b87c15c00fe86d6064e4dda666e1cbe53750 days 3 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001435675
0xbb556412643edf414fcd285bbb29a524e36df2612fb305a5e7a4bd0502d9b46f50 days 3 hrs ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001435675
0xa5088530977f7b1bd62da3884abac12276aaf29619e0e1e78c558c7e08b0cf9b50 days 4 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x8246a2c462960cda64b06c0f6bc4273ff91e9020302de2c9e17b000490f90cae50 days 4 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x98f6f337044f517c2afcb4a4f022d52b76f0e61bd004e3a42b733d9d4b9eb48150 days 7 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x60783fd9a006d5a7e4dc081b607f4fdc0e178cc31d42ce5c57aa838b2cc1749450 days 17 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001835967
0x4bdad313bca453f18e0fd7217f39bb7d273a7e4d9cabe2de2ef279db004f582b50 days 17 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.003977463
0x09ceb1ca7c873fd705b515c2d98976d50ba2e0878876094f79a4b0b260d08e3450 days 17 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x768ad9697aa446ef84252f40735d930016d4006004d5d253992fb0de505c1fa750 days 17 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001835967
0xca38e0d88f294ff8fcc9bc267c1a51bc5c99a2119f7370a27153928212699ef450 days 17 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.003709608
0x20446f82d93bf55b014719fd1b27583b4b21730732580d830a2a0857fc6b4c9f53 days 15 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000492429
0x2e773d47b9769297157a242245835bb05646af42ebe8acb46c78cb3774267c6d69 days 4 hrs ago0x563b377a956c80d77a7c613a9343699ad6123911  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0.90364098 Ether0.00067962
0x421a853ff85394b06db8f67656fa6acd753cb0f6a43e37260ad61f56181df4c169 days 9 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00009784
0x6dd8bbf007916913cd717282838d3c9efb089556fe8dc21bbb7a1a9cd5d4b1ef72 days 18 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001338149969
0x932e1cdbf47654f43fc0266ff00acf4da8c8e43874ebf4507f62728402b59ace76 days 21 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00122572
0xf57ba8c22d7926eaff51436da34d65eb032e3f63f5240acd136d5b7e49ccc1cb76 days 21 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00058
[ 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
0xc4aeb02d408666b4f88f73639c67f93903c2badcfb050232de66d13142f59e4445823333 days 23 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xa5e734da866d447ed8fbdf9f6aa97f84622f8921c852fb5433f277103e9475c945818664 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xba67735b0aad0a65393fbe2b7070ff2d741be8c85afde498811e1bfcc292671545818524 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xdd2cee78ce8a4820a31eb20b2f378d82bd53faf9cda74de9539d6032816e581b45818414 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8cec33ee6412cbc566694f17795acfcf9c09f8b600493cca596ad787452ed7ea45818274 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x39d505fcd850aa99fe1bb4efd4ea251b477b5d098199c25d555b64278b83a36a45799694 days 8 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xbc2596999225248c48417906b2f19a2cdc266a323a3b9f11a8f195fc7f5b543d45780824 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x7c9215c3fe71bafca804a9bc1b5c50cd6e10c162651de3799e8502c0b8eee59645780544 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xd08e0e931066cf3f0ea444b40e347885ab540e04930c9e70afc88209a108bdff45780434 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xd17dba0d4c328844cb1bf1c6a06d21b73bfb5d0ab0b51bcd53717aad65976cd645780364 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xe4d2a2cd3a36a1754f6a332fdddd819a636ccf3504dd6cd205e748aa2063341845780224 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x9a4831a1586839926af795c5aca3dbbe0859176b39c195b865ea9b558f6dc73d45778604 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xc3c89e65d745741e2e5196bed10a7eb590d818dc00034c6ab2c10cdf0a68653845778474 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xbf1dc17a5777e81c5ca4016b97b1858534f5031dab28e3f9006755176a0606cc45778394 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xa17330e0b6cac5a3acfb91bc7c523ddba88a3e84d75c63378bcef540ae673d5345778294 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x94cae61e7ec9abcee9c6de3836b0f1eebb4d75d740b9f16c6ec4cd05d921393345778154 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x10d6bb78a16df6f6f79dd443c30440b0d9aeffc4c4b4ca8398823ed58bf13cf045778064 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xaf1226977003271894ce4f3d1c5077d102c244dd31cb0615b5c20a5173429a1645777974 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x9ebd2d94eb26d0a2f3cdfb621bd55437a1c67d627e8323d8a2453225073c360745777894 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x10cdde391bab0cc720bbedcfe4e63eba30fecd67801a097cfed86679a193785445777634 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x8a9cd8e4bab53de029b0e18ec0ac5cff5b2de79012ff4c788a72357141eac76545777544 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x071c85a83f5e0d70f79ae90995ed487fe7043ce89dc9762dde457a1cbc71c41045777434 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x87cc84f5e8a9a43a5efcf84dd66a544285f0074b30be2aec92f75fe90d8d399c45777374 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x1936c2a36bf6edd60608caa0decbafc19f486ee2da74fd046880bd8ceb218d2745777294 days 16 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x1ec9bc8b1bc7fa6bc5c17e7db246d458d2427f8a424e5ade2a6894d61900b33d45777254 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
[ Download CSV Export  ] 
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 is the last bytes of the Contract Creation Code 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.