ETH Price: $3,582.14 (-1.15%)

Contract

0xC8B4EbD2201053588B9f57B189244dDAF3166a73
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim134895182021-10-25 23:25:081134 days ago1635204308IN
Cargo.build: Staking Contract
0 ETH0.01365453103.16361885
Claim132772692021-09-22 19:00:501167 days ago1632337250IN
Cargo.build: Staking Contract
0 ETH0.0133624684.98079405
Claim131484882021-09-02 20:36:371187 days ago1630614997IN
Cargo.build: Staking Contract
0 ETH0.01292436102.15755791
Claim131252752021-08-30 6:32:541191 days ago1630305174IN
Cargo.build: Staking Contract
0 ETH0.0177183574.71403678
Claim130577662021-08-19 20:03:351201 days ago1629403415IN
Cargo.build: Staking Contract
0 ETH0.0133199258.35138563
Claim130577662021-08-19 20:03:351201 days ago1629403415IN
Cargo.build: Staking Contract
0 ETH0.0119536652.35878978
Claim130577662021-08-19 20:03:351201 days ago1629403415IN
Cargo.build: Staking Contract
0 ETH0.0080388251.11385317
Claim130577462021-08-19 19:58:571201 days ago1629403137IN
Cargo.build: Staking Contract
0 ETH0.0055288143.66528085
Claim130347922021-08-16 7:03:421205 days ago1629097422IN
Cargo.build: Staking Contract
0 ETH0.0070769245
Claim130302032021-08-15 14:10:071206 days ago1629036607IN
Cargo.build: Staking Contract
0 ETH0.0066180236.72822695
Claim130155122021-08-13 7:42:201208 days ago1628840540IN
Cargo.build: Staking Contract
0 ETH0.0046614936.17377135
Claim129606982021-08-04 20:05:431216 days ago1628107543IN
Cargo.build: Staking Contract
0 ETH0.0092967557
Claim129519622021-08-03 11:10:371218 days ago1627989037IN
Cargo.build: Staking Contract
0 ETH0.0056421228.6
Claim129502352021-08-03 4:33:121218 days ago1627965192IN
Cargo.build: Staking Contract
0 ETH0.0042918837
Claim129502272021-08-03 4:31:341218 days ago1627965094IN
Cargo.build: Staking Contract
0 ETH0.0042930737
Claim129497712021-08-03 2:49:111218 days ago1627958951IN
Cargo.build: Staking Contract
0 ETH0.0046804638
Claim129497702021-08-03 2:49:081218 days ago1627958948IN
Cargo.build: Staking Contract
0 ETH0.0046804638
Claim129226402021-07-29 19:50:381222 days ago1627588238IN
Cargo.build: Staking Contract
0 ETH0.0041800329
Claim129226272021-07-29 19:47:411222 days ago1627588061IN
Cargo.build: Staking Contract
0 ETH0.0041803729
Stake129174692021-07-29 0:11:081223 days ago1627517468IN
Cargo.build: Staking Contract
0 ETH0.0015782123
Stake129168792021-07-28 21:52:371223 days ago1627509157IN
Cargo.build: Staking Contract
0 ETH0.0025921531
Claim129086172021-07-27 14:34:341225 days ago1627396474IN
Cargo.build: Staking Contract
0 ETH0.0065510856.87
Claim128996122021-07-26 4:03:211226 days ago1627272201IN
Cargo.build: Staking Contract
0 ETH0.0027318218
Claim128870432021-07-24 5:05:541228 days ago1627103154IN
Cargo.build: Staking Contract
0 ETH0.0017299111
Stake128815682021-07-23 8:27:231229 days ago1627028843IN
Cargo.build: Staking Contract
0 ETH0.0017174112
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
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

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100df5760003560e01c8063817b1cd21161008c578063c00f4f6a11610066578063c00f4f6a1461026a578063c139035914610310578063d571ec8714610382578063f2fde38b146103ae576100df565b8063817b1cd2146102105780638da5cb5b146102185780639155e0831461023c576100df565b8063372c12b1116100bd578063372c12b1146101845780634838d165146101be5780634a84c9ee146101e4576100df565b80630c51b88f146100e45780630d392cd914610118578063351904a114610146575b600080fd5b610116600480360360608110156100fa57600080fd5b506001600160a01b0381351690602081013590604001356103d4565b005b6101166004803603604081101561012e57600080fd5b506001600160a01b03813516906020013515156109e9565b6101726004803603604081101561015c57600080fd5b506001600160a01b038135169060200135610a66565b60408051918252519081900360200190f35b6101aa6004803603602081101561019a57600080fd5b50356001600160a01b0316610afd565b604080519115158252519081900360200190f35b6101aa600480360360208110156101d457600080fd5b50356001600160a01b0316610b12565b610172600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610b27565b610172610bbb565b610220610bc1565b604080516001600160a01b039092168252519081900360200190f35b6101166004803603604081101561025257600080fd5b506001600160a01b0381351690602001351515610bd0565b610116600480360361010081101561028157600080fd5b6001600160a01b038235169160208101359160408201359160608101359160808201359160a08101359160c08201359190810190610100810160e08201356401000000008111156102d157600080fd5b8201836020820111156102e357600080fd5b8035906020019184600183028401116401000000008311171561030557600080fd5b509092509050610c4d565b6101166004803603604081101561032657600080fd5b81019060208101813564010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184600183028401116401000000008311171561037557600080fd5b91935091503515156112fa565b6101726004803603604081101561039857600080fd5b506001600160a01b03813516906020013561138a565b610116600480360360208110156103c457600080fd5b50356001600160a01b0316611421565b6040805166195b98589b195960ca1b81526005600782015290519081900360270190205460ff161515600114610451576040805162461bcd60e51b815260206004820152601460248201527f5374616b696e673a204e6f7420656e61626c6564000000000000000000000000604482015290519081900360640190fd5b600081116104a6576040805162461bcd60e51b815260206004820152601c60248201527f5374616b696e673a20416d6f756e74206d757374206265206774203000000000604482015290519081900360640190fd5b604080517f6f6e6c79436172676f436f6e747261637473000000000000000000000000000081526005601282015290519081900360320190205460ff16156105b757600154604080517f3d200b450000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015291519190921691633d200b459160248083019260209291908290030181600087803b15801561055057600080fd5b505af1158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50516105b75760405162461bcd60e51b815260040180806020018281038252602181526020018061160a6021913960400191505060405180910390fd5b604080517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f80ac58cd000000000000000000000000000000000000000000000000000000006004820152905184916001600160a01b038316916301ffc9a791602480820192602092909190829003018186803b15801561063957600080fd5b505afa15801561064d573d6000803e3d6000fd5b505050506040513d602081101561066357600080fd5b50518061068857506001600160a01b03841660009081526007602052604090205460ff165b80156106ad57506001600160a01b03841660009081526008602052604090205460ff16155b6106fe576040805162461bcd60e51b815260206004820152601a60248201527f5374616b696e673a20373231206e6f7420737570706f72746564000000000000604482015290519081900360640190fd5b336001600160a01b0316816001600160a01b0316636352211e856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561074c57600080fd5b505afa158015610760573d6000803e3d6000fd5b505050506040513d602081101561077657600080fd5b50516001600160a01b0316146107d3576040805162461bcd60e51b815260206004820152601960248201527f5374616b696e673a2053656e646572206e6f74206f776e657200000000000000604482015290519081900360640190fd5b600254604080517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561084657600080fd5b505af115801561085a573d6000803e3d6000fd5b505050506040513d602081101561087057600080fd5b50506001600160a01b03841660009081526006602090815260408083208684529091529020546108a6908363ffffffff6114ad16565b6001600160a01b03851660009081526006602090815260408083208784529091529020556004546108dd908363ffffffff6114ad16565b600481905560408051918252517fbd0ebe2dec51986a656fe2e8b03c7dab99eb821c5f50ec0a1401d401f643342e9181900360200190a16001600160a01b03841660008181526006602090815260408083208784528252918290208054600390910154835191825260ff16159181019190915281518693927fe0542c8667c57ce39d2ccfd51a86089a14bc340e5ddee7022763eeda1f2a6bcf928290030190a36001600160a01b038416600090815260066020908152604080832086845290915290206003015460ff166109e3576001600160a01b03841660009081526006602090815260408083208684529091529020436002820155600301805460ff191660011790555b50505050565b6000546001600160a01b03163314610a3b576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff16610acf5760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052206002015490565b60076020526000908152604090205460ff1681565b60086020526000908152604090205460ff1681565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff16610b905760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60045481565b6000546001600160a01b031681565b6000546001600160a01b03163314610c22576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6040805166195b98589b195960ca1b81526005600782015290519081900360270190205460ff161515600114610cca576040805162461bcd60e51b815260206004820152601460248201527f5374616b696e673a204e6f7420656e61626c6564000000000000000000000000604482015290519081900360640190fd5b600154604080517f434c41494d00000000000000000000000000000000000000000000000000000060208083019190915260608d811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166025840152603983018d9052605983018c9052607983018b90526099830189905260b983018a905260d98084018990528451808503909101815260f984019485905280519201919091207f93bba32b0000000000000000000000000000000000000000000000000000000090935260fd820183815261013d830188905261011d830191825261015d83018690526001600160a01b03909416936393bba32b9392879287928a9290919061017d01858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015610e0d57600080fd5b505af1158015610e21573d6000803e3d6000fd5b5050604080517f6352211e000000000000000000000000000000000000000000000000000000008152600481018c905290518c93503392506001600160a01b03841691636352211e916024808301926020929190829003018186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d6020811015610eb357600080fd5b50516001600160a01b031614610f10576040805162461bcd60e51b815260206004820152601960248201527f5374616b696e673a2053656e646572206e6f74206f776e657200000000000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526006602090815260408083208c84529091529020600101548611610f8a576040805162461bcd60e51b815260206004820152601d60248201527f5374616b696e673a20626c6f636b206e756d62657220696e76616c6964000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526006602090815260408083208c8452909152902054610fbe908963ffffffff6114ad16565b6001600160a01b038b1660009081526006602090815260408083208d8452909152902055600454610ff5908963ffffffff6114ad16565b6004558415611168576001600160a01b038a1660009081526006602090815260408083208c84529091529020548511156110605760405162461bcd60e51b815260040180806020018281038252603381526020018061162b6033913960400191505060405180910390fd5b600254604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810188905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156110cd57600080fd5b505af11580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b50506001600160a01b038a1660009081526006602090815260408083208c845290915290205461112d908663ffffffff61150e16565b6001600160a01b038b1660009081526006602090815260408083208d8452909152902055600454611164908663ffffffff61150e16565b6004555b600354604080517f5b86f599000000000000000000000000000000000000000000000000000000008152336004820152602481018a905290516001600160a01b0390921691635b86f5999160448082019260009290919082900301818387803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050506001600160a01b038b1660008181526006602090815260408083208e84528252918290204360019091015581518c81529081018b905281518d945033927f9137e112a187039f8a3291c0a66fce97153d25ec42036e82360d5d0106d19a6e928290030190a460045460408051918252517fbd0ebe2dec51986a656fe2e8b03c7dab99eb821c5f50ec0a1401d401f643342e9181900360200190a16001600160a01b038a1660008181526006602090815260408083208d84528252918290208054600390910154835191825260ff16159181019190915281518c93927fe0542c8667c57ce39d2ccfd51a86089a14bc340e5ddee7022763eeda1f2a6bcf928290030190a350505050505050505050565b6000546001600160a01b0316331461134c576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b80600584846040518083838082843791909101948552505060405192839003602001909220805493151560ff19909416939093179092555050505050565b6001600160a01b03821660009081526006602090815260408083208484529091528120600301548390839060ff166113f35760405162461bcd60e51b81526004018080602001828103825260278152602001806115e36027913960400191505060405180910390fd5b5050506001600160a01b03919091166000908152600660209081526040808320938352929052206001015490565b6000546001600160a01b03163314611473576040805162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600082820183811015611507576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061150783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250600081848411156115da5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561159f578181015183820152602001611587565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe5374616b696e673a20546f6b656e2049442061742061646472657373206e6f74207374616b65645374616b696e673a204d757374206265206120636172676f20636f6e74726163745374616b696e673a2057697468647261776c20616d6f756e74206d757374206265206c7465207374616b656420616d6f756e74a265627a7a723058206ca453d9bdb0848dc8fba50bbf04cebd8566b8fe98ba1415f2e85299801bd42264736f6c634300050a0032

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
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.