Contract Overview |  BountiesNetwork
Balance: 210.283053999999999479 Ether
Ether Value: $26,123.46 (@ $124.23/ETH)
Transactions: 8103 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645at txn 0x2929b98c2e0da944901b2ce9c3447f2b943c6f6e747baba3599fd0c2bd461ee0
Token Balance:
 Latest 25 transactions from a total of 8103 transactions
(+6 PendingTxns)

TxHash Age From To Value [TxFee]
0x1f26bb3915ac0a1c156a6715f31caa8f698fe69dc6f2492d516378dee5c51d1e(pending)0xc4fb911508583089673aa6829690d8b399f2139e  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x294cfae2679f8494be834441a94c85f6719827eb44c8ec654f25ba1f465c38c2(pending)0xc4fb911508583089673aa6829690d8b399f2139e  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x1bee9e679a999b51243147814e9407ee407c0d3707b08a86eb6c2271673ddd48(pending)0xd553437f232887fe960605e9c81aa29ea5c25c62  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0xf14b7765defbaab694e171b5d23a70b4280938e533db11e8f89ab2289ad8b801(pending)0xc4fb911508583089673aa6829690d8b399f2139e  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x0597d934eadfc5c48d8a6090c1b234cf3354e6cc748691c71806caaf7a153cbc(pending)0xb72d9293564c9b0ff69e1c2f18a748d320a34358  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x7379cdf51bbf95e35d6b5abf49a7becc99c8cdacc1c32c98ac900a86cabaff4a(pending)0x0e18d3d96a3e5334fa7f10ae6dc95203d28dc7ce  IN  0x2af47a65da8cd66729b4209c22017d6a5c2d24000 Ether(Pending)
0x2bb9f69f4fe293911bccadff0726ad918141b3c82e62216294c375a9d83cb1692 hrs 53 mins agoDaveApp(Alice)  IN   BountiesNetwork0 Ether0.0004432788
0xd82dd69ded6a3360c7e90da02f63fe8cd0687e56fcc6c56f9f753838d2a16f5a3 hrs 26 mins ago0xcda6c64abf958cbf49e34343ab4da3302c5528bd  IN   BountiesNetwork0 Ether0.000738798
0x2d06008a773d2fa6ac406f08d612c178a529886fdb88d939010d08eeb2c480ce7 hrs 24 mins ago0xa91b24b6f0e966faf056278cea6267aaf0054304  IN   BountiesNetwork0 Ether0.000246266
0x480eca48f40dd5a78310da986908b8780892aad8452abcbeffe25b92bc867b419 hrs 6 mins ago0xb435871b0959561226b4d903b1abf79528177e81  IN   BountiesNetwork0 Ether0.000369399
0x308578f90aec934039c4ff341e56fd137e69ad7bceeebbc5fbe3c261c1844b1310 hrs 21 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
0xde240293c64503afb0b882c4b4c0d053c1abd523df2a0ae34b5a970379aeeb8f10 hrs 25 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
0x23bae2ca8b3aa001485b758b34d3d294d2b41fc37abb2b34508f8ddeb788b98310 hrs 25 mins ago0xfa7c0b7331d0f43ae6f9ebe02ac336c8986a7014  IN   BountiesNetwork0 Ether0.000369399
0xc443ec176fa786adfe810774d196b2c1e8c288de9f7fe5d05392248db5abb55010 hrs 25 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
0x5fbfae7fa703d69841c43bf05b159a081f506ebf847347f9a813ecc0936cc85c10 hrs 32 mins ago0xa525a3423925dc6f06afc3384039b86d0e84f59d  IN   BountiesNetwork0 Ether0.000369399
0x2bc5e244efe36ef7dcb063093284e2be0b959d15c073507489d2f2da7a7aa03510 hrs 44 mins ago0x3fb80b9e423e7bea358c17ab1c14f6ff65d4f7cf  IN   BountiesNetwork0 Ether0.000369399
0x6f848236c6c06d5bc79ae21ada9a97db1d06929df3da5890297e9858cb6aad6110 hrs 48 mins ago0x7dcfe0612222e4408e42c5e94517710737ce289f  IN   BountiesNetwork0 Ether0.000369399
0xf5ad3c17b48e17467ce93a6a58eb592c644fe4c4cd38d301120253a80101ecde10 hrs 50 mins ago0x132947f5e5eb80e919503188561461c06be3f4d3  IN   BountiesNetwork0 Ether0.000246266
0xe825b176a568a61ab66a538543221717a5c37c4970d1eb6e64a243c8ca992a3711 hrs 18 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000155152
0x97d449bdd45c7ada58ba79df2125e3e33d361f0c7e4ddada8a83ca15c69aa88e11 hrs 20 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000155152
0x756200868839761ba8f679017fbb8541ff39331d9f79ddd6aeaee0da2c22001011 hrs 22 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000089229
0xbd574d05d78bcdd5b93f737f012c09cf7be07e3922dbbe9afc25593edb2fcaf411 hrs 28 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000077583
0xe71e204ea37ee52fdac1d6ddf7b2e6f9dbbc149b5bc2bdf9b777d379143a67fb11 hrs 30 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
0x966e9f197a7848d762c6251a44f39102c0a58bc6596e03a912796c918179d05611 hrs 38 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
0x1ee067b9c631aae6e46cc7f0cdb2f95a6af70cf436407219caa7fd4782c4587f11 hrs 38 mins ago0xbfdb50dc66c8df9fd9688d8fe5a0c34126427645  IN   BountiesNetwork0 Ether0.000187728
[ 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
0x59c2cb1ad0bff60e316934f5836201678c28459ed8c45e4ba068fe42cb679d15709445913 hrs 1 min ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x00de4b13153673bcae2616b67bf822500d325fc30.3 Ether
0xcfb99ae68c7c74c275f30d0f26d60e6c4ca8a5b458a149338eefe78d2360d186709248121 hrs 24 mins ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x0e814c57bd80d0835a3b7d13b079a0590e3d287d3.7 Ether
0x2c26673b89f45968a5457c9aeb652adb82c8e592885411ab51455ab71fad39e970903431 day 6 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xfaf95953a36ed1e8f8426ab5b7eb53da246e34760.005 Ether
0xf63f04fbbfb169f9e371b483887b849d00aa1af47cb981418ae06b2931492d4670878771 day 16 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x60206c1f2b51ac470cb0f71323474f7f9e4772e11.001 Ether
0x7cfbd7094455ec9eb59f3de0568504201ff483c1d19770ea177fd1ebf87cae2f70869051 day 21 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x3b033016e28b45b2b7289f3ffb04bc34ab3381760.5 Ether
0x9a35ad125da576339d1d2e0e438e31ca492bb315eeda2e42611ae5cba7caeefd70839632 days 9 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x00de4b13153673bcae2616b67bf822500d325fc30.298 Ether
0x87250e1c97ddced697510cc92215a54db408d304831fcd9b29e908f39a42a45b70825082 days 15 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x66b9bd3a9f0d44121533f88c94d4e352132229172.429 Ether
0xe0a6ea1f921c538ad0ba84897eaced205440c4feaa13a4e10d6bec9a0076960570818082 days 18 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x699d42b2874d651df35a48ef79e6d10ab0ea78ac0.6 Ether
0xe45319a48ad3dc95777ff12d3699a13ed49d399fcaf829dde8ab8887ab63f9c770792103 days 6 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x96706eb471f875a9a41442f358d3b34ba02f868b0.5 Ether
0x0e3c898ee287ab8129e9473e0f57a11a90cfbb4a32bbc5af5d8c1f8cdcbf491e70774803 days 13 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xcb5fba4419abc4d7c11af0c24ba0f2e555407f5b0.08 Ether
0x531242cc5289d56b24fecca5529366d9a5f197ca032ee405e31248cbb3f2469f70768583 days 16 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x00de4b13153673bcae2616b67bf822500d325fc30.1 Ether
0xe8962db35017decd93008c8824a2e5691ed3600fff4b0022b8bbd6a8ade88d0570763503 days 18 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x598fb18d426e22de3139d5292b36eca27b3ed2130.044 Ether
0xc10d798b993ed3bd2a6cb22a7113546555ed83421b26beef4477117d8d73aa7470762903 days 18 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x8c65d567fc9e45436cb21a52a9a334f8094dda1d0.044 Ether
0x9d18b2010b91da3d0d90ac4fdae5b22be6097dcc4ddd6244eecc541649f5a81f70762883 days 18 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x2d931665bc698a90c52eb66cf000a203f906a7f00.044 Ether
0x9075c5c0860843b673ebe35d3f82742cddf27b4a4d366d0341be5276e0a7509a70752533 days 23 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xe43df5d7242ea18a8085feece9e479176a9350fd0.01 Ether
0x5608f45dcd3a0102821485931500372fdab65acab0e16a7e40e435167c2f74f970737544 days 5 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xc80b046df05469309174a923757bbf0f8cfcf5970.25 Ether
0x434ff80ce2002420912ac2563d2f6895b22da3d270154e0d70e613cd193c817f70721564 days 12 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xc4de55a46b3635295d0e6939e9d1724e04e9f5f41 Ether
0x1fcccdc6a9b88d4cb294747aa244701c42308c34d7ba390cebc2753c8bcdb29670669085 days 10 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x48a63097e1ac123b1f5a8bbffafa4afa8192fab00.03 Ether
0x1d67ee72c7130678fddc2892fcf9f5da6265ebff44f3373f42d0f94a1bd7ac5370668805 days 11 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x4331b095bc38dc3bce0a269682b5ebaefa2529290.1 Ether
0x1062f7a1a3e79a3e6bb4111e536365e7c6d285c2f8773b93419b194481ded94e70668785 days 11 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x4331b095bc38dc3bce0a269682b5ebaefa2529290.05 Ether
0x874fa02ac139948e5ecb7b2eef830282efa877cc0714f2e7b1a2d07c399c9ad370664405 days 13 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xc63b670e11e5354470f6af1cc08089579ec3340c7.59 Ether
0xf38203a3abe9cc73f8e671732ffa0cd5631c801f8e2a7c095a83c71f40ddba8c70655255 days 16 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xd827c3d81b332ebf12b2a8976577307b4e4778b93.003 Ether
0x34b6fdac6ba3ec191f73f626ce021558e1fc0e12a726448615fe5395aa4015be70648585 days 19 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x9f97acd88e4163425f9ef53be61b3aa91a9ef0170.75 Ether
0xf9e9a22d372031c1b71623b62f4fb70e7639f49fe471f888bb4897224021d8d170645695 days 20 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000xc32b98dd9a4aa35c82d8ce9ed2be4a4384b171ef0.5 Ether
0xf99ad8aa2627071f71b395deebb7ecc236a5083866f2fbb9b8f79e662a98a39770642855 days 22 hrs ago0x2af47a65da8cd66729b4209c22017d6a5c2d24000x37521dc7f0e76ad7e272076e209650f8d6ff194d0.5 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.