Contract 0xC8B4EbD2201053588B9f57B189244dDAF3166a73

 
Txn Hash Method
Block
From
To
Value
0x4531d2aab5d1d3d4fe4fc020fc32c3b67000496e81b26992bf8335ddfec51305Stake(pending)2021-06-21 17:29:011 day 2 hrs ago0x38c1d14bd45aa8d5a8e5de4f8ee7f392a00eacd3 IN 0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether(Pending)(Pending)
0xb0e026140f0ec3f4231e5e1bb9063d9d80695c15ae1b11b6e4f8335bbca04be6Stake(pending)2021-06-20 4:36:482 days 15 hrs ago0x38c1d14bd45aa8d5a8e5de4f8ee7f392a00eacd3 IN 0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether(Pending)(Pending)
0xbffab19312d96c0ac5fac4231d0d7264b9b2ec623e33ed3e7754e63a01f6def6Claim126741862021-06-20 23:27:321 day 20 hrs ago0xa31d98b1aa71a99565ec2564b81f834e90b1097b IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0010034166
0x47f0487613821981db48e6a5b5e4ba6b76ae68feb59c6d0d063ba9c86564ac0aStake126688782021-06-20 3:32:372 days 16 hrs agoENS Name kuzmin.eth IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.001100610
0xbbc3a37f9bdb72be35f5397c56792ecb27286f0d1479fc29371678a8bff2ea15Claim126637232021-06-19 8:24:373 days 11 hrs ago0xed51312a58c19684932096d0657f4e29d3dae586 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0013509448
0x8c7c80efc5d73d8f94d372e9f35c0313830e73d40b486bb76ac6cd27f7a1d574Claim126626942021-06-19 4:30:383 days 15 hrs agoENS Name pliny.eth IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0012656210
0x187f1b680086e72d55871ee6bc8a247c07688c62d10b8864790b8c632ad8608eClaim126597962021-06-18 17:37:564 days 2 hrs ago0x8f791f061d7f36dc07de081ad88f87d71be1585e IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.00177300211
0x507f04757d71245a520a7d07f3fe612a95326d14f5c04d90a2899bc4e7c98d3cClaim126597882021-06-18 17:37:154 days 2 hrs ago0x8f791f061d7f36dc07de081ad88f87d71be1585e IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0019607511
0x3e5541a48c94f6189c23136ba63ffb2bdf885ca6289af203ab678ef87c129caeClaim126530942021-06-17 16:51:215 days 2 hrs agoENS Name james.lexdao.eth IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0024488715
0x9f6c86b04cce09dc1f26c61b552a2b986d6e0b127678739ea8a9c075d80e4aeaClaim126509342021-06-17 8:39:095 days 11 hrs ago0x279322ca10987bb236902dbddb85e9e676cf7a0d IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.001927371613.2
0xd37f49629888245d84ffcbbdbed97801bc3880845ea0a7c298fb3bc3884fbd3dClaim126387942021-06-15 11:27:177 days 8 hrs ago0xca834b0025bc3ba0ba11ac350393c9e9f913f2fc IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0010625167
0x1bdf2b8e0e760b2c633e5b35ee47434b65369afffcdfddb25cbc12b3f36bf488Claim126387052021-06-15 11:09:367 days 8 hrs ago0xca834b0025bc3ba0ba11ac350393c9e9f913f2fc IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0012140488
0x7974945c273974fc83fc880980bce5a2662f9a9f62ca378ae7a9cb6f4124b883Claim126386882021-06-15 11:06:187 days 8 hrs ago0xca834b0025bc3ba0ba11ac350393c9e9f913f2fc IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0011822167
0x836649e87f0f681cfffc655686811565db36d0d5c1e7f89adc82c59082b7ad60Stake126373292021-06-15 6:01:487 days 13 hrs ago0x8adace41ec579423f149d7402f282301fcfaff36 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0008136610
0xb08023ffa62627915020ce2658f5853d5da0d8794b03cabf1a4b0e3438a55a5fClaim126373092021-06-15 5:56:377 days 13 hrs ago0x8adace41ec579423f149d7402f282301fcfaff36 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0016886810
0x3a83212f55c551ba1a2a9f9f5a5edc12f3a60a19179cca8e35eae0ab1d5b5dc8Claim126327092021-06-14 13:01:338 days 6 hrs ago0x08240038b8bfe016b231c41d95348c3175b67b87 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0010370259
0x08263607acd8a28f89651d8796c3c6323becb47580895a3de0c4218c10c339b7Claim126226962021-06-12 23:36:419 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014938610
0x32b9dc45825da68c2bb5df7be67c0836f82c8de1621dd12789bc0c9af219c03cClaim126226962021-06-12 23:36:419 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014940610
0x6f502831de45872fc53eeb5840ff89a6230b67bb3805ffe8cf38e291d946f70bClaim126226942021-06-12 23:35:459 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014937410
0xb575d7a0d33947669ec26c97b268408dd89c966c5fdab51909911a68f2948715Claim126226942021-06-12 23:35:459 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014938610
0xcb758b0555ffc83075010d6d0e2dfd7e2a7508f1d0229ce679a9ba98c58438fcClaim126226822021-06-12 23:33:389 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014940610
0x49104edf83004b935176c73af968adc0408d0a205fcc90bbb04cd2116723d370Claim126226792021-06-12 23:32:399 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014937410
0xf367afa18612a12fc66ea299da5a76f708b26c2eebf70fbd858a512f54c95002Claim126226792021-06-12 23:32:399 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014938610
0x1ed2103cd104c5b0d296c5da60e8ccc384ce8f0bcc50d0e2b7882b89882a489eClaim126226792021-06-12 23:32:399 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0014937410
0x8a307f69be9d9bf2214a14ce831509f87538f084648d91534105be19afcd41f1Claim126226692021-06-12 23:30:129 days 20 hrs ago0x6fd155b9d52f80e8a73a8a2537268602978486e2 IN  0xc8b4ebd2201053588b9f57b189244ddaf3166a730 Ether0.0013230610
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CargoGemsStaking

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 1300 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-10-13
*/

// File: contracts/helpers/Owned.sol

pragma solidity >=0.4.0 <0.6.0;

contract Owned {
  address payable public owner;

  constructor() public {
    owner = msg.sender;
  }

  modifier onlyOwner {
    require(msg.sender == owner, "Sender not owner");
    _;
  }

  function transferOwnership(address payable newOwner) public onlyOwner {
    owner = newOwner;
  }
}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/Gems/Staking.sol

pragma solidity ^0.5.10;



interface IStakingErc20 {
  function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);
  // This only applies to Cargo Credits 
  function increaseBalance(address user, uint balance) external;
  function transfer(address to, uint256 value) external returns (bool success);
}

interface IStakingCargoData {
  function verifySigAndUuid(bytes32 hash, bytes calldata signature, bytes32 uuid) external;
  function verifyContract(address contractAddress) external returns (bool);
}

interface IStakingErc721 {
  function ownerOf(uint256 tokenId) external view returns (address);
  function supportsInterface(bytes4 interfaceId)
    external
    view
    returns (bool);
}

contract CargoGemsStaking is Owned {
  using SafeMath for uint256;

  event TotalStakeUpdated(uint totalStakedAmount);
  event TokenStakeUpdated(
    address indexed tokenContract, 
    uint256 indexed tokenId, 
    uint256 stakedAmount, 
    bool genesis
  );
  event Claim(
    address indexed claimant, 
    address indexed tokenContractAddress, 
    uint256 indexed tokenId, 
    uint256 gemsReward, 
    uint256 creditsReward
  );

  IStakingCargoData cargoData;
  IStakingErc20 cargoGems;
  IStakingErc20 cargoCredits;

  struct Stake {
    uint amount;
    uint lastBlockClaimed;
    uint genesisBlock;
    bool exists;
  }

  uint256 public totalStaked = 0;
  mapping(string => bool) config;

  // Token Contract Address => Token ID => Staked Amount
  mapping(address => mapping(uint256 => Stake)) tokenStakes;
  mapping(address => bool) public whiteList;
  mapping(address => bool) public blackList;

  constructor(address cargoDataAddress, address cargoGemsAddress, address cargoCreditsAddress) public {
    cargoData = IStakingCargoData(cargoDataAddress);
    cargoGems = IStakingErc20(cargoGemsAddress);
    cargoCredits = IStakingErc20(cargoCreditsAddress);
    config["enabled"] = true;
    config["onlyCargoContracts"] = true;
  }

  modifier onlyEnabled() {
    require(config["enabled"] == true, "Staking: Not enabled"); 
    _;
  }

  modifier onlyExists(address contractAddress, uint tokenId) {
    require(tokenStakes[contractAddress][tokenId].exists, "Staking: Token ID at address not staked");
    _;
  }

  function updateBlacklist(address contractAddress, bool val) external onlyOwner {
    blackList[contractAddress] = val;
  }

  function updateWhitelist(address contractAddress, bool val) external onlyOwner {
    whiteList[contractAddress] = val;
  }

  function updateConfig(string calldata key, bool value) external onlyOwner {
    config[key] = value;
  }

  function getStakedAmount(address contractAddress, uint tokenId) onlyExists(contractAddress, tokenId) external view returns (uint) {
    return tokenStakes[contractAddress][tokenId].amount;
  }

  function getLastBlockClaimed(address contractAddress, uint tokenId) onlyExists(contractAddress, tokenId) external view returns (uint) {
    return tokenStakes[contractAddress][tokenId].lastBlockClaimed;
  }

  function getStakeGenesis(address contractAddress, uint tokenId) onlyExists(contractAddress, tokenId) external view returns (uint) {
    return tokenStakes[contractAddress][tokenId].genesisBlock;
  }

  /** @notice Function to claim rewards. Rewards are calculated off-chain by using on-chain data */
  function claim(
    address tokenContractAddress, 
    uint tokenId, 
    uint gemsReward,
    uint creditsReward,
    uint blockNumber,
    uint amountToWithdraw,
    bytes32 uuid,
    bytes calldata signature
  ) external onlyEnabled {
    cargoData.verifySigAndUuid(keccak256(
      abi.encodePacked(
        "CLAIM",
        tokenContractAddress,
        tokenId,
        gemsReward,
        creditsReward,
        amountToWithdraw,
        blockNumber,
        uuid
      )
    ), signature, uuid);

    IStakingErc721 erc721 = IStakingErc721(tokenContractAddress);
    require(erc721.ownerOf(tokenId) == msg.sender, "Staking: Sender not owner");
    require(tokenStakes[tokenContractAddress][tokenId].lastBlockClaimed < blockNumber, "Staking: block number invalid");

    tokenStakes[tokenContractAddress][tokenId].amount = tokenStakes[tokenContractAddress][tokenId].amount.add(gemsReward);
    totalStaked = totalStaked.add(gemsReward);

    if(amountToWithdraw > 0) {
      require(amountToWithdraw <= tokenStakes[tokenContractAddress][tokenId].amount, "Staking: Withdrawl amount must be lte staked amount");

      // transfer rewards to sender
      cargoGems.transfer(msg.sender, amountToWithdraw);
      
      // Decrease staked amount
      tokenStakes[tokenContractAddress][tokenId].amount = tokenStakes[tokenContractAddress][tokenId].amount.sub(amountToWithdraw);
      totalStaked = totalStaked.sub(amountToWithdraw);
    }

    // Regardless of whether its a withdrawl the user will still be rewarded credits.
    cargoCredits.increaseBalance(msg.sender, creditsReward);

    // Save block number 
    tokenStakes[tokenContractAddress][tokenId].lastBlockClaimed = block.number;

    emit Claim(msg.sender, tokenContractAddress, tokenId, gemsReward, creditsReward);
    emit TotalStakeUpdated(totalStaked);
    emit TokenStakeUpdated(
      tokenContractAddress, 
      tokenId, 
      tokenStakes[tokenContractAddress][tokenId].amount, 
      !tokenStakes[tokenContractAddress][tokenId].exists
    );
  }

  /**
    @notice function to stake 
    @param tokenContractAddress Address of ERC721 contract
    @param tokenId ID of token
    @param amountToStake Amount of Cargo gems, must account for decimals when sending this
   */
  function stake(address tokenContractAddress, uint tokenId, uint amountToStake) external onlyEnabled {
    require(amountToStake > 0, "Staking: Amount must be gt 0");
    if(config["onlyCargoContracts"]) {
      require(cargoData.verifyContract(tokenContractAddress), "Staking: Must be a cargo contract");
    }
    IStakingErc721 erc721 = IStakingErc721(tokenContractAddress);
    require(
      (erc721.supportsInterface(0x80ac58cd) || whiteList[tokenContractAddress]) 
      && !blackList[tokenContractAddress], 
      "Staking: 721 not supported"
    );
    require(erc721.ownerOf(tokenId) == msg.sender, "Staking: Sender not owner");
    // User must approve this contract to transfer the given amount
    cargoGems.transferFrom(msg.sender, address(this), amountToStake);

    // Increase token's staked amount
    tokenStakes[tokenContractAddress][tokenId].amount = tokenStakes[tokenContractAddress][tokenId].amount.add(amountToStake);

    // Increase the total staked amount
    totalStaked = totalStaked.add(amountToStake);

    emit TotalStakeUpdated(totalStaked);
    emit TokenStakeUpdated(
      tokenContractAddress, 
      tokenId, 
      tokenStakes[tokenContractAddress][tokenId].amount, 
      !tokenStakes[tokenContractAddress][tokenId].exists
    );

    if(!tokenStakes[tokenContractAddress][tokenId].exists) {
      tokenStakes[tokenContractAddress][tokenId].genesisBlock = block.number;
      tokenStakes[tokenContractAddress][tokenId].exists = true;
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"tokenContractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"amountToStake","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"contractAddress","type":"address"},{"name":"val","type":"bool"}],"name":"updateWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"getStakeGenesis","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blackList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"getStakedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contractAddress","type":"address"},{"name":"val","type":"bool"}],"name":"updateBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenContractAddress","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"gemsReward","type":"uint256"},{"name":"creditsReward","type":"uint256"},{"name":"blockNumber","type":"uint256"},{"name":"amountToWithdraw","type":"uint256"},{"name":"uuid","type":"bytes32"},{"name":"signature","type":"bytes"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"key","type":"string"},{"name":"value","type":"bool"}],"name":"updateConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"contractAddress","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"getLastBlockClaimed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"cargoDataAddress","type":"address"},{"name":"cargoGemsAddress","type":"address"},{"name":"cargoCreditsAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"totalStakedAmount","type":"uint256"}],"name":"TotalStakeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenContract","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"stakedAmount","type":"uint256"},{"indexed":false,"name":"genesis","type":"bool"}],"name":"TokenStakeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"claimant","type":"address"},{"indexed":true,"name":"tokenContractAddress","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"gemsReward","type":"uint256"},{"indexed":false,"name":"creditsReward","type":"uint256"}],"name":"Claim","type":"event"}]

