Contract Overview
Balance: 97.534623999999999157 Ether
Transactions: 3528 txns
 Latest 25 transactions from a total of 3528 transactions

TxHash Age From To Value [TxFee]
0x49c577584db2423f1253531afd075059cc4ae6c48c0008aa7abda1fccc7aa9db1 day 2 hrs ago0x115d24f79834619a57b30a007b1be01e8efb0b53  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014435
0xb453599ffe714bcf4190d6f00c2294f3a53ff75847dc0892fa2c513c8a27d58c1 day 7 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x79e4594fb25b297e34f7b3892b46523f7c7b1f4877b7ca80938566d43d8b10bc1 day 7 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x5972565ccff3ba181a2b828aafdc0b5e676333494c748b1fa2245dce19e7ba5a1 day 7 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.012 Ether0.001014115
0x3a37b29dc4d7442910af84007d67bd235636ed265210952224bddd9415afc1131 day 7 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xb02f794d1283be41e1ae7ee83c1dce68fa75989c039ca19bcb7cab8579175d201 day 7 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xff43547a7c92c482549c2b00d8634ad20cd980a8a54bd9384096aa2a5b1988161 day 8 hrs ago0xf86d31e91fef642179d96f9f86f830720203eeb0  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.05 Ether0.001014115
0xc60fe12256444c11d4261d6e679c2b4daeacb32081ebd2eb98ca203af17c9d454 days 3 hrs ago0xeda95ed3e3436c689376889f9ed0a8f4ba23e866  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xa0d5518d8a54bae626f01e06eec6f862cb7c9fafe9c2f727b21c97e01ca5eb1f4 days 3 hrs ago0xeda95ed3e3436c689376889f9ed0a8f4ba23e866  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x2d32fbfdb47f3aba89bf67477f9d02e9401595193277da99d14a585b4e5edc134 days 3 hrs ago0xeda95ed3e3436c689376889f9ed0a8f4ba23e866  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.017999999999999 Ether0.001015395
0x380182260fd9ef7588fdef2fa7762d910db8e33eaf1431ae2c2d9aa71f323bbf4 days 3 hrs ago0xeda95ed3e3436c689376889f9ed0a8f4ba23e866  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xcf940b20ba095a479bbad9b50849b5baeb1d1a1b052671115f9157b3666b6f694 days 5 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x5644ab799c249b00032c0974bba13b8b01d06444abc571cdc1a2f47d9200b9ea4 days 5 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xe8816ddb158431796b74b4ef5b42f31f21f028193840a6801cd29dd98c9f51364 days 5 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x45e07c8f3c1650d30d41f968c4fc130338962034527782354ede3e4fc6e2dd424 days 6 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0xb2481b84a78db46671d3026ea68f4bf205dcba599c18a74d2489686f42f243244 days 6 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x018b9beff46d47f49d9cd3712ea48e3e698210062d3869bb2ffe179e338a17b74 days 6 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x30f2a903ade742d1d1a0d8b5602e9578a131ee0bc664fe777dbd33ec88c104524 days 9 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x9c11d9b83144c3ffc60f6ed23e154d8ee65172e82c31273e0b95d2bd39e230584 days 9 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x62a14e090e648caecc9664b6951ba6c2f449968cfe4f1f7ca368a4515643a5e24 days 9 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x84ca69d2bb2d407a0f56cdf77b1adb8609dc5e2a25605a3ba61476fe60bc8ce64 days 9 hrs ago0xac61a9626957fd5216956ed345d66dd13a38f7e5  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.001 Ether0.001014755
0x6facd92a92b0e51707fbff7fe3e70428650ff0b3ea4cda0392d3f295a3f631a58 days 2 hrs ago0x00de4b13153673bcae2616b67bf822500d325fc3  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730 Ether0.000269645
0x42aa3b73652037f7f7f069ce52d914a3e814a91f709b28b7ac7f80cc80ed923f8 days 2 hrs ago0x4331b095bc38dc3bce0a269682b5ebaefa252929  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730 Ether0.000666665
0xe143fd38a638bfaaf49278f095aba375b1a7ad0635197e69b7ca8630e65fc31a8 days 2 hrs ago0x00de4b13153673bcae2616b67bf822500d325fc3  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.1 Ether0.001014435
0xf95356d20dc7380c5641f0aa19eb9088fe427ea08313d6d8a70bd46523bdf5718 days 3 hrs ago0x5ce8e0a045954846c4a8bba2dada0323f3f1e29c  IN   0xf209d2b723b6417cbf04c07e733bee776105a0730.017999999999999 Ether0.001015395
[ 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
0x6facd92a92b0e51707fbff7fe3e70428650ff0b3ea4cda0392d3f295a3f631a538520708 days 2 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x4331b095bc38dc3bce0a269682b5ebaefa2529290.1 Ether
0x3a5b1429dad042ba2a1c6ebb58789f93731d3554625c757653ed06d9787fe6b5382812412 days 5 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xaef6300bc0e4227c08ab62a2489b2bff3511e5af0.001 Ether
0x8aac7f91a760a82f6dfe1747dec3c77ef95e2cd2143f4892fa0b3a73298d7b78382804312 days 6 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xe317c793ebc9d4a3732ca66e5a8fc4ffc213b9890.001 Ether
0xfc5c0b68000f93268874271a85d906c8f317813b30a1c1477cfc95e90ecee5ad382137113 days 10 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xe317c793ebc9d4a3732ca66e5a8fc4ffc213b9891 Ether
0x36db688bb4af9a7b1021d92ab0fede81b040cf78d5906517480a80cd6411dff9381637514 days 6 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xeda95ed3e3436c689376889f9ed0a8f4ba23e8660.007 Ether
0x1804c8ee90b0041dba77dbeaafbe5e99dadb6807f656a960402da51bd0f1a4fc379202718 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xc3ebe4727c7cb4fcb62d2a12dcd4f1cc94ed34790.001 Ether
0x04a056de6d1c14adfc3a8f86f28ce0299abb14902bb42864c06ec3e106b0196a378797419 days 5 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xa99cb5f42721aabd800a9de50e38db6e25767b910.001 Ether
0xd3165580ff475e834962cdce25008bbb2b0d90e859833d3bdce1cc2a8bd858b9378731019 days 8 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xc3ebe4727c7cb4fcb62d2a12dcd4f1cc94ed34790.001 Ether
0xfed12ccd616431c27eb81a4d407540c06d766ceae86a388f9c1e2e619a4a7588378426719 days 20 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x3c4fa8f5fd31501d816f20062468187b7815bd8b0 Ether
0xa0c912d97a104545af190dcb7cff5367a1fef6c84c96ae82432b95889c09c4b5375926424 days 4 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xeda95ed3e3436c689376889f9ed0a8f4ba23e8660.007 Ether
0x27ac40c3519de82fd393e4b981f77cf65e8f6cead6a6e4f9d6ba301ad1617d30370761433 days 4 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x4331b095bc38dc3bce0a269682b5ebaefa2529290.1 Ether
0x82bc2ab1167c5a04bba2c13e2da7c9c75e399c76f6fac506431c5cf7360f494b370300033 days 23 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9a8a9958ac1b70c49cce9693ccb0230f13f635050.001 Ether
0xf0fb56f1703246da48114d20becddaf7eac38997b792ed1773c527e408d64deb369407435 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x87099add3bcc0821b5b151307c147215f839a1100 Ether
0x362924e1683f3124d94dd06ac9c00ebc207ec367a1b87adc1f0c6fb90b1dc56f369405735 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0x5fb219cd219f0ba34184c5ea821a7d1455c842cf5e69319306ab9dfba3753abd369404135 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0xc60704baaa4220d24f31ecad22ab5b5d0e9f08973bbc252a9106f4cb3c74b2fa369403335 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0x55b1e89fc6447011aab988b72bbb836cb3e998ec7958c5e33527d28f7882c4fb369400935 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0x27364283854c1f7aceb70e8bfba411d3ded4d9551dce3cce1b59f072d6a43353369399835 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0xe890940d6b247e85edc9c351108a8243e7772aa908ef0e075e325485385fab6d369398135 days 12 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x9bc14c55139501643b62d49c9e8def17029ad4180 Ether
0xfa0e2d5035f206c0396e0c8e759202a9f36726ca9bc95a00bc955994f5c0c1f7368995136 days 5 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xd6e3f12f578d2c9fcdebc18e734ba50a5598e4ea0.01 Ether
0x13561c3d1eb9dc842d03afcd95976fe8c660d75789fe4ef8917101e47b0933ae368990636 days 5 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xd6e3f12f578d2c9fcdebc18e734ba50a5598e4ea0.01 Ether
0xea4c8479fc0e15414dc2b7707409a93cc8b9eb288c3a6894c1fb70906a7450db368989536 days 5 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x8374f7f4e3f959e22a545266a078525f06afe7d10.012 Ether
0x1beb06b98b47b9aba9f655e00fd81046455e136fd87731f36b79b8ff1316146d366094741 days 6 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xcf13924acbdb30a827a94382671bd65a1a4687cd0.01 Ether
0x3e26fbefc8ff7cc9cb7be53079882c9db63766b693b7f5969cfcf55de366a3e9366090241 days 6 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730xcf13924acbdb30a827a94382671bd65a1a4687cd0.01 Ether
0xebe550686768c62fadc88ff7da07f380e8d0ed745fa62d44d6d86289c95bfee1361395249 days 10 hrs ago0xf209d2b723b6417cbf04c07e733bee776105a0730x935c01e430c4163d3507dac116975a3aec13bd491 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 Version: 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
6060604052341561000f57600080fd5b60405160208061419e83398101604052808051906020019091905050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506141238061007b6000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806316b575091461014357806319dba3d2146101665780631e688c14146101c95780632d1fdef61461022f5780633278ba2f1461025b57806341ac5dd014610284578063422d4cd6146102f3578063452ccadb1461031d5780635d19606e14610349578063626a413a1461038b578063788acd7e146103ac5780637e9e511d1461049757806386647bac146105805780638c590917146105e35780638da5cb5b14610604578063a60745aa14610659578063b94b0a3a146106f5578063cdad6576146107d8578063d6c0ceab1461081a578063d958349714610846578063dc2f874414610872578063ee8c4bbf146109c6578063f3d3402a14610a50578063fbe334f814610ab6575b600080fd5b341561014e57600080fd5b6101646004808035906020019091905050610aed565b005b341561017157600080fd5b6101876004808035906020019091905050610e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101d457600080fd5b61022d600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610e7f565b005b341561023a57600080fd5b61025960048080359060200190919080359060200190919050506111b0565b005b341561026657600080fd5b61026e6112db565b6040518082815260200191505060405180910390f35b341561028f57600080fd5b6102f1600480803590602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506112e8565b005b61031b6004808035906020019091908035906020019091908035906020019091905050611493565b005b341561032857600080fd5b61034760048080359060200190919080359060200190919050506119b1565b005b341561035457600080fd5b610389600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611af8565b005b6103aa6004808035906020019091908035906020019091905050611c3a565b005b34156103b757600080fd5b610481600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121de565b6040518082815260200191505060405180910390f35b61056a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612483565b6040518082815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050612966565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61060260048080359060200190919080359060200190919050506129c5565b005b341561060f57600080fd5b610617612e8e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066457600080fd5b61067a6004808035906020019091905050612eb3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106ba57808201518184015260208101905061069f565b50505050905090810190601f1680156106e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561070057600080fd5b61071f6004808035906020019091908035906020019091905050612f90565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561079b578082015181840152602081019050610780565b50505050905090810190601f1680156107c85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156107e357600080fd5b610818600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613143565b005b341561082557600080fd5b61084460048080359060200190919080359060200190919050506132c4565b005b341561085157600080fd5b610870600480803590602001909190803590602001909190505061341b565b005b341561087d57600080fd5b6108936004808035906020019091905050613a2c565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018515151515815260200184600281111561092157fe5b60ff1681526020018381526020018281038252888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109b05780601f10610985576101008083540402835291602001916109b0565b820191906000526020600020905b81548152906001019060200180831161099357829003601f168201915b5050995050505050505050505060405180910390f35b34156109d157600080fd5b6109e76004808035906020019091905050613adc565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184151515158152602001838152602001828152602001965050505050505060405180910390f35b3415610a5b57600080fd5b610ab4600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613c1a565b005b3415610ac157600080fd5b610ad76004808035906020019091905050613d71565b6040518082815260200191505060405180910390f35b60008160018054905081101515610b0357600080fd5b82600181815481101515610b1357fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7e57600080fd5b610b89846002613da6565b600184815481101515610b9857fe5b90600052602060002090600602016005015492506000600185815481101515610bbd57fe5b9060005260206000209060060201600501819055506000831115610dd957600184815481101515610bea57fe5b906000526020600020906006020160040160149054906101000a900460ff1615610d57576004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600186815481101515610c6c57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d2c57600080fd5b6102c65a03f11515610d3d57600080fd5b505050604051805190501515610d5257600080fd5b610dd8565b600184815481101515610d6657fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515610dd757600080fd5b5b5b3373ffffffffffffffffffffffffffffffffffffffff167f1b5171f0f6cd238c5b76b002b28e5c29dc3864174e7ed7f168b5e6373196d901856040518082815260200191505060405180910390a250505050565b60008160018054905081101515610e4357600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b8160018054905081101515610e9357600080fd5b8260026000828152602001908152602001600020805490506001600260008481526020019081526020016000208054905001111515610ed157600080fd5b836001806002811115610ee057fe5b600183815481101515610eef57fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115610f1957fe5b141515610f2557600080fd5b85600181815481101515610f3557fe5b90600052602060002090600602016001015442101515610f5457600080fd5b86600181815481101515610f6457fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561103d5750600181815481101515610fdb57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b151561104857600080fd5b60026000898152602001908152602001600020805480600101828161106d9190613deb565b916000526020600020906002020160006060604051908101604052806000151581526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018b815250909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101908051906020019061113a929190613e1d565b505050506001600260008a815260200190815260200160002080549050033373ffffffffffffffffffffffffffffffffffffffff167feb70bc86dda3bbb4f37b25318d4737f2641d3e315df2f59a123c5a06197103578a6040518082815260200191505060405180910390a35050505050505050565b81600180549050811015156111c457600080fd5b826001818154811015156111d457fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123f57600080fd5b838360018281548110151561125057fe5b9060005260206000209060060201600101548111151561126f57600080fd5b8460018781548110151561127f57fe5b9060005260206000209060060201600101819055507f073d5fd87a7e0c2a384727f9aab2e84826370623aba582638b425a417e799a2c8686604051808381526020018281526020019250505060405180910390a1505050505050565b6000600180549050905090565b82600180549050811015156112fc57600080fd5b838360026000838152602001908152602001600020805490508110151561132257600080fd5b8585600260008381526020019081526020016000208181548110151561134457fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113af57600080fd5b87876000151560026000848152602001908152602001600020828154811015156113d557fe5b906000526020600020906002020160000160009054906101000a900460ff16151514151561140257600080fd5b87600260008c81526020019081526020016000208a81548110151561142357fe5b90600052602060002090600202016001019080519060200190611447929190613e9d565b507f6e609af2c76c6673122c9a6ee1677adc2e9f20ec9979d056bf6c4f40799b95588a8a604051808381526020018281526020019250505060405180910390a150505050505050505050565b82600180549050811015156114a757600080fd5b836001818154811015156114b757fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152257600080fd5b84848060018381548110151561153457fe5b90600052602060002090600602016003015410151561155257600080fd5b8685600060018381548110151561156557fe5b906000526020600020906006020160040160149054906101000a900460ff16156118d35760003414151561159857600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561166e57600080fd5b6102c65a03f1151561167f57600080fd5b5050506040518051905090506000821415156117ce576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156117a757600080fd5b6102c65a03f115156117b857600080fd5b5050506040518051905015156117cd57600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118a657600080fd5b6102c65a03f115156118b757600080fd5b50505060405180519050031415156118ce57600080fd5b6118e5565b34600183021415156118e457600080fd5b5b8760018b8154811015156118f557fe5b9060005260206000209060060201600501600082825401925050819055508860018b81548110151561192357fe5b9060005260206000209060060201600501541015151561194257600080fd5b8860018b81548110151561195257fe5b9060005260206000209060060201600301819055507e61c78e3c7ddc2b1bfc8ba5996c63dd51b289e6ee3bd6f0e55089cf698aa6928a8a604051808381526020018281526020019250505060405180910390a150505050505050505050565b81600180549050811015156119c557600080fd5b826001818154811015156119d557fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4057600080fd5b836000806002811115611a4f57fe5b600183815481101515611a5e57fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115611a8857fe5b141515611a9457600080fd5b84600187815481101515611aa457fe5b9060005260206000209060060201600301819055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b8160018054905081101515611b0c57600080fd5b82600181815481101515611b1c57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b8757600080fd5b82600185815481101515611b9757fe5b906000526020600020906006020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f76a6676aed9f1a70fb8043b568311724b5e4cec1d68ff8fc9d5ab0a6fa619c17856040518082815260200191505060405180910390a250505050565b8160018054905081101515611c4e57600080fd5b82600181815481101515611c5e57fe5b90600052602060002090600602016001015442101515611c7d57600080fd5b83600181815481101515611c8d57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf857600080fd5b84846000600183815481101515611d0b57fe5b906000526020600020906006020160040160149054906101000a900460ff161561207957600034141515611d3e57600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611e1457600080fd5b6102c65a03f11515611e2557600080fd5b505050604051805190509050600082141515611f74576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611f4d57600080fd5b6102c65a03f11515611f5e57600080fd5b505050604051805190501515611f7357600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561204c57600080fd5b6102c65a03f1151561205d57600080fd5b505050604051805190500314151561207457600080fd5b61208b565b346001830214151561208a57600080fd5b5b8660018981548110151561209b57fe5b9060005260206000209060060201600501600082825401925050819055506001888154811015156120c857fe5b9060005260206000209060060201600301546001898154811015156120e957fe5b9060005260206000209060060201600501541015151561210857600080fd5b612113886001613da6565b3373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e18989604051808381526020018281526020019250505060405180910390a27fe42c1b76efa2e9aa5b354a151174590827beb1ef94bde26787491bf4e7d68a198833604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050505050505050565b60008642811115156121ef57600080fd5b856000811415151561220057600080fd5b600180549050600180805490500111151561221a57600080fd5b6001805480600101828161222e9190613f1d565b91600052602060002090600602016000610100604051908101604052808e73ffffffffffffffffffffffffffffffffffffffff1681526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018915158152602001600060028111156122aa57fe5b81526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190612326929190613e1d565b506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160040160146101000a81548160ff02191690831515021790555060c08201518160040160156101000a81548160ff021916908360028111156123bc57fe5b021790555060e08201518160050155505050841561242e5783600460006001808054905003815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7fe04ac09e4a49338f40cf62a51ba721823ed22f57bc4d53c6f8684bdb1be8fd1060018080549050036040518082815260200191505060405180910390a1600180805490500392505050979650505050505050565b600087428111151561249457600080fd5b86600081141515156124a557600080fd5b60018054905060018080549050011115156124bf57600080fd5b8784101515156124ce57600080fd5b851561267c576000341415156124e357600080fd5b8460046000600180549050815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060046000600180549050815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561265157600080fd5b6102c65a03f1151561266257600080fd5b50505060405180519050151561267757600080fd5b61268e565b346001850214151561268d57600080fd5b5b600180548060010182816126a29190613f1d565b91600052602060002090600602016000610100604051908101604052808f73ffffffffffffffffffffffffffffffffffffffff1681526020018e81526020018d81526020018c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a151581526020016001600281111561271e57fe5b815260200188815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190612799929190613e1d565b506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160040160146101000a81548160ff02191690831515021790555060c08201518160040160156101000a81548160ff0219169083600281111561282f57fe5b021790555060e082015181600501555050507fe04ac09e4a49338f40cf62a51ba721823ed22f57bc4d53c6f8684bdb1be8fd1060018080549050036040518082815260200191505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e1600180805490500386604051808381526020018281526020019250505060405180910390a27fe42c1b76efa2e9aa5b354a151174590827beb1ef94bde26787491bf4e7d68a19600180805490500333604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a160018080549050039250505098975050505050505050565b6000816001805490508110151561297c57600080fd5b60018381548110151561298b57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b81600180549050811015156129d957600080fd5b826001818154811015156129e957fe5b90600052602060002090600602016001015442101515612a0857600080fd5b83600280811115612a1557fe5b600182815481101515612a2457fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115612a4e57fe5b14151515612a5b57600080fd5b8360008114151515612a6c57600080fd5b85856000600183815481101515612a7f57fe5b906000526020600020906006020160040160149054906101000a900460ff1615612ded57600034141515612ab257600080fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612b8857600080fd5b6102c65a03f11515612b9957600080fd5b505050604051805190509050600082141515612ce8576004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515612cc157600080fd5b6102c65a03f11515612cd257600080fd5b505050604051805190501515612ce757600080fd5b5b81816004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515612dc057600080fd5b6102c65a03f11515612dd157600080fd5b5050506040518051905003141515612de857600080fd5b612dff565b3460018302141515612dfe57600080fd5b5b8760018a815481101515612e0f57fe5b9060005260206000209060060201600501600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167f75aecd8d57cb4b1b263271bddb4961b993924dd466e6003c254832572d8a57e18a8a604051808381526020018281526020019250505060405180910390a2505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612ebb613f4f565b8160018054905081101515612ecf57600080fd5b600183815481101515612ede57fe5b90600052602060002090600602016002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f835780601f10612f5857610100808354040283529160200191612f83565b820191906000526020600020905b815481529060010190602001808311612f6657829003601f168201915b5050505050915050919050565b600080612f9b613f4f565b8460018054905081101515612faf57600080fd5b8585600260008381526020019081526020016000208054905081101515612fd557600080fd5b6002600089815260200190815260200160002087815481101515612ff557fe5b906000526020600020906002020160000160009054906101000a900460ff16600260008a81526020019081526020016000208881548110151561303457fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008b81526020019081526020016000208981548110151561308657fe5b9060005260206000209060020201600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561312c5780601f106131015761010080835404028352916020019161312c565b820191906000526020600020905b81548152906001019060200180831161310f57829003601f168201915b505050505090509550955095505050509250925092565b816001805490508110151561315757600080fd5b8260018181548110151561316757fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131d257600080fd5b8360008060028111156131e157fe5b6001838154811015156131f057fe5b906000526020600020906006020160040160159054906101000a900460ff16600281111561321a57fe5b14151561322657600080fd5b8460018781548110151561323657fe5b906000526020600020906006020160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b81600180549050811015156132d857600080fd5b826001818154811015156132e857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561335357600080fd5b82428111151561336257600080fd5b84600080600281111561337157fe5b60018381548110151561338057fe5b906000526020600020906006020160040160159054906101000a900460ff1660028111156133aa57fe5b1415156133b657600080fd5b856001888154811015156133c657fe5b9060005260206000209060060201600101819055507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde876040518082815260200191505060405180910390a150505050505050565b816001805490508110151561342f57600080fd5b828260026000838152602001908152602001600020805490508110151561345557600080fd5b8460018181548110151561346557fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135b457506001818154811015156134da57fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156135b35750600073ffffffffffffffffffffffffffffffffffffffff1660018281548110151561356857fe5b906000526020600020906006020160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b5b15156135bf57600080fd5b8560018060028111156135ce57fe5b6001838154811015156135dd57fe5b906000526020600020906006020160040160159054906101000a900460ff16600281111561360757fe5b14151561361357600080fd5b878760001515600260008481526020019081526020016000208281548110151561363957fe5b906000526020600020906002020160000160009054906101000a900460ff16151514151561366657600080fd5b8960018181548110151561367657fe5b90600052602060002090600602016003015460018281548110151561369757fe5b906000526020600020906006020160050154101515156136b657600080fd5b6001600260008d81526020019081526020016000208b8154811015156136d857fe5b906000526020600020906002020160000160006101000a81548160ff021916908315150217905550600360008c81526020019081526020016000206000815480929190600101919050555060018b81548110151561373257fe5b90600052602060002090600602016003015460018c81548110151561375357fe5b90600052602060002090600602016005016000828254039250508190555060018b81548110151561378057fe5b906000526020600020906006020160040160149054906101000a900460ff161561391e57600460008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260008e81526020019081526020016000208c81548110151561381357fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018e81548110151561385457fe5b9060005260206000209060060201600301546000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156138f357600080fd5b6102c65a03f1151561390457600080fd5b50505060405180519050151561391957600080fd5b6139d0565b600260008c81526020019081526020016000208a81548110151561393e57fe5b906000526020600020906002020160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60018d81548110151561399857fe5b9060005260206000209060060201600301549081150290604051600060405180830381858888f1935050505015156139cf57600080fd5b5b893373ffffffffffffffffffffffffffffffffffffffff167f7b9dbf959e54bb2ff6e9d505ef00d6b7fb3ce97880816181aecca973c1da31e68d6040518082815260200191505060405180910390a35050505050505050505050565b600181815481101515613a3b57fe5b90600052602060002090600602016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160149054906101000a900460ff16908060040160159054906101000a900460ff16908060050154905088565b6000806000806000808660018054905081101515613af957600080fd5b600188815481101515613b0857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600189815481101515613b4957fe5b90600052602060002090600602016001015460018a815481101515613b6a57fe5b90600052602060002090600602016003015460018b815481101515613b8b57fe5b906000526020600020906006020160040160149054906101000a900460ff1660018c815481101515613bb957fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115613be357fe5b60018d815481101515613bf257fe5b9060005260206000209060060201600501549650965096509650965096505091939550919395565b8160018054905081101515613c2e57600080fd5b82600181815481101515613c3e57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ca957600080fd5b836000806002811115613cb857fe5b600183815481101515613cc757fe5b906000526020600020906006020160040160159054906101000a900460ff166002811115613cf157fe5b141515613cfd57600080fd5b84600187815481101515613d0d57fe5b90600052602060002090600602016002019080519060200190613d31929190613e9d565b507ffb8e4f1ace1b37ebd0423cd75b120660780cc08a9414e04fe6b50f96a9482dde866040518082815260200191505060405180910390a1505050505050565b60008160018054905081101515613d8757600080fd5b6002600084815260200190815260200160002080549050915050919050565b80600183815481101515613db657fe5b906000526020600020906006020160040160156101000a81548160ff02191690836002811115613de257fe5b02179055505050565b815481835581811511613e1857600202816002028360005260206000209182019101613e179190613f63565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613e5e57805160ff1916838001178555613e8c565b82800160010185558215613e8c579182015b82811115613e8b578251825591602001919060010190613e70565b5b509050613e999190613fcd565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ede57805160ff1916838001178555613f0c565b82800160010185558215613f0c579182015b82811115613f0b578251825591602001919060010190613ef0565b5b509050613f199190613fcd565b5090565b815481835581811511613f4a57600602816006028360005260206000209182019101613f499190613ff2565b5b505050565b602060405190810160405280600081525090565b613fca91905b80821115613fc657600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000613fbd91906140af565b50600201613f69565b5090565b90565b613fef91905b80821115613feb576000816000905550600101613fd3565b5090565b90565b6140ac91905b808211156140a857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600061404091906140af565b60038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556004820160146101000a81549060ff02191690556004820160156101000a81549060ff0219169055600582016000905550600601613ff8565b5090565b90565b50805460018160011615610100020316600290046000825580601f106140d557506140f4565b601f0160209004906000526020600020908101906140f39190613fcd565b5b505600a165627a7a72305820643b981454e899b5c3190025943c5ebce4a2e6f0bbb93906ab472f7a5bd4169200290000000000000000000000006ed07676383ea83e5f9bb4871ce1e768cc056e23

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006ed07676383ea83e5f9bb4871ce1e768cc056e23


   Swarm Source:
bzzr://643b981454e899b5c3190025943c5ebce4a2e6f0bbb93906ab472f7a5bd41692

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward