ETH Price: $2,041.82 (+0.73%)

Token

 

Overview

Max Total Supply

0

Holders

0

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xcE5cdCf3...7e145382c
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Fundraiser

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-06-12
*/

pragma solidity 0.4.11;

contract Fundraiser {

  /* State */

  address signer1;
  address signer2;
  bool public accept; // are contributions accepted

  enum Action {
    None,
    Withdraw,
    Close,
    Open
  }
  
  struct Proposal {
    Action action;
    address destination;
    uint256 amount;
  }
  
  Proposal signer1_proposal;
  Proposal signer2_proposal;

  /* Constructor, choose signers. Those cannot be changed */
  function Fundraiser(address init_signer1,
                      address init_signer2) {
    accept = false; // must call Open first
    signer1 = init_signer1;
    signer2 = init_signer2;
    signer1_proposal.action = Action.None;
    signer2_proposal.action = Action.None;
  }

  /* no default action, in case people forget to send their data
     or in case they use a buggy app that forgets to send the data */
  function () {
    throw;
  }

  /* Entry point for contributors */

  event Deposit (
                 bytes20 tezos_pk_hash,
                 uint amount
                 );

  function Contribute(bytes24 tezos_pkh_and_chksum) payable {
    // Don't accept contributions if fundraiser closed
    if (!accept) { throw; }
    bytes20 tezos_pk_hash = bytes20(tezos_pkh_and_chksum);
    /* shift left 20 bytes to extract checksum */
    bytes4 expected_chksum = bytes4(tezos_pkh_and_chksum << 160);
    bytes4 chksum = bytes4(sha256(sha256(tezos_pk_hash)));
    /* revert transaction if the checksum cannot be verified */
    if (chksum != expected_chksum) { throw; }
    Deposit(tezos_pk_hash, msg.value);
  }

  /* Entry points for signers */

  function Withdraw(address proposed_destination,
                    uint256 proposed_amount) {
    /* check amount */
    if (proposed_amount > this.balance) { throw; }
    /* update action */
    if (msg.sender == signer1) {
      signer1_proposal.action = Action.Withdraw;
      signer1_proposal.destination = proposed_destination;
      signer1_proposal.amount = proposed_amount;
    } else if (msg.sender == signer2) {
      signer2_proposal.action = Action.Withdraw;
      signer2_proposal.destination = proposed_destination;
      signer2_proposal.amount = proposed_amount;
    } else { throw; }
    /* perform action */
    MaybePerformWithdraw();
  }

  function Close(address proposed_destination) {
    /* update action */
    if (msg.sender == signer1) {
      signer1_proposal.action = Action.Close;
      signer1_proposal.destination = proposed_destination;
    } else if (msg.sender == signer2) {
      signer2_proposal.action = Action.Close;
      signer2_proposal.destination = proposed_destination;
    } else { throw; }
    /* perform action */
    MaybePerformClose();
  }

  function Open() {
    /* update action */
    if (msg.sender == signer1) {
      signer1_proposal.action = Action.Open;
    } else if (msg.sender == signer2) {
      signer2_proposal.action = Action.Open;
    } else { throw; }
    /* perform action */
    MaybePerformOpen();
  }

  function MaybePerformWithdraw() internal {
    if (signer1_proposal.action == Action.Withdraw
        && signer2_proposal.action == Action.Withdraw
        && signer1_proposal.amount == signer2_proposal.amount
        && signer1_proposal.destination == signer2_proposal.destination) {
      signer1_proposal.action = Action.None;
      signer2_proposal.action = Action.None;
      signer1_proposal.destination.transfer(signer1_proposal.amount);
    }
  }

  function MaybePerformClose() internal {
    if (signer1_proposal.action == Action.Close
        && signer2_proposal.action == Action.Close
        && signer1_proposal.destination == signer2_proposal.destination) {
      accept = false;
      signer1_proposal.destination.transfer(this.balance);
    }
  }

  function MaybePerformOpen() internal {
    if (signer1_proposal.action == Action.Open
        && signer2_proposal.action == Action.Open) {
      accept = true;
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"accept","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"Open","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"proposed_destination","type":"address"}],"name":"Close","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"proposed_destination","type":"address"},{"name":"proposed_amount","type":"uint256"}],"name":"Withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tezos_pkh_and_chksum","type":"bytes24"}],"name":"Contribute","outputs":[],"payable":true,"type":"function"},{"inputs":[{"name":"init_signer1","type":"address"},{"name":"init_signer2","type":"address"}],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tezos_pk_hash","type":"bytes20"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Deposit","type":"event"}]

0x6060604052341561000c57fe5b604051604080610c98833981016040528080519060200190919080519060200190919050505b6000600160146101000a81548160ff02191690831515021790555081600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260000160006101000a81548160ff021916908360038111156100f157fe5b02179055506000600460000160006101000a81548160ff0219169083600381111561011857fe5b02179055505b50505b610b68806101306000396000f3006060604052361561006b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632852b71c1461008157806359ebeb90146100ab5780635b19963b146100bd578063884edad9146100f3578063946941ec14610132575b341561007357fe5b61007f5b60006000fd5b565b005b341561008957fe5b610091610155565b604051808215151515815260200191505060405180910390f35b34156100b357fe5b6100bb610168565b005b34156100c557fe5b6100f1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061027e565b005b34156100fb57fe5b610130600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061041d565b005b610153600480803567ffffffffffffffff19169060200190919050506105f6565b005b600160149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101ea576003600260000160006101000a81548160ff021916908360038111156101e057fe5b0217905550610273565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026c576003600460000160006101000a81548160ff0219169083600381111561026257fe5b0217905550610272565b60006000fd5b5b61027b610780565b5b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610344576002600260000160006101000a81548160ff021916908360038111156102f657fe5b021790555080600260000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610411565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561040a576002600460000160006101000a81548160ff021916908360038111156103bc57fe5b021790555080600460000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610410565b60006000fd5b5b610419610804565b5b50565b3073ffffffffffffffffffffffffffffffffffffffff16318111156104425760006000fd5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610512576001600260000160006101000a81548160ff021916908360038111156104ba57fe5b021790555081600260000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806002600101819055506105e9565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105e2576001600460000160006101000a81548160ff0219169083600381111561058a57fe5b021790555081600460000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004600101819055506105e8565b60006000fd5b5b6105f1610985565b5b5050565b600060006000600160149054906101000a900460ff1615156106185760006000fd5b83925060a08467ffffffffffffffff19169060020a029150600260028460006040516020015260405180826bffffffffffffffffffffffff19166bffffffffffffffffffffffff1916815260140191505060206040518083038160008661646e5a03f1151561068357fe5b50506040518051905060006040516020015260405180826000191660001916815260200191505060206040518083038160008661646e5a03f115156106c457fe5b5050604051805190509050817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561071c5760006000fd5b7ffd530c178259c9d150f97a2a86d6a96d4fd550c718f2cd8cbe346299dcecf628833460405180836bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526020018281526020019250505060405180910390a15b50505050565b6003600381111561078d57fe5b600260000160009054906101000a900460ff1660038111156107ab57fe5b1480156107e05750600360038111156107c057fe5b600460000160009054906101000a900460ff1660038111156107de57fe5b145b15610801576001600160146101000a81548160ff0219169083151502179055505b5b565b6002600381111561081157fe5b600260000160009054906101000a900460ff16600381111561082f57fe5b14801561086457506002600381111561084457fe5b600460000160009054906101000a900460ff16600381111561086257fe5b145b80156108e55750600460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610982576000600160146101000a81548160ff021916908315150217905550600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f19350505050151561098157fe5b5b5b565b6001600381111561099257fe5b600260000160009054906101000a900460ff1660038111156109b057fe5b1480156109e55750600160038111156109c557fe5b600460000160009054906101000a900460ff1660038111156109e357fe5b145b80156109fa5750600460010154600260010154145b8015610a7b5750600460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610b39576000600260000160006101000a81548160ff02191690836003811115610aa257fe5b02179055506000600460000160006101000a81548160ff02191690836003811115610ac957fe5b0217905550600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002600101549081150290604051809050600060405180830381858888f193505050501515610b3857fe5b5b5b5600a165627a7a72305820d250ab093395cdc915b1714145d9856225fb19ce130dfa65715848ca26429b5c002900000000000000000000000066e6837db646836a21d6d63094e69424d3670d0400000000000000000000000071101e0a61861fb3b60099a1640452845da79994

Deployed Bytecode

0x6060604052361561006b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632852b71c1461008157806359ebeb90146100ab5780635b19963b146100bd578063884edad9146100f3578063946941ec14610132575b341561007357fe5b61007f5b60006000fd5b565b005b341561008957fe5b610091610155565b604051808215151515815260200191505060405180910390f35b34156100b357fe5b6100bb610168565b005b34156100c557fe5b6100f1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061027e565b005b34156100fb57fe5b610130600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061041d565b005b610153600480803567ffffffffffffffff19169060200190919050506105f6565b005b600160149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101ea576003600260000160006101000a81548160ff021916908360038111156101e057fe5b0217905550610273565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026c576003600460000160006101000a81548160ff0219169083600381111561026257fe5b0217905550610272565b60006000fd5b5b61027b610780565b5b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610344576002600260000160006101000a81548160ff021916908360038111156102f657fe5b021790555080600260000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610411565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561040a576002600460000160006101000a81548160ff021916908360038111156103bc57fe5b021790555080600460000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610410565b60006000fd5b5b610419610804565b5b50565b3073ffffffffffffffffffffffffffffffffffffffff16318111156104425760006000fd5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610512576001600260000160006101000a81548160ff021916908360038111156104ba57fe5b021790555081600260000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806002600101819055506105e9565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105e2576001600460000160006101000a81548160ff0219169083600381111561058a57fe5b021790555081600460000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004600101819055506105e8565b60006000fd5b5b6105f1610985565b5b5050565b600060006000600160149054906101000a900460ff1615156106185760006000fd5b83925060a08467ffffffffffffffff19169060020a029150600260028460006040516020015260405180826bffffffffffffffffffffffff19166bffffffffffffffffffffffff1916815260140191505060206040518083038160008661646e5a03f1151561068357fe5b50506040518051905060006040516020015260405180826000191660001916815260200191505060206040518083038160008661646e5a03f115156106c457fe5b5050604051805190509050817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151561071c5760006000fd5b7ffd530c178259c9d150f97a2a86d6a96d4fd550c718f2cd8cbe346299dcecf628833460405180836bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526020018281526020019250505060405180910390a15b50505050565b6003600381111561078d57fe5b600260000160009054906101000a900460ff1660038111156107ab57fe5b1480156107e05750600360038111156107c057fe5b600460000160009054906101000a900460ff1660038111156107de57fe5b145b15610801576001600160146101000a81548160ff0219169083151502179055505b5b565b6002600381111561081157fe5b600260000160009054906101000a900460ff16600381111561082f57fe5b14801561086457506002600381111561084457fe5b600460000160009054906101000a900460ff16600381111561086257fe5b145b80156108e55750600460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610982576000600160146101000a81548160ff021916908315150217905550600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f19350505050151561098157fe5b5b5b565b6001600381111561099257fe5b600260000160009054906101000a900460ff1660038111156109b057fe5b1480156109e55750600160038111156109c557fe5b600460000160009054906101000a900460ff1660038111156109e357fe5b145b80156109fa5750600460010154600260010154145b8015610a7b5750600460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610b39576000600260000160006101000a81548160ff02191690836003811115610aa257fe5b02179055506000600460000160006101000a81548160ff02191690836003811115610ac957fe5b0217905550600260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002600101549081150290604051809050600060405180830381858888f193505050501515610b3857fe5b5b5b5600a165627a7a72305820d250ab093395cdc915b1714145d9856225fb19ce130dfa65715848ca26429b5c0029

Swarm Source

bzzr://d250ab093395cdc915b1714145d9856225fb19ce130dfa65715848ca26429b5c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.