6080604052600060045534801561001557600080fd5b506040516117b73803806117b78339818101604052606081101561003857600080fd5b5080516020820151604092830151600080546001600160a01b03199081163317909155600180546001600160a01b039586169083161781556002805494861694831694909417909355600380549490921693169290921790915581517f656e61626c65640000000000000000000000000000000000000000000000000081526005600782018190528351918290036027018220805460ff1990811685179091557f6f6e6c79436172676f436f6e74726163747300000000000000000000000000008352601283019190915292519081900360320190208054909216179055611692806101256000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c8063817b1cd21161008c578063c00f4f6a11610066578063c00f4f6a1461026a578063c139035914610310578063d571ec8714610382578063f2fde38b146103ae576100df565b8063817b1cd2146102105780638da5cb5b146102185780639155e0831461023c576100df565b8063372c12b1116100bd578063372c12b1146101845780634838d165146101be5780634a84c9ee146101e4576100df565b80630c51b88f146100e45780630d392cd914610118578063351904a114610146575b600080fd5b610116600480360360608110156100fa57600080fd5b506001600160a01b0381351690602081013590604001356103d4565b005b6101166004803603604081101561012e57600080fd5b506001600160a01b03813516906020013515156109e9565b6101726004803603604081101561015c57600080fd5b506001600160a01b038135169060200135610a66565b60408051918252519081900360200190f35b6101aa6004803603602081101561019a57600080fd5b50356001600160a01b0316610afd565b604080519115158252519081900360200190f35b6101aa600480360360208110156101d457600080fd5b50356001600160a01b0316610b12565b610172600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610b27565b610172610bbb565b610220610bc1565b604080516001600160a01b039092168252519081900360200190f35b6101166004803603604081101561025257600080fd5b506001600160a01b0381351690602001351515610bd0565b610116600480360361010081101561028157600080fd5b6001600160a01b038235169160208101359160408201359160608101359160808201359160a08101359160c08201359190810190610100810160e08201356401000000008111156102d157600080fd5b8201836020820111156102e357600080fd5b8035906020019184600183028401116401000000008311171561030557600080fd5b509092509050610c4d565b6101166004803603604081101561032657600080fd5b81019060208101813564010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184600183028401116401000000008311171561037557600080fd5b91935091503515156112fa565b6101726004803603604081101561039857600080fd5b506001600160a01b03813516906020013561138a565b610116600480360360208110156103c457600080fd5b50356001600160a01b0316611421565b6040805166195b98589b195960ca1b81526005600782015290519081900360270190205460ff161515600114610451576040805162461bcd60e51b815260206004820152601460248201527f5374616b696e673a204e6f7420656e61626c6564000000000000000000000000604482015290519081900360640190fd5b600081116104a6576040805162461bcd60e51b815260206004820152601c60248201527f5374616b696e673a20416d6f756e74206d757374206265206774203000000000604482015290519081900360640190fd5b604080517f6f6e6c79436172676f436f6e747261637473000000000000000000000000000081526005601282015290519081900360320190205460ff16156105b757600154604080517f3d200b450000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015291519190921691633d200b459160248083019260209291908290030181600087803b15801561055057600080fd5b505af1158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50516105b75760405162461bcd60e51b815260040180806020018281038252602181526020018061160a6021913960400191505060405180910390fd5b604080517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f80ac58cd000000000000000000000000000000000000000000000000000000006004820152905184916001600160a01b038316916301ffc9a791602480820192602092909190829003018186803b15801561063957600080fd5b505afa15801561064d573d6000803e3d6000fd5b505050506040513d602081101561066357600080fd5b50518061068857506001600160a01b03841660009081526007602052604090205460ff165b80156106ad57506001600160a01b03841660009081526008602052604090205460ff16155b6106fe576040805162461bcd60e51b815260206004820152601a60248201527f5374616b696e673a20373231206e6f7420737570706f72746564000000000000604482015290519081900360640190fd5b336001600160a01b0316816001600160a01b0316636352211e856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561074c57600080fd5b505afa158015610760573d6000803e3d6000fd5b505050506040513d602081101561077657600080fd5b50516001600160a01b0316146107d3576040805162461bcd60e51b815260206004820152601960248201527f5374616b696e673a2053656e646572206e6f74206f776e657200000000000000604482015290519081900360640190fd5b600254604080517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561084657600080fd5b505af115801561085a573d6000803e3d6000fd5b505050506040513d602081101561087057600080fd5b50506001600160a01b03841660009081526006602090815260408083208684529091529020546108a6908363ffffffff6114ad16565b6001600160a01b03851660009081526006602090815260408083208784529091529020556004546108dd908363ffffffff6114ad16565b600481905560408051918252517fbd0ebe2dec51986a656fe2e8b03c7dab99eb821c5f50ec0a1401d401f643342e9181900360200190a16001600160a01b03841660008181526006602090815260408083208784528252918290208054600390910154835191825260ff16159181019190915281518693927fe0542c8667c57ce39d2ccfd51a86089a14bc340e5ddee7022763eeda1f2a6bcf928290030190a36001600160a01b038416600090815260066020908152604080832086845290915290206003015460ff166109e3576001600160a01b03841660009081526006602090815260408083208684529091529020436002820155600301805460ff191660011790555b50505050565b6000546001600160a01b03163314610a3b576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff16610acf5760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052206002015490565b60076020526000908152604090205460ff1681565b60086020526000908152604090205460ff1681565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff16610b905760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60045481565b6000546001600160a01b031681565b6000546001600160a01b03163314610c22576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6040805166195b98589b195960ca1b81526005600782015290519081900360270190205460ff161515600114610cca576040805162461bcd60e51b815260206004820152601460248201527f5374616b696e673a204e6f7420656e61626c6564000000000000000000000000604482015290519081900360640190fd5b600154604080517f434c41494d00000000000000000000000000000000000000000000000000000060208083019190915260608d811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166025840152603983018d9052605983018c9052607983018b90526099830189905260b983018a905260d98084018990528451808503909101815260f984019485905280519201919091207f93bba32b0000000000000000000000000000000000000000000000000000000090935260fd820183815261013d830188905261011d830191825261015d83018690526001600160a01b03909416936393bba32b9392879287928a9290919061017d01858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015610e0d57600080fd5b505af1158015610e21573d6000803e3d6000fd5b5050604080517f6352211e000000000000000000000000000000000000000000000000000000008152600481018c905290518c93503392506001600160a01b03841691636352211e916024808301926020929190829003018186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d6020811015610eb357600080fd5b50516001600160a01b031614610f10576040805162461bcd60e51b815260206004820152601960248201527f5374616b696e673a2053656e646572206e6f74206f776e657200000000000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526006602090815260408083208c84529091529020600101548611610f8a576040805162461bcd60e51b815260206004820152601d60248201527f5374616b696e673a20626c6f636b206e756d62657220696e76616c6964000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526006602090815260408083208c8452909152902054610fbe908963ffffffff6114ad16565b6001600160a01b038b1660009081526006602090815260408083208d8452909152902055600454610ff5908963ffffffff6114ad16565b6004558415611168576001600160a01b038a1660009081526006602090815260408083208c84529091529020548511156110605760405162461bcd60e51b815260040180806020018281038252603381526020018061162b6033913960400191505060405180910390fd5b600254604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810188905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156110cd57600080fd5b505af11580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b50506001600160a01b038a1660009081526006602090815260408083208c845290915290205461112d908663ffffffff61150e16565b6001600160a01b038b1660009081526006602090815260408083208d8452909152902055600454611164908663ffffffff61150e16565b6004555b600354604080517f5b86f599000000000000000000000000000000000000000000000000000000008152336004820152602481018a905290516001600160a01b0390921691635b86f5999160448082019260009290919082900301818387803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050506001600160a01b038b1660008181526006602090815260408083208e84528252918290204360019091015581518c81529081018b905281518d945033927f9137e112a187039f8a3291c0a66fce97153d25ec42036e82360d5d0106d19a6e928290030190a460045460408051918252517fbd0ebe2dec51986a656fe2e8b03c7dab99eb821c5f50ec0a1401d401f643342e9181900360200190a16001600160a01b038a1660008181526006602090815260408083208d84528252918290208054600390910154835191825260ff16159181019190915281518c93927fe0542c8667c57ce39d2ccfd51a86089a14bc340e5ddee7022763eeda1f2a6bcf928290030190a350505050505050505050565b6000546001600160a01b0316331461134c576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b80600584846040518083838082843791909101948552505060405192839003602001909220805493151560ff19909416939093179092555050505050565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff166113f35760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052206001015490565b6000546001600160a01b03163314611473576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600082820183811015611507576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061150783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250600081848411156115da5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561159f578181015183820152602001611587565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe5374616b696e673a20546f6b656e2049442061742061646472657373206e6f74207374616b65645374616b696e673a204d757374206265206120636172676f20636f6e74726163745374616b696e673a2057697468647261776c20616d6f756e74206d757374206265206c7465207374616b656420616d6f756e74a265627a7a723058206ca453d9bdb0848dc8fba50bbf04cebd8566b8fe98ba1415f2e85299801bd42264736f6c634300050a003200000000000000000000000075cc87648945714e32cdca19b7a68b81f2f7cdb300000000000000000000000030b1efb052205e6ca3c4888c3c50c5b339cc0602000000000000000000000000714a91578624d76a209e9aa4af9a1f55d78f9190

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

