Sponsored Link:  Download the Monaco app for Android and iOS on Aug 31 - www.mona.co
  Latest 25 txns from a total Of 332 transactions View All

TxHash Age From To Value [TxFee]
0xe84374f0b267161d24ff0b99c8b04ea67c9f45b6b33a3ba26d62d9cd08bb5e9c15 days 17 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000281388
0xcfcae50e68cedd567873b562ac103a2d9bbd81457938520da80ad9436d7c827619 days 2 mins ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001287006
0x9a0e70c9a302599c9514138fb1107288c9f41bea726eff1e49eac9bf0515196c19 days 1 hr ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001797516
0x3fd4c7530e3afbb6c84cdfedfd02d3b87c15c00fe86d6064e4dda666e1cbe53720 days 1 hr ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001435675
0xbb556412643edf414fcd285bbb29a524e36df2612fb305a5e7a4bd0502d9b46f20 days 1 hr ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001435675
0xa5088530977f7b1bd62da3884abac12276aaf29619e0e1e78c558c7e08b0cf9b20 days 3 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x8246a2c462960cda64b06c0f6bc4273ff91e9020302de2c9e17b000490f90cae20 days 3 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x98f6f337044f517c2afcb4a4f022d52b76f0e61bd004e3a42b733d9d4b9eb48120 days 6 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x60783fd9a006d5a7e4dc081b607f4fdc0e178cc31d42ce5c57aa838b2cc1749420 days 15 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001835967
0x4bdad313bca453f18e0fd7217f39bb7d273a7e4d9cabe2de2ef279db004f582b20 days 15 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.003977463
0x09ceb1ca7c873fd705b515c2d98976d50ba2e0878876094f79a4b0b260d08e3420 days 15 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001205967
0x768ad9697aa446ef84252f40735d930016d4006004d5d253992fb0de505c1fa720 days 16 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001835967
0xca38e0d88f294ff8fcc9bc267c1a51bc5c99a2119f7370a27153928212699ef420 days 16 hrs ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.003709608
0x20446f82d93bf55b014719fd1b27583b4b21730732580d830a2a0857fc6b4c9f23 days 14 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000492429
0x2e773d47b9769297157a242245835bb05646af42ebe8acb46c78cb3774267c6d39 days 3 hrs ago0x563b377a956c80d77a7c613a9343699ad6123911  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0.90364098 Ether0.00067962
0x421a853ff85394b06db8f67656fa6acd753cb0f6a43e37260ad61f56181df4c139 days 8 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00009784
0x6dd8bbf007916913cd717282838d3c9efb089556fe8dc21bbb7a1a9cd5d4b1ef42 days 16 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.001338149969
0x932e1cdbf47654f43fc0266ff00acf4da8c8e43874ebf4507f62728402b59ace46 days 20 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00122572
0xf57ba8c22d7926eaff51436da34d65eb032e3f63f5240acd136d5b7e49ccc1cb46 days 20 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00058
0x815198c76669cc25b2cf630db3536b1a1779d39e252bb9e6e93b1e1af859f04846 days 22 hrs ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.002303447535
0x33b018086960fcd32805caa1d673e76327bd03264e076dabe4638b25ea3561e047 days 2 hrs ago0x1e5ac6a2663f1501eeef5c28b7f49bb06f2a0951  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.00114854
0x005d9f1c42c74f71f7a242777f09845f745a675d5e446e11dddd2daa5580fcda48 days 3 mins ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000057427
0x18479b67783846ce5cab9ea397cd27f44ef77af638cfa9e47dbf8a19d3021c0248 days 22 mins ago0x4af013afbadb22d8a88c92d68fc96b033b9ebb8a  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.000057427
0xb313f795cd62cd023e802aa0ef196bb4ce842b06bc9042936682ae3f0f942fd148 days 46 mins ago0x6cdb5584f22586a1d08b5a91e71dc0d378d27f3d  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0009650675
0xa182560f0cbe1d63fe69752fa97800029917535afdc546dd9d7b677544b1075c48 days 48 mins ago0x6efba8fb2ac5b6730729a972ec224426a287c3ad  IN   0x97282a7a15f9beadc854e8793aae43b089f14b4e0 Ether0.0031036585
[ 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
0xae76f5821356e52b479a0b306094de13528d776a58277ba7358359ce650952b044193254 hrs 4 mins ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x6cef3de048f8b99941913bb68f3c4646ec608543f0f9b96285a6d57213bc38b543976033 days 15 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x6133c38d0e388f1f414a7be21c8b0487272c762c3d13c22d6c8e7dd5547f76ab43971423 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xa2299f635ce0ed701bd7d44788ef666fa4cb70fbdacaea8b3066b75d8c0c4b6b43939504 days 5 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x3fba3e2fe51da25afec54763363ee2890732bac39e2ea7f5d21e9c91cf5af48543915474 days 14 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x77cbefa5fd84e8e4be054a52dc19c24346912f8524b51187c978e91ac77bdaee43908524 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x2e6eb9ea7a368a26876dd64eb87071def20b17169585c81b424cc1c2cd64e6fb43899564 days 20 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x2edf1fdd69a06c7a054dd86052eefa0728c8aff3d538ddf88564ca0148bedc5d43859295 days 12 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x69e401c5409ea4776b2bc934344011c83022b3eec1fb949389aed5ebab9f189443843925 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x3d9e24980d0c34520fdc2c0a4c423b39727c9567e149dfce2a8a1059e15d2cc643843925 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xab5795a136203236c3d6d57e3b4243c939b06b3f5f9e855ecd963d16e7aa1bbc43843925 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x1b4e34a4baf19ec74aba27f7c5bd6abd2ac5569f09268abf923afb36988c354143843925 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xf85b5ee737a376a5c09f4e9711596b7d376ffee71f1d874bda7d9b5e3b838e8c43842095 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x62b062eb98151c5d745966b188c29b7e603287afa067cadcd8f3c263d05d6e8243841955 days 18 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x67cef45b4d44c6a0dddeee86613237fc4c062d99ffd0069d916d198666bd7f5543839995 days 19 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xc80578dcfef5400b840e692b127a0d4dc9356197c4a3b7d27376fccfc186150b43826056 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x1cffceb6ce5943f7a5ba51c4a4cf2b57d605aad52c34082a58c8c9395cecdb5243783826 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xe912be1f81ca4a4c8d6c17dd5baff26f39d3ae8a0ae3d3eeb30ba4c308a4bdc443709897 days 23 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xce67fa42f2caf326dc3b787078cef08472d2a2a33c5449aba6be7c4103d0e77a43689818 days 14 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x4d4f41eeda7c4e868f0b5bf135ae5fab7e21575464ecfbf207c8e4db513ff86b43685688 days 17 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xf82e79dae06ad5a1fbd1fe2ffaf0fc76b22dedda1c9a6dbddf3b7df1738bcab843675679 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0xfb85a9cf52e4937fc81d812203a9dd49c3952edaeb4f629653475d9ebe3fea3e43675639 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x184d36aa28a2eb3554a964d3f6a52d381a3666b8bb5b4511d405bf06e4f59f9443675579 days 1 hr ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x538cdbac80759f5e5fa7ff5a70a2fad3ae48ce52e034f508bf549af234a088a643652649 days 21 hrs ago0x2a52f19229b7938be8605a7f7cee7dcb41bea1270x97282a7a15f9beadc854e8793aae43b089f14b4e0.01 Ether
0x82180b3a753674afa868bfbc618425392d1ce4664219f7822c337172f8ae333b435881312 days 2 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.