Contract Overview
Balance: 141.23820399999999998 Ether
Ether Value: $25,079.67 (@ $177.57/ETH)
Transactions: 6399 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645at txn 0x2929b98c2e0da944901b2ce9c3447f2b943c6f6e747baba3599fd0c2bd461ee0
Token Balance:
 Latest 25 transactions from a total of 6399 transactions
(+3 PendingTxns)

TxHash Age From To Value [TxFee]
0xc318e496c01c0979bbf72b6dab540e0565e9fd820185f7afeca53329c93f21da(pending)0xac1a8717826cfbc39b1beab5efa142d8e0356942  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x691d1bbf047732285eede74b7d780dd3ebba99f0e14b0779197341a99914e08f(pending)0x74c15befb80ee5d667326d54f008f3f4da2788af  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x1bee9e679a999b51243147814e9407ee407c0d3707b08a86eb6c2271673ddd48(pending)0xd553437f232887fe960605e9c81aa29ea5c25c62  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0xdeb1c43e9bdceac1b18b336530c3d4ea9e7f6a03609565af0f24c943ba37dad93 hrs 52 mins ago0xeffd03bbaae7ef795fc57a79dc2d3835d1b20bca  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.0009254911
0x0414fe479d4525885927a568bd50b71ac9b5b83231f001740c640aad3fecfea05 hrs 39 mins ago0xa02378ca1c24767ecd776aafec02158a30dc01ac  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000852632
0xad00b098074060f96c93c29a11021f9d679a209cadb11d12b5503a21329cf9cd7 hrs 21 mins ago0x7b216f38232687724383fb2e97162aa80226fea8  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000492532
0x07c16f3f5f65a8e5f29b9d544e3dade89199f954f70728511f8154bac54a4b989 hrs 3 mins ago0xa161240b21dd88c8f107459f8ab59aedb745f373  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.0004063389
0x17de3a2688f31331127c5378e8081e7024d0bd9862367a0834c453fac4ba7b0c9 hrs 10 mins ago0xa161240b21dd88c8f107459f8ab59aedb745f373  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000492532
0x887dc927901d0875288e383cc1fa22596adb3d971c00cf0935392e62b5061ca59 hrs 31 mins ago0x7b216f38232687724383fb2e97162aa80226fea8  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000369399
0x1c7d69cd011945a0c887a1551ab06b76c624a8ae3ef9bfed7cb2ee0beeae0c3010 hrs 8 mins ago0xa02378ca1c24767ecd776aafec02158a30dc01ac  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.0002716488
0x843207512862e52b8e9425d8cb57509dcf86f766f67e13d6c718aff54b004a3d10 hrs 21 mins ago0x0239769a1adf4def9f07da824b80b9c4fcb59593  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24001.4 Ether0.0010414999
0x5a78dd97cad41d388098fa3e768980ce7fe7d3f8642b8dc5a198f92e7b28232e11 hrs 32 mins ago0x7a67f2dc6f02893434754c9c074c567389f04ae7  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000.1 Ether0.0007437045
0x0b438feb267efefffb0417194d92f7c443c4cb8b55e91c2a41a3b672842eb9fb12 hrs 1 min ago0x1f20b6035c8ee3a5e0cee6a3bfbd615dfe811dbc  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000.1 Ether0.000223391
0xe1abf65cf35704de4fe03c30e813a27f3bd6b04348c214d2647c6fe5cf21292112 hrs 5 mins ago0x1f20b6035c8ee3a5e0cee6a3bfbd615dfe811dbc  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000413574
0x8c150f680202d5b58e1353f6b97e1f2c95b80061de8caf3a5560a9f93c1300b812 hrs 6 mins ago0x1f20b6035c8ee3a5e0cee6a3bfbd615dfe811dbc  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000.1 Ether0.000159565
0xa38ce522707556f4c9e427fcf2f5403ea1b114519d0d2b1bcf2d8e3468a57dae12 hrs 19 mins ago0x3d9456ad6463a77bd77123cb4836e463030bfab4  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.001118884349
0xcc13f513585854efee6245a4f3ca4860502a9e7eda7798193ea334193d29b65512 hrs 33 mins ago0x3d9456ad6463a77bd77123cb4836e463030bfab4  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24001 Ether0.000849948
0x96fac1f36e7067eed14ef3d9b485865d42fe0ddde04dd3b4bd8c218edf88940213 hrs 22 mins ago0xd70804463bb2760c3384fc87bbe779e3d91bab3a  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000414399
0x10f881e56ca8d01fc1c2ad9fd7965d8384a2a3778f07ee8518c62b6661e62d4b14 hrs 18 mins ago0xf83775c95a00612d4cac5053dd484ffa81bae0ad  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000940497
0xd6fd54ed16f74dd536967492b3eeb5ffa6ea2bbcf7236b71dde322b52392a1bd15 hrs 38 mins ago0x2bd420d846be11f1fb677af2798d2851460c9aa5  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.0005662545
0x930bb22f0171dd06c291179389b22a39d3b60feb2f3a60716cf7ee57c98ab0fb16 hrs 9 mins ago0x48a63097e1ac123b1f5a8bbffafa4afa8192fab0  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.002310768
0xd025c6f3ee58d13d07ba7126f8e7fd3696a9ed2973ba3c2998efbb3ea6802f6317 hrs 4 mins ago0x48a63097e1ac123b1f5a8bbffafa4afa8192fab0  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.002824272
0x65f3f6e0841e536e9daf3d0b9884909f0212e60be82828101a30072dff97970917 hrs 6 mins ago0x5c9c2f412ceeffcd4c36ac1c0a85827000878fbc  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000828798
0x1b51e8d48c09ab2908ae442cfed6db345df4a19c92963d130dcf7445cb7f991617 hrs 15 mins ago0x64af1a115575b0b6b1cf9397b60c0d8a86f6a859  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.000615665
0xc8f1471cfcac72cc4afbc99357d3756fec05781aa178d449f8eef10ad16f387c17 hrs 42 mins ago0x48a63097e1ac123b1f5a8bbffafa4afa8192fab0  IN   0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether0.001085168
[ 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
0xe1abf65cf35704de4fe03c30e813a27f3bd6b04348c214d2647c6fe5cf212921671125512 hrs 5 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xeffd03bbaae7ef795fc57a79dc2d3835d1b20bca0.25 Ether
0xd6fd54ed16f74dd536967492b3eeb5ffa6ea2bbcf7236b71dde322b52392a1bd671034915 hrs 38 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x9188df10a49c1bfd4a098efeefd231be137dcec20.025 Ether
0xab552fc34c0637f1fb69e9da0b3f763a826610a1419f0cd319963818d7347706670889121 hrs 25 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x2c2126b9f4b5011dcbdb2224c98aa66c082a21b20.5 Ether
0x53c9e9500cc8370fcc6cab504f639cc21d4e35b06d2097062efab50d71d34daf670862322 hrs 26 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xb0a3f48478d84a497f930d8455711d9981b66a700.001 Ether
0xab38922d3747022b522cb67f7620221a42dbbe05986a264f20dd0ef96f932671670842223 hrs 16 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x51bab87c42d384d1cd3056d52d97c84ddaa65fe40.21 Ether
0xc396d80442b25c588a29a935ad8a2f7cf1be66efe284cddb055a3d1435b62f0067077771 day 1 hr ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xdf7e575359eccb490839f0d880ed673fc075cd3325 Ether
0x798ae610342e01d683acb50fde75b92570380fc3d509fc8e297269bc0172ca5167077651 day 1 hr ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x82fe8c393d063cb23631dbc8216d4adf941adc9e0.22 Ether
0x4078a5f2cff7a489596f6289dfcbf5f26a5e84f33d9ffda2ef731f33ade0288067046271 day 14 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x66b9bd3a9f0d44121533f88c94d4e352132229170.4 Ether
0x2be028781ec16574f5b1fdd72fd4638dbc3d908b778e1e5c34ea1f034331a4be67026521 day 21 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x6c18aab858f119cfc4965f0d83aeb7756fdaed650.6 Ether
0xa560970db4eb0534be81f7b605776def8a7ec6724ed3718bb7e4136c022a5ebd67025101 day 22 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x6ff83014c69da30f78bea257190f7b096410ed730.05 Ether
0xf4bbc82695d40efe6ebf1387797829b10ea3e04f95b220461849c64959e08e3267025041 day 22 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x5fac4c22148473e2f879efa93b1238402ad990690.05 Ether
0x747a0ea19abe8fe2f74df766d6ea7b9bbea7d4d7c6f2854ac2e2eab6fcb38eb267005012 days 6 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x03db815a4fb988755d7c369ae9ac3b187b42679f3 Ether
0x4611cd70ea2ae7e3bfdb911957073e9dce836502c7f5f910e9e527550e3da28a66984242 days 14 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xf2b6b3cd567c9ff98a023f396aedd011e03d6ee01.2 Ether
0x03326274d452486cd7a7192ee07486f4f3f2b7489e5b71d36523dc1ff1759a5c66980982 days 15 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x7a5d089701e1bac31cbe9c15bda39486d7d45e490.44 Ether
0x91d5713ca1d3f2461a87a62ee0e28c1bcea49ef9b74316eca03b43150b7f50c666940483 days 7 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x4331b095bc38dc3bce0a269682b5ebaefa2529290.4 Ether
0x272a4aefb92bd6c9f0ef6cc3e9bca51379a8bf7a9d74eef733ce2ce60b3592af66931863 days 11 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xb0512f306b6d8a759f0a6ae9be27272429d94ee47 Ether
0x7d2f11e3ed5a09c9191a0b2a60a5b1c537b48d9a37e9238d8054b110e2d155b566927473 days 12 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xe77162b7d2ceb3625a4993bab557403a7b706f180.5 Ether
0xb35a032b7a1e45557ac12d6a2cfa83ff136a6ccb07310c3b0d614015f9534e7d66927363 days 12 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x06c79e9197d9cc4e3065845c5d26b0473bd673e40.4 Ether
0x41231d6c6130e8a118ed576a77047835cc04d897d701db7e7b9be0b99168c39366841624 days 22 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x1057bea69c9add11c6e3de296866aff98366cfe30.0254 Ether
0x8791b9918b76a22f28f7a51f258fa0fc143b670956eb1712d395ef0c5f27620766841224 days 22 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xd0c838486120cda746ca514f76c70938bf708b900.0254 Ether
0x2903c3f4c5fa33508ad878cc71762c0dd652e88d26a87a3398ef83c803f1120666803725 days 13 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x21ea27a5e8822077d1292556cc2f3559eee0c4d80.001 Ether
0xe5b7978c2240f40d58f5df215cb2c3ea4499d2e3c633d522e5e76194eb1391d266786735 days 19 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xb0a3f48478d84a497f930d8455711d9981b66a700.001 Ether
0x04140c9f09529fe7d783fe4e727e5c69b36ab22d276df663f03b3aafcb3dcd2c66786145 days 20 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x6c18aab858f119cfc4965f0d83aeb7756fdaed651.925 Ether
0xce3b34a3e51c4c541ec0999c4ee32bb6b65723ee530c67d88ec470d94d25eebf66743496 days 13 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xa103508d0c0452fcce848ea14cc5195bba683f290.38 Ether
0xecaf1d656a1f14271bf42c29866e9e9126ae62cb33e29cc282a10e2cb736880266741986 days 13 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x132947f5e5eb80e919503188561461c06be3f4d30.18 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: StandardBounties
Compiler Text: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;
contract Token {
    /* This is a slight change to the ERC20 base standard.
    function totalSupply() constant returns (uint256 supply);
    is replaced with:
    uint256 public totalSupply;
    This automatically creates a getter function for the totalSupply.
    This is moved to the base contract since public getter functions are not
    currently recognised as an implementation of the matching abstract
    function by the compiler.
    */
    /// 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 balance);

    /// @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 success);

    /// @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 success);

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

    /// @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 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract StandardToken is Token {

    function transfer(address _to, uint256 _value) returns (bool success) {
        //Default assumes totalSupply can't be over max (2^256 - 1).
        //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
        //Replace the if with this one instead.
        //if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
        if (balances[msg.sender] >= _value && _value > 0) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        //same as above. Replace this line with the following if you want to protect against wrapping uints.
        //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
}
contract HumanStandardToken is StandardToken {

    /* Public variables of the token */

    /*
    NOTE:
    The following variables are OPTIONAL vanities. One does not have to include them.
    They allow one to customise the token contract & in no way influences the core functionality.
    Some wallets/interfaces might not even bother to look at this information.
    */
    string public name;                   //fancy name: eg Simon Bucks
    uint8 public decimals;                //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether.
    string public symbol;                 //An identifier: eg SBX
    string public version = 'H0.1';       //human 0.1 standard. Just an arbitrary versioning scheme.

    function HumanStandardToken(
        uint256 _initialAmount,
        string _tokenName,
        uint8 _decimalUnits,
        string _tokenSymbol
        ) {
        balances[msg.sender] = _initialAmount;               // Give the creator all initial tokens
        totalSupply = _initialAmount;                        // Update total supply
        name = _tokenName;                                   // Set the name for display purposes
        decimals = _decimalUnits;                            // Amount of decimals for display purposes
        symbol = _tokenSymbol;                               // Set the symbol for display purposes
    }

    /* Approves and then calls the receiving contract */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        //it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead.
        require(_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }
}

contract StandardBounties {

  /*
   * Events
   */
  event BountyIssued(uint bountyId);
  event BountyActivated(uint bountyId, address issuer);
  event BountyFulfilled(uint bountyId, address indexed fulfiller, uint256 indexed _fulfillmentId);
  event FulfillmentUpdated(uint _bountyId, uint _fulfillmentId);
  event FulfillmentAccepted(uint bountyId, address indexed fulfiller, uint256 indexed _fulfillmentId);
  event BountyKilled(uint bountyId, address indexed issuer);
  event ContributionAdded(uint bountyId, address indexed contributor, uint256 value);
  event DeadlineExtended(uint bountyId, uint newDeadline);
  event BountyChanged(uint bountyId);
  event IssuerTransferred(uint _bountyId, address indexed _newIssuer);
  event PayoutIncreased(uint _bountyId, uint _newFulfillmentAmount);


  /*
   * Storage
   */

  address public owner;

  Bounty[] public bounties;

  mapping(uint=>Fulfillment[]) fulfillments;
  mapping(uint=>uint) numAccepted;
  mapping(uint=>HumanStandardToken) tokenContracts;

  /*
   * Enums
   */

  enum BountyStages {
      Draft,
      Active,
      Dead
  }

  /*
   * Structs
   */

  struct Bounty {
      address issuer;
      uint deadline;
      string data;
      uint fulfillmentAmount;
      address arbiter;
      bool paysTokens;
      BountyStages bountyStage;
      uint balance;
  }

  struct Fulfillment {
      bool accepted;
      address fulfiller;
      string data;
  }

  /*
   * Modifiers
   */

  modifier validateNotTooManyBounties(){
    require((bounties.length + 1) > bounties.length);
    _;
  }

  modifier validateNotTooManyFulfillments(uint _bountyId){
    require((fulfillments[_bountyId].length + 1) > fulfillments[_bountyId].length);
    _;
  }

  modifier validateBountyArrayIndex(uint _bountyId){
    require(_bountyId < bounties.length);
    _;
  }

  modifier onlyIssuer(uint _bountyId) {
      require(msg.sender == bounties[_bountyId].issuer);
      _;
  }

  modifier onlyFulfiller(uint _bountyId, uint _fulfillmentId) {
      require(msg.sender == fulfillments[_bountyId][_fulfillmentId].fulfiller);
      _;
  }

  modifier amountIsNotZero(uint _amount) {
      require(_amount != 0);
      _;
  }

  modifier transferredAmountEqualsValue(uint _bountyId, uint _amount) {
      if (bounties[_bountyId].paysTokens){
        require(msg.value == 0);
        uint oldBalance = tokenContracts[_bountyId].balanceOf(this);
        if (_amount != 0){
          require(tokenContracts[_bountyId].transferFrom(msg.sender, this, _amount));
        }
        require((tokenContracts[_bountyId].balanceOf(this) - oldBalance) == _amount);

      } else {
        require((_amount * 1 wei) == msg.value);
      }
      _;
  }

  modifier isBeforeDeadline(uint _bountyId) {
      require(now < bounties[_bountyId].deadline);
      _;
  }

  modifier validateDeadline(uint _newDeadline) {
      require(_newDeadline > now);
      _;
  }

  modifier isAtStage(uint _bountyId, BountyStages _desiredStage) {
      require(bounties[_bountyId].bountyStage == _desiredStage);
      _;
  }

  modifier validateFulfillmentArrayIndex(uint _bountyId, uint _index) {
      require(_index < fulfillments[_bountyId].length);
      _;
  }

  modifier notYetAccepted(uint _bountyId, uint _fulfillmentId){
      require(fulfillments[_bountyId][_fulfillmentId].accepted == false);
      _;
  }

  /*
   * Public functions
   */


  /// @dev StandardBounties(): instantiates
  /// @param _owner the issuer of the standardbounties contract, who has the
  /// ability to remove bounties
  function StandardBounties(address _owner)
      public
  {
      owner = _owner;
  }

  /// @dev issueBounty(): instantiates a new draft bounty
  /// @param _issuer the address of the intended issuer of the bounty
  /// @param _deadline the unix timestamp after which fulfillments will no longer be accepted
  /// @param _data the requirements of the bounty
  /// @param _fulfillmentAmount the amount of wei to be paid out for each successful fulfillment
  /// @param _arbiter the address of the arbiter who can mediate claims
  /// @param _paysTokens whether the bounty pays in tokens or in ETH
  /// @param _tokenContract the address of the contract if _paysTokens is true
  function issueBounty(
      address _issuer,
      uint _deadline,
      string _data,
      uint256 _fulfillmentAmount,
      address _arbiter,
      bool _paysTokens,
      address _tokenContract
  )
      public
      validateDeadline(_deadline)
      amountIsNotZero(_fulfillmentAmount)
      validateNotTooManyBounties
      returns (uint)
  {
      bounties.push(Bounty(_issuer, _deadline, _data, _fulfillmentAmount, _arbiter, _paysTokens, BountyStages.Draft, 0));
      if (_paysTokens){
        tokenContracts[bounties.length - 1] = HumanStandardToken(_tokenContract);
      }
      BountyIssued(bounties.length - 1);
      return (bounties.length - 1);
  }

  /// @dev issueAndActivateBounty(): instantiates a new draft bounty
  /// @param _issuer the address of the intended issuer of the bounty
  /// @param _deadline the unix timestamp after which fulfillments will no longer be accepted
  /// @param _data the requirements of the bounty
  /// @param _fulfillmentAmount the amount of wei to be paid out for each successful fulfillment
  /// @param _arbiter the address of the arbiter who can mediate claims
  /// @param _paysTokens whether the bounty pays in tokens or in ETH
  /// @param _tokenContract the address of the contract if _paysTokens is true
  /// @param _value the total number of tokens being deposited upon activation
  function issueAndActivateBounty(
      address _issuer,
      uint _deadline,
      string _data,
      uint256 _fulfillmentAmount,
      address _arbiter,
      bool _paysTokens,
      address _tokenContract,
      uint256 _value
  )
      public
      payable
      validateDeadline(_deadline)
      amountIsNotZero(_fulfillmentAmount)
      validateNotTooManyBounties
      returns (uint)
  {
      require (_value >= _fulfillmentAmount);
      if (_paysTokens){
        require(msg.value == 0);
        tokenContracts[bounties.length] = HumanStandardToken(_tokenContract);
        require(tokenContracts[bounties.length].transferFrom(msg.sender, this, _value));
      } else {
        require((_value * 1 wei) == msg.value);
      }
      bounties.push(Bounty(_issuer,
                            _deadline,
                            _data,
                            _fulfillmentAmount,
                            _arbiter,
                            _paysTokens,
                            BountyStages.Active,
                            _value));
      BountyIssued(bounties.length - 1);
      ContributionAdded(bounties.length - 1, msg.sender, _value);
      BountyActivated(bounties.length - 1, msg.sender);
      return (bounties.length - 1);
  }

  modifier isNotDead(uint _bountyId) {
      require(bounties[_bountyId].bountyStage != BountyStages.Dead);
      _;
  }

  /// @dev contribute(): a function allowing anyone to contribute tokens to a
  /// bounty, as long as it is still before its deadline. Shouldn't keep
  /// them by accident (hence 'value').
  /// @param _bountyId the index of the bounty
  /// @param _value the amount being contributed in ether to prevent accidental deposits
  /// @notice Please note you funds will be at the mercy of the issuer
  ///  and can be drained at any moment. Be careful!
  function contribute (uint _bountyId, uint _value)
      payable
      public
      validateBountyArrayIndex(_bountyId)
      isBeforeDeadline(_bountyId)
      isNotDead(_bountyId)
      amountIsNotZero(_value)
      transferredAmountEqualsValue(_bountyId, _value)
  {
      bounties[_bountyId].balance += _value;

      ContributionAdded(_bountyId, msg.sender, _value);
  }

  /// @notice Send funds to activate the bug bounty
  /// @dev activateBounty(): activate a bounty so it may pay out
  /// @param _bountyId the index of the bounty
  /// @param _value the amount being contributed in ether to prevent
  /// accidental deposits
  function activateBounty(uint _bountyId, uint _value)
      payable
      public
      validateBountyArrayIndex(_bountyId)
      isBeforeDeadline(_bountyId)
      onlyIssuer(_bountyId)
      transferredAmountEqualsValue(_bountyId, _value)
  {
      bounties[_bountyId].balance += _value;
      require (bounties[_bountyId].balance >= bounties[_bountyId].fulfillmentAmount);
      transitionToState(_bountyId, BountyStages.Active);

      ContributionAdded(_bountyId, msg.sender, _value);
      BountyActivated(_bountyId, msg.sender);
  }

  modifier notIssuerOrArbiter(uint _bountyId) {
      require(msg.sender != bounties[_bountyId].issuer && msg.sender != bounties[_bountyId].arbiter);
      _;
  }

  /// @dev fulfillBounty(): submit a fulfillment for the given bounty
  /// @param _bountyId the index of the bounty
  /// @param _data the data artifacts representing the fulfillment of the bounty
  function fulfillBounty(uint _bountyId, string _data)
      public
      validateBountyArrayIndex(_bountyId)
      validateNotTooManyFulfillments(_bountyId)
      isAtStage(_bountyId, BountyStages.Active)
      isBeforeDeadline(_bountyId)
      notIssuerOrArbiter(_bountyId)
  {
      fulfillments[_bountyId].push(Fulfillment(false, msg.sender, _data));

      BountyFulfilled(_bountyId, msg.sender, (fulfillments[_bountyId].length - 1));
  }

  /// @dev updateFulfillment(): Submit updated data for a given fulfillment
  /// @param _bountyId the index of the bounty
  /// @param _fulfillmentId the index of the fulfillment
  /// @param _data the new data being submitted
  function updateFulfillment(uint _bountyId, uint _fulfillmentId, string _data)
      public
      validateBountyArrayIndex(_bountyId)
      validateFulfillmentArrayIndex(_bountyId, _fulfillmentId)
      onlyFulfiller(_bountyId, _fulfillmentId)
      notYetAccepted(_bountyId, _fulfillmentId)
  {
      fulfillments[_bountyId][_fulfillmentId].data = _data;
      FulfillmentUpdated(_bountyId, _fulfillmentId);
  }

  modifier onlyIssuerOrArbiter(uint _bountyId) {
      require(msg.sender == bounties[_bountyId].issuer ||
         (msg.sender == bounties[_bountyId].arbiter && bounties[_bountyId].arbiter != address(0)));
      _;
  }

  modifier fulfillmentNotYetAccepted(uint _bountyId, uint _fulfillmentId) {
      require(fulfillments[_bountyId][_fulfillmentId].accepted == false);
      _;
  }

  modifier enoughFundsToPay(uint _bountyId) {
      require(bounties[_bountyId].balance >= bounties[_bountyId].fulfillmentAmount);
      _;
  }

  /// @dev acceptFulfillment(): accept a given fulfillment
  /// @param _bountyId the index of the bounty
  /// @param _fulfillmentId the index of the fulfillment being accepted
  function acceptFulfillment(uint _bountyId, uint _fulfillmentId)
      public
      validateBountyArrayIndex(_bountyId)
      validateFulfillmentArrayIndex(_bountyId, _fulfillmentId)
      onlyIssuerOrArbiter(_bountyId)
      isAtStage(_bountyId, BountyStages.Active)
      fulfillmentNotYetAccepted(_bountyId, _fulfillmentId)
      enoughFundsToPay(_bountyId)
  {
      fulfillments[_bountyId][_fulfillmentId].accepted = true;
      numAccepted[_bountyId]++;
      bounties[_bountyId].balance -= bounties[_bountyId].fulfillmentAmount;
      if (bounties[_bountyId].paysTokens){
        require(tokenContracts[_bountyId].transfer(fulfillments[_bountyId][_fulfillmentId].fulfiller, bounties[_bountyId].fulfillmentAmount));
      } else {
        fulfillments[_bountyId][_fulfillmentId].fulfiller.transfer(bounties[_bountyId].fulfillmentAmount);
      }
      FulfillmentAccepted(_bountyId, msg.sender, _fulfillmentId);
  }

  /// @dev killBounty(): drains the contract of it's remaining
  /// funds, and moves the bounty into stage 3 (dead) since it was
  /// either killed in draft stage, or never accepted any fulfillments
  /// @param _bountyId the index of the bounty
  function killBounty(uint _bountyId)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
  {
      transitionToState(_bountyId, BountyStages.Dead);
      uint oldBalance = bounties[_bountyId].balance;
      bounties[_bountyId].balance = 0;
      if (oldBalance > 0){
        if (bounties[_bountyId].paysTokens){
          require(tokenContracts[_bountyId].transfer(bounties[_bountyId].issuer, oldBalance));
        } else {
          bounties[_bountyId].issuer.transfer(oldBalance);
        }
      }
      BountyKilled(_bountyId, msg.sender);
  }

  modifier newDeadlineIsValid(uint _bountyId, uint _newDeadline) {
      require(_newDeadline > bounties[_bountyId].deadline);
      _;
  }

  /// @dev extendDeadline(): allows the issuer to add more time to the
  /// bounty, allowing it to continue accepting fulfillments
  /// @param _bountyId the index of the bounty
  /// @param _newDeadline the new deadline in timestamp format
  function extendDeadline(uint _bountyId, uint _newDeadline)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      newDeadlineIsValid(_bountyId, _newDeadline)
  {
      bounties[_bountyId].deadline = _newDeadline;

      DeadlineExtended(_bountyId, _newDeadline);
  }

  /// @dev transferIssuer(): allows the issuer to transfer ownership of the
  /// bounty to some new address
  /// @param _bountyId the index of the bounty
  /// @param _newIssuer the address of the new issuer
  function transferIssuer(uint _bountyId, address _newIssuer)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
  {
      bounties[_bountyId].issuer = _newIssuer;
      IssuerTransferred(_bountyId, _newIssuer);
  }


  /// @dev changeBountyDeadline(): allows the issuer to change a bounty's deadline
  /// @param _bountyId the index of the bounty
  /// @param _newDeadline the new deadline for the bounty
  function changeBountyDeadline(uint _bountyId, uint _newDeadline)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      validateDeadline(_newDeadline)
      isAtStage(_bountyId, BountyStages.Draft)
  {
      bounties[_bountyId].deadline = _newDeadline;
      BountyChanged(_bountyId);
  }

  /// @dev changeData(): allows the issuer to change a bounty's data
  /// @param _bountyId the index of the bounty
  /// @param _newData the new requirements of the bounty
  function changeBountyData(uint _bountyId, string _newData)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      isAtStage(_bountyId, BountyStages.Draft)
  {
      bounties[_bountyId].data = _newData;
      BountyChanged(_bountyId);
  }

  /// @dev changeBountyfulfillmentAmount(): allows the issuer to change a bounty's fulfillment amount
  /// @param _bountyId the index of the bounty
  /// @param _newFulfillmentAmount the new fulfillment amount
  function changeBountyFulfillmentAmount(uint _bountyId, uint _newFulfillmentAmount)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      isAtStage(_bountyId, BountyStages.Draft)
  {
      bounties[_bountyId].fulfillmentAmount = _newFulfillmentAmount;
      BountyChanged(_bountyId);
  }

  /// @dev changeBountyArbiter(): allows the issuer to change a bounty's arbiter
  /// @param _bountyId the index of the bounty
  /// @param _newArbiter the new address of the arbiter
  function changeBountyArbiter(uint _bountyId, address _newArbiter)
      public
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      isAtStage(_bountyId, BountyStages.Draft)
  {
      bounties[_bountyId].arbiter = _newArbiter;
      BountyChanged(_bountyId);
  }

  modifier newFulfillmentAmountIsIncrease(uint _bountyId, uint _newFulfillmentAmount) {
      require(bounties[_bountyId].fulfillmentAmount < _newFulfillmentAmount);
      _;
  }

  /// @dev increasePayout(): allows the issuer to increase a given fulfillment
  /// amount in the active stage
  /// @param _bountyId the index of the bounty
  /// @param _newFulfillmentAmount the new fulfillment amount
  /// @param _value the value of the additional deposit being added
  function increasePayout(uint _bountyId, uint _newFulfillmentAmount, uint _value)
      public
      payable
      validateBountyArrayIndex(_bountyId)
      onlyIssuer(_bountyId)
      newFulfillmentAmountIsIncrease(_bountyId, _newFulfillmentAmount)
      transferredAmountEqualsValue(_bountyId, _value)
  {
      bounties[_bountyId].balance += _value;
      require(bounties[_bountyId].balance >= _newFulfillmentAmount);
      bounties[_bountyId].fulfillmentAmount = _newFulfillmentAmount;
      PayoutIncreased(_bountyId, _newFulfillmentAmount);
  }

  /// @dev getFulfillment(): Returns the fulfillment at a given index
  /// @param _bountyId the index of the bounty
  /// @param _fulfillmentId the index of the fulfillment to return
  /// @return Returns a tuple for the fulfillment
  function getFulfillment(uint _bountyId, uint _fulfillmentId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      validateFulfillmentArrayIndex(_bountyId, _fulfillmentId)
      returns (bool, address, string)
  {
      return (fulfillments[_bountyId][_fulfillmentId].accepted,
              fulfillments[_bountyId][_fulfillmentId].fulfiller,
              fulfillments[_bountyId][_fulfillmentId].data);
  }

  /// @dev getBounty(): Returns the details of the bounty
  /// @param _bountyId the index of the bounty
  /// @return Returns a tuple for the bounty
  function getBounty(uint _bountyId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      returns (address, uint, uint, bool, uint, uint)
  {
      return (bounties[_bountyId].issuer,
              bounties[_bountyId].deadline,
              bounties[_bountyId].fulfillmentAmount,
              bounties[_bountyId].paysTokens,
              uint(bounties[_bountyId].bountyStage),
              bounties[_bountyId].balance);
  }

  /// @dev getBountyArbiter(): Returns the arbiter of the bounty
  /// @param _bountyId the index of the bounty
  /// @return Returns an address for the arbiter of the bounty
  function getBountyArbiter(uint _bountyId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      returns (address)
  {
      return (bounties[_bountyId].arbiter);
  }

  /// @dev getBountyData(): Returns the data of the bounty
  /// @param _bountyId the index of the bounty
  /// @return Returns a string for the bounty data
  function getBountyData(uint _bountyId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      returns (string)
  {
      return (bounties[_bountyId].data);
  }

  /// @dev getBountyToken(): Returns the token contract of the bounty
  /// @param _bountyId the index of the bounty
  /// @return Returns an address for the token that the bounty uses
  function getBountyToken(uint _bountyId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      returns (address)
  {
      return (tokenContracts[_bountyId]);
  }

  /// @dev getNumBounties() returns the number of bounties in the registry
  /// @return Returns the number of bounties
  function getNumBounties()
      public
      constant
      returns (uint)
  {
      return bounties.length;
  }

  /// @dev getNumFulfillments() returns the number of fulfillments for a given milestone
  /// @param _bountyId the index of the bounty
  /// @return Returns the number of fulfillments
  function getNumFulfillments(uint _bountyId)
      public
      constant
      validateBountyArrayIndex(_bountyId)
      returns (uint)
  {
      return fulfillments[_bountyId].length;
  }

  /*
   * Internal functions
   */

  /// @dev transitionToState(): transitions the contract to the
  /// state passed in the parameter `_newStage` given the
  /// conditions stated in the body of the function
  /// @param _bountyId the index of the bounty
  /// @param _newStage the new stage to transition to
  function transitionToState(uint _bountyId, BountyStages _newStage)
      internal
  {
      bounties[_bountyId].bountyStage = _newStage;
  }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"killBounty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"getBountyToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_data","type":"string"}],"name":"fulfillBounty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newDeadline","type":"uint256"}],"name":"extendDeadline","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getNumBounties","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_fulfillmentId","type":"uint256"},{"name":"_data","type":"string"}],"name":"updateFulfillment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newFulfillmentAmount","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"increasePayout","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newFulfillmentAmount","type":"uint256"}],"name":"changeBountyFulfillmentAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newIssuer","type":"address"}],"name":"transferIssuer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"activateBounty","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_issuer","type":"address"},{"name":"_deadline","type":"uint256"},{"name":"_data","type":"string"},{"name":"_fulfillmentAmount","type":"uint256"},{"name":"_arbiter","type":"address"},{"name":"_paysTokens","type":"bool"},{"name":"_tokenContract","type":"address"}],"name":"issueBounty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_issuer","type":"address"},{"name":"_deadline","type":"uint256"},{"name":"_data","type":"string"},{"name":"_fulfillmentAmount","type":"uint256"},{"name":"_arbiter","type":"address"},{"name":"_paysTokens","type":"bool"},{"name":"_tokenContract","type":"address"},{"name":"_value","type":"uint256"}],"name":"issueAndActivateBounty","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"getBountyArbiter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"contribute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"getBountyData","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_fulfillmentId","type":"uint256"}],"name":"getFulfillment","outputs":[{"name":"","type":"bool"},{"name":"","type":"address"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newArbiter","type":"address"}],"name":"changeBountyArbiter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newDeadline","type":"uint256"}],"name":"changeBountyDeadline","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_fulfillmentId","type":"uint256"}],"name":"acceptFulfillment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bounties","outputs":[{"name":"issuer","type":"address"},{"name":"deadline","type":"uint256"},{"name":"data","type":"string"},{"name":"fulfillmentAmount","type":"uint256"},{"name":"arbiter","type":"address"},{"name":"paysTokens","type":"bool"},{"name":"bountyStage","type":"uint8"},{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"getBounty","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyId","type":"uint256"},{"name":"_newData","type":"string"}],"name":"changeBountyData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_bountyId","type":"uint256"}],"name":"getNumFulfillments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"}],"name":"BountyIssued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":false,"name":"issuer","type":"address"}],"name":"BountyActivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":true,"name":"fulfiller","type":"address"},{"indexed":true,"name":"_fulfillmentId","type":"uint256"}],"name":"BountyFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_bountyId","type":"uint256"},{"indexed":false,"name":"_fulfillmentId","type":"uint256"}],"name":"FulfillmentUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":true,"name":"fulfiller","type":"address"},{"indexed":true,"name":"_fulfillmentId","type":"uint256"}],"name":"FulfillmentAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":true,"name":"issuer","type":"address"}],"name":"BountyKilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":true,"name":"contributor","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ContributionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"},{"indexed":false,"name":"newDeadline","type":"uint256"}],"name":"DeadlineExtended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bountyId","type":"uint256"}],"name":"BountyChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_bountyId","type":"uint256"},{"indexed":true,"name":"_newIssuer","type":"address"}],"name":"IssuerTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_bountyId","type":"uint256"},{"indexed":false,"name":"_newFulfillmentAmount","type":"uint256"}],"name":"PayoutIncreased","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b60405160208061419e83398101604052808051906020019091905050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506141238061007b6000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806316b575091461014357806319dba3d2146101665780631e688c14146101c95780632d1fdef61461022f5780633278ba2f1461025b57806341ac5dd014610284578063422d4cd6146102f3578063452ccadb1461031d5780635d19606e14610349578063626a413a1461038b578063788acd7e146103ac5780637e9e511d1461049757806386647bac146105805780638c590917146105e35780638da5cb5b14610604578063a60745aa14610659578063b94b0a3a146106f5578063cdad6576146107d8578063d6c0ceab1461081a578063d958349714610846578063dc2f874414610872578063ee8c4bbf146109c6578063f3d3402a14610a50578063fbe334f814610ab6575b600080fd5b341561014e57600080fd5b6101646004808035906020019091905050610aed565b005b341561017157600080fd5b6101876004808035906020019091905050610e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101d457600080fd5b61022d600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610e7f565b005b341561023a57600080fd5b61025960048080359060200190919080359060200190919050506111b0565b005b341561026657600080fd5b61026e6112db565b6040518082815260200191505060405180910390f35b341561028f57600080fd5b6102f1600480803590602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506112e8565b005b61031b6004808035906020019091908035906020019091908035906020019091905050611493565b005b341561032857600080fd5b61034760048080359060200190919080359060200190919050506119b1565b005b341561035457600080fd5b610389600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611af8565b005b6103aa6004808035906020019091908035906020019091905050611c3a565b005b34156103b757600080fd5b610481600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121de565b6040518082815260200191505060405180910390f35b61056a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612483565b6040518082815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050612966565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61060260048080359060200190919080359060200190919050506129c5565b005b341561060f57600080fd5b610617612e8e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066457600080fd5b61067a6004808035906020019091905050612eb3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106ba57808201518184015260208101905061069f565b50505050905090810190601f1680156106e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561070057600080fd5b61071f6004808035906020019091908035906020019091905050612f90565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561079b578082015181840152602081019050610780565b50505050905090810190601f1680156107c85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156107e357600080fd5b610818600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613143565b005b341561082557600080fd5b61084460048080359060200190919080359060200190919050506132c4565b005b341561085157600080fd5b610870600480803590602001909190803590602001909190505061341b565b005b341561087d57600080fd5b6108936004808035906020019091905050613a2c565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018515151515815260200184600281111561092157fe5b60ff1681526020018381526020018281038252888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109b05780601f10610985576101008083540402835291602001916109b0565b820191906000526020600020905b81548152906001019060200180831161099357829003601f168201915b5050995050505050505050505060405180910390f35b34156109d157600080fd5b6109e76004808035906020019091905050613adc565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184151515158152602001838152602001828152602001965050505050505060405180910390f35b3415610a5b57600080fd5b610ab4600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613c1a565b005b3415610ac157600080fd5b610ad76004808035906020019091905050613d71565b6040518082815260200191505060405180910390f35b60008160018054905081101515610b0357600080fd5b82600181815481101515610b1357fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7e57600080fd5b610b89846002613da6565b600184815481101515610b9857fe5b90600052602060002090600602016005015492506000600185815481101515610bbd57fe5b9060005260206000209060060201600501819055506000831115610dd957600184815481101515610bea57fe5b906000526020600020906006020160040160149054906101000a900460ff1615610d57576004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600186815481101515610c6c57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d2c57600080fd5b6102c65a03f11515610d3d57600080fd5b505050604051805190501515610d5257600080fd5b610dd8565b600184815481101515610d6657fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515610dd757600080fd5b5b5b3373ffffffffffffffffffffffffffffffffffffffff167f1b5171f0f6cd238c5b76b002b28e5c29dc3864174e7ed7f168b5e6373196d901856040518082815260200191505060405180910390a250505050565b60008160018054905081101515610e4357600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b8160018054905081101515610e9357600080fd5b8260026000828152602001908152602001600020805490506001600260008481526020019081526020016000208054905001111515610ed157600080fd5b836001806002811115610ee057fe5b600183815481101515610eef57fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115610f1957fe5b141515610f2557600080fd5b85600181815481101515610f3557fe5b90600052602060002090600602016001015442101515610f5457600080fd5b86600181815481101515610f6457fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561103d5750600181815481101515610fdb57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b151561104857600080fd5b60026000898152602001908152602001600020805480600101828161106d9190613deb565b916000526020600020906002020160006060604051908101604052806000151581526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018b815250909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101908051906020019061113a929190613e1d565b505050506001600260008a815260200190815260200160002080549050033373ffffffffffffffffffffffffffffffffffffffff167feb70bc86dda3bbb4f37b25318d4737f2641d3e315df2f59a123c5a06197103578a6040518082815260200191505060405180910390a35050505050505050565b81600180549050811015156111c457600080fd5b826001818154811015156111d457fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123f57600080fd5b838360018281548110151561125057fe5b9060005260206000209060060201600101548111151561126f57600080fd5b8460018781548110151561127f57fe5b9060005260206000209060060201600101819055507f073d5fd87a7e0c2a384727f9aab2e84826370623aba582638b425a417e799a2c8686604051808381526020018281526020019250505060405180910390a1505050505050565b6000600180549050905090565b82600180549050811015156112fc57600080fd5b838360026000838152602001908152602001600020805490508110151561132257600080fd5b8585600260008381526020019081526020016000208181548110151561134457fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113af57600080fd5b87876000151560026000848152602001908152602001600020828154811015156113d557fe5b906000526020600020906002020160000160009054906101000a900460ff16151514151561140257600080fd5b87600260008c81526020019081526020016000208a81548110151561142357fe5b90600052602060002090600202016001019080519060200190611447929190613e9d565b507f6e609af2c76c6673122c9a6ee1677adc2e9f20ec9979d056bf6c4f40799b95588a8a604051808381526020018281526020019250505060405180910390a150505050505050505050565b82600180549050811015156114a757600080fd5b836001818154811015156114b757fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152257600080fd5b84848060018381548110151561153457fe5b90600052602060002090600602016003015410151561155257600080fd5b8685600060018381548110151561156557fe5b906000526020600020906006020160040160149054906101000a900460ff16156118d35760003414151561159857600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561166e57600080fd5b6102c65a03f1151561167f57600080fd5b5050506040518051905090506000821415156117ce576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156117a757600080fd5b6102c65a03f115156117b857600080fd5b5050506040518051905015156117cd57600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118a657600080fd5b6102c65a03f115156118b757600080fd5b50505060405180519050031415156118ce57600080fd5b6118e5565b34600183021415156118e457600080fd5b5b8760018b8154811015156118f557fe5b9060005260206000209060060201600501600082825401925050819055508860018b81548110151561192357fe5b9060005260206000209060060201600501541015151561194257600080fd5b8860018b81548110151561195257fe5b9060005260206000209060060201600301819055507e61c78e3c7ddc2b1bfc8ba5996c63dd51b289e6ee3bd6f0e55089cf698aa6928a8a604051808381526020018281526020019250505060405180910390a150505050505050505050565b81600180549050811015156119c557600080fd5b826001818154811015156119d557fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4057600080fd5b836000806002811115611a4f57fe5b600183815481101515611a5e57fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115611a8857fe5b141515611a9457600080fd5b84600187815481101515611aa457fe5b9060005260206000209060060201600301819055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b8160018054905081101515611b0c57600080fd5b82600181815481101515611b1c57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b8757600080fd5b82600185815481101515611b9757fe5b906000526020600020906006020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f76a6676aed9f1a70fb8043b568311724b5e4cec1d68ff8fc9d5ab0a6fa619c17856040518082815260200191505060405180910390a250505050565b8160018054905081101515611c4e57600080fd5b82600181815481101515611c5e57fe5b90600052602060002090600602016001015442101515611c7d57600080fd5b83600181815481101515611c8d57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf857600080fd5b84846000600183815481101515611d0b57fe5b906000526020600020906006020160040160149054906101000a900460ff161561207957600034141515611d3e57600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611e1457600080fd5b6102c65a03f11515611e2557600080fd5b505050604051805190509050600082141515611f74576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611f4d57600080fd5b6102c65a03f11515611f5e57600080fd5b505050604051805190501515611f7357600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561204c57600080fd5b6102c65a03f1151561205d57600080fd5b505050604051805190500314151561207457600080fd5b61208b565b346001830214151561208a57600080fd5b5b8660018981548110151561209b57fe5b9060005260206000209060060201600501600082825401925050819055506001888154811015156120c857fe5b9060005260206000209060060201600301546001898154811015156120e957fe5b9060005260206000209060060201600501541015151561210857600080fd5b612113886001613da6565b3373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e18989604051808381526020018281526020019250505060405180910390a27fe42c1b76efa2e9aa5b354a151174590827beb1ef94bde26787491bf4e7d68a198833604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050505050505050565b60008642811115156121ef57600080fd5b856000811415151561220057600080fd5b600180549050600180805490500111151561221a57600080fd5b6001805480600101828161222e9190613f1d565b91600052602060002090600602016000610100604051908101604052808e73ffffffffffffffffffffffffffffffffffffffff1681526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018915158152602001600060028111156122aa57fe5b81526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190612326929190613e1d565b506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160040160146101000a81548160ff02191690831515021790555060c08201518160040160156101000a81548160ff021916908360028111156123bc57fe5b021790555060e08201518160050155505050841561242e5783600460006001808054905003815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7fe04ac09e4a49338f40cf62a51ba721823ed22f57bc4d53c6f8684bdb1be8fd1060018080549050036040518082815260200191505060405180910390a1600180805490500392505050979650505050505050565b600087428111151561249457600080fd5b86600081141515156124a557600080fd5b60018054905060018080549050011115156124bf57600080fd5b8784101515156124ce57600080fd5b851561267c576000341415156124e357600080fd5b8460046000600180549050815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060046000600180549050815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561265157600080fd5b6102c65a03f1151561266257600080fd5b50505060405180519050151561267757600080fd5b61268e565b346001850214151561268d57600080fd5b5b600180548060010182816126a29190613f1d565b91600052602060002090600602016000610100604051908101604052808f73ffffffffffffffffffffffffffffffffffffffff1681526020018e81526020018d81526020018c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a151581526020016001600281111561271e57fe5b815260200188815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190612799929190613e1d565b506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160040160146101000a81548160ff02191690831515021790555060c08201518160040160156101000a81548160ff0219169083600281111561282f57fe5b021790555060e082015181600501555050507fe04ac09e4a49338f40cf62a51ba721823ed22f57bc4d53c6f8684bdb1be8fd1060018080549050036040518082815260200191505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e1600180805490500386604051808381526020018281526020019250505060405180910390a27fe42c1b76efa2e9aa5b354a151174590827beb1ef94bde26787491bf4e7d68a19600180805490500333604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a160018080549050039250505098975050505050505050565b6000816001805490508110151561297c57600080fd5b60018381548110151561298b57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b81600180549050811015156129d957600080fd5b826001818154811015156129e957fe5b90600052602060002090600602016001015442101515612a0857600080fd5b83600280811115612a1557fe5b600182815481101515612a2457fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115612a4e57fe5b14151515612a5b57600080fd5b8360008114151515612a6c57600080fd5b85856000600183815481101515612a7f57fe5b906000526020600020906006020160040160149054906101000a900460ff1615612ded57600034141515612ab257600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612b8857600080fd5b6102c65a03f11515612b9957600080fd5b505050604051805190509050600082141515612ce8576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515612cc157600080fd5b6102c65a03f11515612cd257600080fd5b505050604051805190501515612ce757600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612dc057600080fd5b6102c65a03f11515612dd157600080fd5b5050506040518051905003141515612de857600080fd5b612dff565b3460018302141515612dfe57600080fd5b5b8760018a815481101515612e0f57fe5b9060005260206000209060060201600501600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e18a8a604051808381526020018281526020019250505060405180910390a2505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612ebb613f4f565b8160018054905081101515612ecf57600080fd5b600183815481101515612ede57fe5b90600052602060002090600602016002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f835780601f10612f5857610100808354040283529160200191612f83565b820191906000526020600020905b815481529060010190602001808311612f6657829003601f168201915b5050505050915050919050565b600080612f9b613f4f565b8460018054905081101515612faf57600080fd5b8585600260008381526020019081526020016000208054905081101515612fd557600080fd5b6002600089815260200190815260200160002087815481101515612ff557fe5b906000526020600020906002020160000160009054906101000a900460ff16600260008a81526020019081526020016000208881548110151561303457fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008b81526020019081526020016000208981548110151561308657fe5b9060005260206000209060020201600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561312c5780601f106131015761010080835404028352916020019161312c565b820191906000526020600020905b81548152906001019060200180831161310f57829003601f168201915b505050505090509550955095505050509250925092565b816001805490508110151561315757600080fd5b8260018181548110151561316757fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131d257600080fd5b8360008060028111156131e157fe5b6001838154811015156131f057fe5b906000526020600020906006020160040160159054906101000a900460ff16600281111561321a57fe5b14151561322657600080fd5b8460018781548110151561323657fe5b906000526020600020906006020160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b81600180549050811015156132d857600080fd5b826001818154811015156132e857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561335357600080fd5b82428111151561336257600080fd5b84600080600281111561337157fe5b60018381548110151561338057fe5b906000526020600020906006020160040160159054906101000a900460ff1660028111156133aa57fe5b1415156133b657600080fd5b856001888154811015156133c657fe5b9060005260206000209060060201600101819055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde876040518082815260200191505060405180910390a150505050505050565b816001805490508110151561342f57600080fd5b828260026000838152602001908152602001600020805490508110151561345557600080fd5b8460018181548110151561346557fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135b457506001818154811015156134da57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156135b35750600073ffffffffffffffffffffffffffffffffffffffff1660018281548110151561356857fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b5b15156135bf57600080fd5b8560018060028111156135ce57fe5b6001838154811015156135dd57fe5b906000526020600020906006020160040160159054906101000a900460ff16600281111561360757fe5b14151561361357600080fd5b878760001515600260008481526020019081526020016000208281548110151561363957fe5b906000526020600020906002020160000160009054906101000a900460ff16151514151561366657600080fd5b8960018181548110151561367657fe5b90600052602060002090600602016003015460018281548110151561369757fe5b906000526020600020906006020160050154101515156136b657600080fd5b6001600260008d81526020019081526020016000208b8154811015156136d857fe5b906000526020600020906002020160000160006101000a81548160ff021916908315150217905550600360008c81526020019081526020016000206000815480929190600101919050555060018b81548110151561373257fe5b90600052602060002090600602016003015460018c81548110151561375357fe5b90600052602060002090600602016005016000828254039250508190555060018b81548110151561378057fe5b906000526020600020906006020160040160149054906101000a900460ff161561391e57600460008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260008e81526020019081526020016000208c81548110151561381357fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018e81548110151561385457fe5b9060005260206000209060060201600301546000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156138f357600080fd5b6102c65a03f1151561390457600080fd5b50505060405180519050151561391957600080fd5b6139d0565b600260008c81526020019081526020016000208a81548110151561393e57fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60018d81548110151561399857fe5b9060005260206000209060060201600301549081150290604051600060405180830381858888f1935050505015156139cf57600080fd5b5b893373ffffffffffffffffffffffffffffffffffffffff167f7b9dbf959e54bb2ff6e9d505ef00d6b7fb3ce97880816181aecca973c1da31e68d6040518082815260200191505060405180910390a35050505050505050505050565b600181815481101515613a3b57fe5b90600052602060002090600602016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160149054906101000a900460ff16908060040160159054906101000a900460ff16908060050154905088565b6000806000806000808660018054905081101515613af957600080fd5b600188815481101515613b0857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600189815481101515613b4957fe5b90600052602060002090600602016001015460018a815481101515613b6a57fe5b90600052602060002090600602016003015460018b815481101515613b8b57fe5b906000526020600020906006020160040160149054906101000a900460ff1660018c815481101515613bb957fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115613be357fe5b60018d815481101515613bf257fe5b9060005260206000209060060201600501549650965096509650965096505091939550919395565b8160018054905081101515613c2e57600080fd5b82600181815481101515613c3e57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ca957600080fd5b836000806002811115613cb857fe5b600183815481101515613cc757fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115613cf157fe5b141515613cfd57600080fd5b84600187815481101515613d0d57fe5b90600052602060002090600602016002019080519060200190613d31929190613e9d565b507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b60008160018054905081101515613d8757600080fd5b6002600084815260200190815260200160002080549050915050919050565b80600183815481101515613db657fe5b906000526020600020906006020160040160156101000a81548160ff02191690836002811115613de257fe5b02179055505050565b815481835581811511613e1857600202816002028360005260206000209182019101613e179190613f63565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613e5e57805160ff1916838001178555613e8c565b82800160010185558215613e8c579182015b82811115613e8b578251825591602001919060010190613e70565b5b509050613e999190613fcd565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ede57805160ff1916838001178555613f0c565b82800160010185558215613f0c579182015b82811115613f0b578251825591602001919060010190613ef0565b5b509050613f199190613fcd565b5090565b815481835581811511613f4a57600602816006028360005260206000209182019101613f499190613ff2565b5b505050565b602060405190810160405280600081525090565b613fca91905b80821115613fc657600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000613fbd91906140af565b50600201613f69565b5090565b90565b613fef91905b80821115613feb576000816000905550600101613fd3565b5090565b90565b6140ac91905b808211156140a857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600061404091906140af565b60038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556004820160146101000a81549060ff02191690556004820160156101000a81549060ff0219169055600582016000905550600601613ff8565b5090565b90565b50805460018160011615610100020316600290046000825580601f106140d557506140f4565b601f0160209004906000526020600020908101906140f39190613fcd565b5b505600a165627a7a72305820643b981454e899b5c3190025943c5ebce4a2e6f0bbb93906ab472f7a5bd416920029000000000000000000000000bfdb50dc66c8df9fd9688d8fe5a0c34126427645

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bfdb50dc66c8df9fd9688d8fe5a0c34126427645

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bfdb50dc66c8df9fd9688d8fe5a0c34126427645


   Swarm Source:
bzzr://643b981454e899b5c3190025943c5ebce4a2e6f0bbb93906ab472f7a5bd41692

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.