00000000000000000000000075cc87648945714e32cdca19b7a68b81f2f7cdb300000000000000000000000030b1efb052205e6ca3c4888c3c50c5b339cc0602000000000000000000000000714a91578624d76a209e9aa4af9a1f55d78f9190

-----Decoded View---------------
Arg [0] : cargoDataAddress (address): 0x75cc87648945714e32cdca19b7a68b81f2f7cdb3
Arg [1] : cargoGemsAddress (address): 0x30b1efb052205e6ca3c4888c3c50c5b339cc0602
Arg [2] : cargoCreditsAddress (address): 0x714a91578624d76a209e9aa4af9a1f55d78f9190

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000075cc87648945714e32cdca19b7a68b81f2f7cdb3
Arg [1] : 00000000000000000000000030b1efb052205e6ca3c4888c3c50c5b339cc0602
Arg [2] : 000000000000000000000000714a91578624d76a209e9aa4af9a1f55d78f9190


Deployed ByteCode Sourcemap

6696:6509:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6696:6509:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11687:1515;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11687:1515:0;;;;;;;;;;;;;:::i;:::-;;8411:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8411:124:0;;;;;;;;;;:::i;9067:200::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9067:200:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7551:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7551:41:0;-1:-1:-1;;;;;7551:41:0;;:::i;:::-;;;;;;;;;;;;;;;;;;7597;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7597:41:0;-1:-1:-1;;;;;7597:41:0;;:::i;8653:194::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8653:194:0;;;;;;;;:::i;7359:30::-;;;:::i;95:28::-;;;:::i;:::-;;;;-1:-1:-1;;;;;95:28:0;;;;;;;;;;;;;;8281:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8281:124:0;;;;;;;;;;:::i;9374:2077::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;9374:2077:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;9374:2077:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9374:2077:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9374:2077:0;;-1:-1:-1;9374:2077:0;-1:-1:-1;9374:2077:0;:::i;8541:106::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8541:106:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8541:106:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8541:106:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8541:106:0;;-1:-1:-1;8541:106:0;-1:-1:-1;8541:106:0;;;;:::i;8853:208::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8853:208:0;;;;;;;;:::i;282:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;282:99:0;-1:-1:-1;;;;;282:99:0;;:::i;11687:1515::-;8028:17;;;-1:-1:-1;;;8028:17:0;;:6;:17;;;;;;;;;;;;;;;;;:25;;:17;:25;8020:58;;;;;-1:-1:-1;;;8020:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11818:1;11802:13;:17;11794:58;;;;;-1:-1:-1;;;11794:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11862:28;;;;;;:6;:28;;;;;;;;;;;;;;;;;11859:142;;;11909:9;;:46;;;;;;-1:-1:-1;;;;;11909:46:0;;;;;;;;;:9;;;;;:24;;:46;;;;;;;;;;;;;;:9;;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;11909:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11909:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11909:46:0;11901:92;;;;-1:-1:-1;;;11901:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12091:36;;;;;;;;;;;;;12046:20;;-1:-1:-1;;;;;12091:24:0;;;;;:36;;;;;;;;;;;;;;;:24;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;12091:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12091:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12091:36:0;;:71;;-1:-1:-1;;;;;;12131:31:0;;;;;;:9;:31;;;;;;;;12091:71;12090:117;;;;-1:-1:-1;;;;;;12176:31:0;;;;;;:9;:31;;;;;;;;12175:32;12090:117;12074:178;;;;;-1:-1:-1;;;12074:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12294:10;-1:-1:-1;;;;;12267:37:0;:6;-1:-1:-1;;;;;12267:14:0;;12282:7;12267:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12267:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12267:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12267:23:0;-1:-1:-1;;;;;12267:37:0;;12259:75;;;;;-1:-1:-1;;;12259:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12410:9;;:64;;;;;;12433:10;12410:64;;;;12453:4;12410:64;;;;;;;;;;;;-1:-1:-1;;;;;12410:9:0;;;;:22;;:64;;;;;;;;;;;;;;;:9;;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;12410:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12410:64:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;12574:33:0;;;;;;:11;12410:64;12574:33;;;;;;;:42;;;;;;;;:49;:68;;12628:13;12574:68;:53;:68;:::i;:::-;-1:-1:-1;;;;;12522:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:120;12706:11;;:30;;12722:13;12706:30;:15;:30;:::i;:::-;12692:11;:44;;;12750:30;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12792:189:0;;12865:33;;;;:11;:33;;;;;;;;:42;;;;;;;;;:49;;12925;;;;;12792:189;;;;;12925:49;;12924:50;12792:189;;;;;;;;;12865:42;;12792:189;;;;;;;;;-1:-1:-1;;;;;12994:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:49;;;;;12990:207;;-1:-1:-1;;;;;13054:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;13112:12;13054:55;;;:70;13133:49;;:56;;-1:-1:-1;;13133:56:0;13185:4;13133:56;;;12990:207;8086:1;11687:1515;;;:::o;8411:124::-;236:5;;-1:-1:-1;;;;;236:5:0;222:10;:19;214:48;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8497:26:0;;;;;;;;:9;:26;;;;;:32;;-1:-1:-1;;8497:32:0;;;;;;;;;;8411:124::o;9067:200::-;-1:-1:-1;;;;;8173:28:0;;9191:4;8173:28;;;:11;:28;;;;;;;;:37;;;;;;;;:44;;;9142:15;;9159:7;;8173:44;;8165:96;;;;-1:-1:-1;;;8165:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;9211:28:0;;;;;;;;:11;:28;;;;;;;;:37;;;;;;;:50;;;;9067:200::o;7551:41::-;;;;;;;;;;;;;;;:::o;7597:::-;;;;;;;;;;;;;;;:::o;8653:194::-;-1:-1:-1;;;;;8173:28:0;;8777:4;8173:28;;;:11;:28;;;;;;;;:37;;;;;;;;:44;;;8728:15;;8745:7;;8173:44;;8165:96;;;;-1:-1:-1;;;8165:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;8797:28:0;;;;;;;;:11;:28;;;;;;;;:37;;;;;;;:44;;8653:194::o;7359:30::-;;;;:::o;95:28::-;;;-1:-1:-1;;;;;95:28:0;;:::o;8281:124::-;236:5;;-1:-1:-1;;;;;236:5:0;222:10;:19;214:48;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8367:26:0;;;;;;;;:9;:26;;;;;:32;;-1:-1:-1;;8367:32:0;;;;;;;;;;8281:124::o;9374:2077::-;8028:17;;;-1:-1:-1;;;8028:17:0;;:6;:17;;;;;;;;;;;;;;;;;:25;;:17;:25;8020:58;;;;;-1:-1:-1;;;8020:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9626:9;;9671:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;9671:201:0;;;;;;;9653:226;;;;;;;;9626:271;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9626:9:0;;;;:26;;9653:226;9881:9;;9626:271;;9671:201;;9626:271;;;;;9881:9;9626:271;;9881:9;9626:271;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9626:271:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9626:271:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9981:23:0;;;;;;;;;;;;;;9945:20;;-1:-1:-1;10008:10:0;;-1:-1:-1;;;;;;9981:14:0;;;;;:23;;;;;;;;;;;;;;:14;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;9981:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9981:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9981:23:0;-1:-1:-1;;;;;9981:37:0;;9973:75;;;;;-1:-1:-1;;;9973:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10063:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:59;;;:73;-1:-1:-1;10055:115:0;;;;;-1:-1:-1;;;10055:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10231:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:49;:65;;10285:10;10231:65;:53;:65;:::i;:::-;-1:-1:-1;;;;;10179:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:117;10317:11;;:27;;10333:10;10317:27;:15;:27;:::i;:::-;10303:11;:41;10356:20;;10353:500;;-1:-1:-1;;;;;10415:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:49;10395:69;;;10387:133;;;;-1:-1:-1;;;10387:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10568:9;;:48;;;;;;10587:10;10568:48;;;;;;;;;;;;-1:-1:-1;;;;;10568:9:0;;;;:18;;:48;;;;;;;;;;;;;;;:9;;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;10568:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10568:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;10718:33:0;;;;;;:11;10568:48;10718:33;;;;;;;:42;;;;;;;;:49;:71;;10772:16;10718:71;:53;:71;:::i;:::-;-1:-1:-1;;;;;10666:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;:123;10812:11;;:33;;10828:16;10812:33;:15;:33;:::i;:::-;10798:11;:47;10353:500;10948:12;;:55;;;;;;10977:10;10948:55;;;;;;;;;;;;-1:-1:-1;;;;;10948:12:0;;;;:28;;:55;;;;;:12;;:55;;;;;;;;:12;;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;10948:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;11039:33:0;;;;;;:11;:33;;;;;;;;:42;;;;;;;;;11101:12;11039:59;;;;:74;11127:75;;;;;;;;;;;;;11073:7;;-1:-1:-1;11133:10:0;;11127:75;;;;;;;;11232:11;;11214:30;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11256:189:0;;11329:33;;;;:11;:33;;;;;;;;:42;;;;;;;;;:49;;11389;;;;;11256:189;;;;;11389:49;;11388:50;11256:189;;;;;;;;;11329:42;;11256:189;;;;;;;;;8086:1;9374:2077;;;;;;;;;:::o;8541:106::-;236:5;;-1:-1:-1;;;;;236:5:0;222:10;:19;214:48;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;;;;8636:5;8622:6;8629:3;;8622:11;;;;;30:3:-1;22:6;14;1:33;45:16;;;;8622:11:0;;;-1:-1:-1;;8622:11:0;;;;;;;;;;;:19;;;;;-1:-1:-1;;8622:19:0;;;;;;;;;;-1:-1:-1;;;;;8541:106:0:o;8853:208::-;-1:-1:-1;;;;;8173:28:0;;8981:4;8173:28;;;:11;:28;;;;;;;;:37;;;;;;;;:44;;;8932:15;;8949:7;;8173:44;;8165:96;;;;-1:-1:-1;;;8165:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;9001:28:0;;;;;;;;:11;:28;;;;;;;;:37;;;;;;;:54;;;;8853:208::o;282:99::-;236:5;;-1:-1:-1;;;;;236:5:0;222:10;:19;214:48;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;-1:-1:-1;;;214:48:0;;;;;;;;;;;;;;;359:5;:16;;;;-1:-1:-1;;;;;359:16:0;;;;;;;;;;282:99::o;1301:181::-;1359:7;1391:5;;;1415:6;;;;1407:46;;;;;-1:-1:-1;;;1407:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1473:1;1301:181;-1:-1:-1;;;1301:181:0:o;1757:136::-;1815:7;1842:43;1846:1;1849;1842:43;;;;;;;;;;;;;;;;;2316:7;2352:12;2344:6;;;;2336:29;;;;-1:-1:-1;;;2336:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2336:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2388:5:0;;;2230:192::o

Swarm Source

bzzr://6ca453d9bdb0848dc8fba50bbf04cebd8566b8fe98ba1415f2e85299801bd422
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.