Sonic Blaze Testnet

Contract

0xCE238f1FF7417ef688F29F4dcC12A5131B87eC91

Overview

S Balance

Sonic Blaze LogoSonic Blaze LogoSonic Blaze Logo0 S

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Change Master Ad...229414622025-02-25 11:58:4613 days ago1740484726IN
0xCE238f1F...31B87eC91
0 S0.001277981.1

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xB15646F7...3B0448117
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TestnetQuotationData

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 5 : TestnetQuotationData.sol
// SPDX-License-Identifier: GPL-3.0-only

pragma solidity ^0.5.0;

import "../../modules/legacy/LegacyQuotationData.sol";

contract TestnetQuotationData is LegacyQuotationData {

  constructor (
    address _authQuoteAdd,
    address _kycAuthAdd
  ) LegacyQuotationData(_authQuoteAdd, _kycAuthAdd) public {
    // noop
  }

  /// @dev Creates a blank new cover.
  function addV1Cover(
    uint16 _coverPeriod,
    uint _sumAssured,
    address payable _userAddress,
    bytes4 _currencyCode,
    address _scAddress,
    uint premium,
    uint premiumNXM
  ) external {
    uint expiryDate = now.add(uint(_coverPeriod).mul(1 days));

    allCovers.push(
      Cover(
        _userAddress,
        _currencyCode,
        _sumAssured,
        _coverPeriod,
        expiryDate,
        _scAddress,
        premiumNXM
      )
    );

    uint cid = allCovers.length.sub(1);
    userCover[_userAddress].push(cid);

    emit CoverDetailsEvent(cid, _scAddress, _sumAssured, expiryDate, premium, premiumNXM, _currencyCode);
  }

}

File 2 of 5 : LegacyMasterAware.sol
// SPDX-License-Identifier: GPL-3.0-only

pragma solidity >=0.5.0;

import "../interfaces/ISAFURAMaster.sol";

contract LegacyMasterAware {

  ISAFURAMaster public ms;
  address public nxMasterAddress;

  modifier onlyInternal {
    require(ms.isInternal(msg.sender));
    _;
  }

  modifier onlyGovernance {
    require(msg.sender == ms.getLatestAddress("GV"));
    _;
  }


  modifier isMemberAndcheckPause {
    require(ms.isPause() == false && ms.isMember(msg.sender) == true);
    _;
  }

  modifier checkPause {
    require(ms.isPause() == false);
    _;
  }

  /**
   * @dev change master address
   * @param _masterAddress is the new address
   */
  function changeMasterAddress(address _masterAddress) public {
    if (address(ms) != address(0)) {
      require(address(ms) == msg.sender, "Not master");
    }

    ms = ISAFURAMaster(_masterAddress);
    nxMasterAddress = _masterAddress;
  }

}

File 3 of 5 : ISAFURAMaster.sol
// SPDX-License-Identifier: GPL-3.0-only

pragma solidity >=0.5.0;

interface ISAFURAMaster {

  function tokenAddress() external view returns (address);

  function owner() external view returns (address);

  function emergencyAdmin() external view returns (address);

  function masterInitialized() external view returns (bool);

  function isInternal(address _add) external view returns (bool);

  function isPause() external view returns (bool check);

  function isMember(address _add) external view returns (bool);

  function checkIsAuthToGoverned(address _add) external view returns (bool);

  function getLatestAddress(bytes2 _contractName) external view returns (address payable contractAddress);

  function contractAddresses(bytes2 code) external view returns (address payable);

  function upgradeMultipleContracts(
    bytes2[] calldata _contractCodes,
    address payable[] calldata newAddresses
  ) external;

  function removeContracts(bytes2[] calldata contractCodesToRemove) external;

  function addNewInternalContracts(
    bytes2[] calldata _contractCodes,
    address payable[] calldata newAddresses,
    uint[] calldata _types
  ) external;

  function updateOwnerParameters(bytes8 code, address payable val) external;
}

File 4 of 5 : 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 5 of 5 : LegacyQuotationData.sol
// SPDX-License-Identifier: GPL-3.0-only

pragma solidity ^0.5.0;

import "../../libraries/external/SafeMath.sol";
import "../../abstract/LegacyMasterAware.sol";

contract LegacyQuotationData is LegacyMasterAware {
  using SafeMath for uint;

  enum HCIDStatus {NA, kycPending, kycPass, kycFailedOrRefunded, kycPassNoCover}

  enum CoverStatus {Active, ClaimAccepted, ClaimDenied, CoverExpired, ClaimSubmitted, Requested}

  struct Cover {
    address payable memberAddress;
    bytes4 currencyCode;
    uint sumAssured;
    uint16 coverPeriod;
    uint validUntil;
    address scAddress;
    uint premiumNXM;
  }

  struct HoldCover {
    uint holdCoverId;
    address payable userAddress;
    address scAddress;
    bytes4 coverCurr;
    uint[] coverDetails;
    uint16 coverPeriod;
  }

  address public authQuoteEngine;

  mapping(bytes4 => uint) internal currencyCSA;
  mapping(address => uint[]) internal userCover;
  mapping(address => uint[]) public userHoldedCover;
  mapping(address => bool) public refundEligible;
  mapping(address => mapping(bytes4 => uint)) internal currencyCSAOfSCAdd;
  mapping(uint => uint8) public coverStatus;
  mapping(uint => uint) public holdedCoverIDStatus;
  mapping(uint => bool) public timestampRepeated;


  Cover[] internal allCovers;
  HoldCover[] internal allCoverHolded;

  uint public stlp;
  uint public stl;
  uint public pm;
  uint public minDays;
  uint public tokensRetained;
  address public kycAuthAddress;

  event CoverDetailsEvent(
    uint indexed cid,
    address scAdd,
    uint sumAssured,
    uint expiry,
    uint premium,
    uint premiumNXM,
    bytes4 curr
  );

  event CoverStatusEvent(uint indexed cid, uint8 statusNum);

  constructor(address _authQuoteAdd, address _kycAuthAdd) public {
    authQuoteEngine = _authQuoteAdd;
    kycAuthAddress = _kycAuthAdd;
    stlp = 90;
    stl = 100;
    pm = 30;
    minDays = 30;
    tokensRetained = 10;
    allCovers.push(Cover(address(0), "0x00", 0, 0, 0, address(0), 0));
    uint[] memory arr = new uint[](1);
    allCoverHolded.push(HoldCover(0, address(0), address(0), 0x00, arr, 0));
  }

  /// @dev Adds the amount in Total Sum Assured of a given currency of a given smart contract address.
  /// @param _add Smart Contract Address.
  /// @param _amount Amount to be added.
  function addInTotalSumAssuredSC(address _add, bytes4 _curr, uint _amount) external onlyInternal {
    currencyCSAOfSCAdd[_add][_curr] = currencyCSAOfSCAdd[_add][_curr].add(_amount);
  }

  /// @dev Subtracts the amount from Total Sum Assured of a given currency and smart contract address.
  /// @param _add Smart Contract Address.
  /// @param _amount Amount to be subtracted.
  function subFromTotalSumAssuredSC(address _add, bytes4 _curr, uint _amount) external onlyInternal {
    currencyCSAOfSCAdd[_add][_curr] = currencyCSAOfSCAdd[_add][_curr].sub(_amount);
  }

  /// @dev Subtracts the amount from Total Sum Assured of a given currency.
  /// @param _curr Currency Name.
  /// @param _amount Amount to be subtracted.
  function subFromTotalSumAssured(bytes4 _curr, uint _amount) external onlyInternal {
    currencyCSA[_curr] = currencyCSA[_curr].sub(_amount);
  }

  /// @dev Adds the amount in Total Sum Assured of a given currency.
  /// @param _curr Currency Name.
  /// @param _amount Amount to be added.
  function addInTotalSumAssured(bytes4 _curr, uint _amount) external onlyInternal {
    currencyCSA[_curr] = currencyCSA[_curr].add(_amount);
  }

  /// @dev sets bit for timestamp to avoid replay attacks.
  function setTimestampRepeated(uint _timestamp) external onlyInternal {
    timestampRepeated[_timestamp] = true;
  }

  /// @dev Creates a blank new cover.
  function addCover(
    uint16 _coverPeriod,
    uint _sumAssured,
    address payable _userAddress,
    bytes4 _currencyCode,
    address _scAddress,
    uint premium,
    uint premiumNXM
  )
  external
  onlyInternal
  {
    uint expiryDate = now.add(uint(_coverPeriod).mul(1 days));
    allCovers.push(Cover(_userAddress, _currencyCode,
      _sumAssured, _coverPeriod, expiryDate, _scAddress, premiumNXM));
    uint cid = allCovers.length.sub(1);
    userCover[_userAddress].push(cid);
    emit CoverDetailsEvent(cid, _scAddress, _sumAssured, expiryDate, premium, premiumNXM, _currencyCode);
  }

  /// @dev create holded cover which will process after verdict of KYC.
  function addHoldCover(
    address payable from,
    address scAddress,
    bytes4 coverCurr,
    uint[] calldata coverDetails,
    uint16 coverPeriod
  )
  external
  onlyInternal
  {
    uint holdedCoverLen = allCoverHolded.length;
    holdedCoverIDStatus[holdedCoverLen] = uint(HCIDStatus.kycPending);
    allCoverHolded.push(HoldCover(holdedCoverLen, from, scAddress,
      coverCurr, coverDetails, coverPeriod));
    userHoldedCover[from].push(allCoverHolded.length.sub(1));

  }

  ///@dev sets refund eligible bit.
  ///@param _add user address.
  ///@param status indicates if user have pending kyc.
  function setRefundEligible(address _add, bool status) external onlyInternal {
    refundEligible[_add] = status;
  }

  /// @dev to set current status of particular holded coverID (1 for not completed KYC,
  /// 2 for KYC passed, 3 for failed KYC or full refunded,
  /// 4 for KYC completed but cover not processed)
  function setHoldedCoverIDStatus(uint holdedCoverID, uint status) external onlyInternal {
    holdedCoverIDStatus[holdedCoverID] = status;
  }

  /**
   * @dev to set address of kyc authentication
   * @param _add is the new address
   */
  function setKycAuthAddress(address _add) external onlyInternal {
    kycAuthAddress = _add;
  }

  /// @dev Changes authorised address for generating quote off chain.
  function changeAuthQuoteEngine(address _add) external onlyInternal {
    authQuoteEngine = _add;
  }

  /**
   * @dev Gets Uint Parameters of a code
   * @param code whose details we want
   * @return string value of the code
   * @return associated amount (time or perc or value) to the code
   */
  function getUintParameters(bytes8 code) external view returns (bytes8 codeVal, uint val) {
    codeVal = code;

    if (code == "STLP") {
      val = stlp;

    } else if (code == "STL") {

      val = stl;

    } else if (code == "PM") {

      val = pm;

    } else if (code == "QUOMIND") {

      val = minDays;

    } else if (code == "QUOTOK") {

      val = tokensRetained;

    }

  }

  /// @dev Gets Product details.
  /// @return  _minDays minimum cover period.
  /// @return  _PM Profit margin.
  /// @return  _STL short term Load.
  /// @return  _STLP short term load period.
  function getProductDetails()
  external
  view
  returns (
    uint _minDays,
    uint _pm,
    uint _stl,
    uint _stlp
  )
  {

    _minDays = minDays;
    _pm = pm;
    _stl = stl;
    _stlp = stlp;
  }

  /// @dev Gets total number covers created till date.
  function getCoverLength() external view returns (uint len) {
    return (allCovers.length);
  }

  /// @dev Gets Authorised Engine address.
  function getAuthQuoteEngine() external view returns (address _add) {
    _add = authQuoteEngine;
  }

  /// @dev Gets the Total Sum Assured amount of a given currency.
  function getTotalSumAssured(bytes4 _curr) external view returns (uint amount) {
    amount = currencyCSA[_curr];
  }

  /// @dev Gets all the Cover ids generated by a given address.
  /// @param _add User's address.
  /// @return allCover array of covers.
  function getAllCoversOfUser(address _add) external view returns (uint[] memory allCover) {
    return (userCover[_add]);
  }

  /// @dev Gets total number of covers generated by a given address
  function getUserCoverLength(address _add) external view returns (uint len) {
    len = userCover[_add].length;
  }

  /// @dev Gets the status of a given cover.
  function getCoverStatusNo(uint _cid) external view returns (uint8) {
    return coverStatus[_cid];
  }

  /// @dev Gets the Cover Period (in days) of a given cover.
  function getCoverPeriod(uint _cid) external view returns (uint32 cp) {
    cp = allCovers[_cid].coverPeriod;
  }

  /// @dev Gets the Sum Assured Amount of a given cover.
  function getCoverSumAssured(uint _cid) external view returns (uint sa) {
    sa = allCovers[_cid].sumAssured;
  }

  /// @dev Gets the Currency Name in which a given cover is assured.
  function getCurrencyOfCover(uint _cid) external view returns (bytes4 curr) {
    curr = allCovers[_cid].currencyCode;
  }

  /// @dev Gets the validity date (timestamp) of a given cover.
  function getValidityOfCover(uint _cid) external view returns (uint date) {
    date = allCovers[_cid].validUntil;
  }

  /// @dev Gets Smart contract address of cover.
  function getscAddressOfCover(uint _cid) external view returns (uint, address) {
    return (_cid, allCovers[_cid].scAddress);
  }

  /// @dev Gets the owner address of a given cover.
  function getCoverMemberAddress(uint _cid) external view returns (address payable _add) {
    _add = allCovers[_cid].memberAddress;
  }

  /// @dev Gets the premium amount of a given cover in NXM.
  function getCoverPremiumNXM(uint _cid) external view returns (uint _premiumNXM) {
    _premiumNXM = allCovers[_cid].premiumNXM;
  }

  /// @dev Provides the details of a cover Id
  /// @param _cid cover Id
  /// @return memberAddress cover user address.
  /// @return scAddress smart contract Address
  /// @return currencyCode currency of cover
  /// @return sumAssured sum assured of cover
  /// @return premiumNXM premium in NXM
  function getCoverDetailsByCoverID1(
    uint _cid
  )
  external
  view
  returns (
    uint cid,
    address _memberAddress,
    address _scAddress,
    bytes4 _currencyCode,
    uint _sumAssured,
    uint premiumNXM
  )
  {
    return (
    _cid,
    allCovers[_cid].memberAddress,
    allCovers[_cid].scAddress,
    allCovers[_cid].currencyCode,
    allCovers[_cid].sumAssured,
    allCovers[_cid].premiumNXM
    );
  }

  /// @dev Provides details of a cover Id
  /// @param _cid cover Id
  /// @return status status of cover.
  /// @return sumAssured Sum assurance of cover.
  /// @return coverPeriod Cover Period of cover (in days).
  /// @return validUntil is validity of cover.
  function getCoverDetailsByCoverID2(
    uint _cid
  )
  external
  view
  returns (
    uint cid,
    uint8 status,
    uint sumAssured,
    uint16 coverPeriod,
    uint validUntil
  )
  {

    return (
    _cid,
    coverStatus[_cid],
    allCovers[_cid].sumAssured,
    allCovers[_cid].coverPeriod,
    allCovers[_cid].validUntil
    );
  }

  /// @dev Provides details of a holded cover Id
  /// @param _hcid holded cover Id
  /// @return scAddress SmartCover address of cover.
  /// @return coverCurr currency of cover.
  /// @return coverPeriod Cover Period of cover (in days).
  function getHoldedCoverDetailsByID1(
    uint _hcid
  )
  external
  view
  returns (
    uint hcid,
    address scAddress,
    bytes4 coverCurr,
    uint16 coverPeriod
  )
  {
    return (
    _hcid,
    allCoverHolded[_hcid].scAddress,
    allCoverHolded[_hcid].coverCurr,
    allCoverHolded[_hcid].coverPeriod
    );
  }

  /// @dev Gets total number holded covers created till date.
  function getUserHoldedCoverLength(address _add) external view returns (uint) {
    return userHoldedCover[_add].length;
  }

  /// @dev Gets holded cover index by index of user holded covers.
  function getUserHoldedCoverByIndex(address _add, uint index) external view returns (uint) {
    return userHoldedCover[_add][index];
  }

  /// @dev Provides the details of a holded cover Id
  /// @param _hcid holded cover Id
  /// @return memberAddress holded cover user address.
  /// @return coverDetails array contains SA, Cover Currency Price,Price in NXM, Expiration time of Qoute.
  function getHoldedCoverDetailsByID2(
    uint _hcid
  )
  external
  view
  returns (
    uint hcid,
    address payable memberAddress,
    uint[] memory coverDetails
  )
  {
    return (
    _hcid,
    allCoverHolded[_hcid].userAddress,
    allCoverHolded[_hcid].coverDetails
    );
  }

  /// @dev Gets the Total Sum Assured amount of a given currency and smart contract address.
  function getTotalSumAssuredSC(address _add, bytes4 _curr) external view returns (uint amount) {
    amount = currencyCSAOfSCAdd[_add][_curr];
  }

  //solhint-disable-next-line
  function changeDependentContractAddress() public {}

  /// @dev Changes the status of a given cover.
  /// @param _cid cover Id.
  /// @param _stat New status.
  function changeCoverStatusNo(uint _cid, uint8 _stat) public onlyInternal {
    coverStatus[_cid] = _stat;
    emit CoverStatusEvent(_cid, _stat);
  }

  /**
   * @dev Updates Uint Parameters of a code
   * @param code whose details we want to update
   * @param val value to set
   */
  function updateUintParameters(bytes8 code, uint val) public {

    require(ms.checkIsAuthToGoverned(msg.sender));
    if (code == "STLP") {
      _changeSTLP(val);

    } else if (code == "STL") {

      _changeSTL(val);

    } else if (code == "PM") {

      _changePM(val);

    } else if (code == "QUOMIND") {

      _changeMinDays(val);

    } else if (code == "QUOTOK") {

      _setTokensRetained(val);

    } else {

      revert("Invalid param code");
    }

  }

  /// @dev Changes the existing Profit Margin value
  function _changePM(uint _pm) internal {
    pm = _pm;
  }

  /// @dev Changes the existing Short Term Load Period (STLP) value.
  function _changeSTLP(uint _stlp) internal {
    stlp = _stlp;
  }

  /// @dev Changes the existing Short Term Load (STL) value.
  function _changeSTL(uint _stl) internal {
    stl = _stl;
  }

  /// @dev Changes the existing Minimum cover period (in days)
  function _changeMinDays(uint _days) internal {
    minDays = _days;
  }

  /**
   * @dev to set the the amount of tokens retained
   * @param val is the amount retained
   */
  function _setTokensRetained(uint val) internal {
    tokensRetained = val;
  }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_authQuoteAdd","type":"address"},{"internalType":"address","name":"_kycAuthAdd","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cid","type":"uint256"},{"indexed":false,"internalType":"address","name":"scAdd","type":"address"},{"indexed":false,"internalType":"uint256","name":"sumAssured","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expiry","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"premium","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"premiumNXM","type":"uint256"},{"indexed":false,"internalType":"bytes4","name":"curr","type":"bytes4"}],"name":"CoverDetailsEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cid","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"statusNum","type":"uint8"}],"name":"CoverStatusEvent","type":"event"},{"constant":false,"inputs":[{"internalType":"uint16","name":"_coverPeriod","type":"uint16"},{"internalType":"uint256","name":"_sumAssured","type":"uint256"},{"internalType":"address payable","name":"_userAddress","type":"address"},{"internalType":"bytes4","name":"_currencyCode","type":"bytes4"},{"internalType":"address","name":"_scAddress","type":"address"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"premiumNXM","type":"uint256"}],"name":"addCover","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"from","type":"address"},{"internalType":"address","name":"scAddress","type":"address"},{"internalType":"bytes4","name":"coverCurr","type":"bytes4"},{"internalType":"uint256[]","name":"coverDetails","type":"uint256[]"},{"internalType":"uint16","name":"coverPeriod","type":"uint16"}],"name":"addHoldCover","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes4","name":"_curr","type":"bytes4"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addInTotalSumAssured","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bytes4","name":"_curr","type":"bytes4"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addInTotalSumAssuredSC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint16","name":"_coverPeriod","type":"uint16"},{"internalType":"uint256","name":"_sumAssured","type":"uint256"},{"internalType":"address payable","name":"_userAddress","type":"address"},{"internalType":"bytes4","name":"_currencyCode","type":"bytes4"},{"internalType":"address","name":"_scAddress","type":"address"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"premiumNXM","type":"uint256"}],"name":"addV1Cover","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authQuoteEngine","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_add","type":"address"}],"name":"changeAuthQuoteEngine","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"},{"internalType":"uint8","name":"_stat","type":"uint8"}],"name":"changeCoverStatusNo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"changeDependentContractAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_masterAddress","type":"address"}],"name":"changeMasterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"coverStatus","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_add","type":"address"}],"name":"getAllCoversOfUser","outputs":[{"internalType":"uint256[]","name":"allCover","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAuthQuoteEngine","outputs":[{"internalType":"address","name":"_add","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverDetailsByCoverID1","outputs":[{"internalType":"uint256","name":"cid","type":"uint256"},{"internalType":"address","name":"_memberAddress","type":"address"},{"internalType":"address","name":"_scAddress","type":"address"},{"internalType":"bytes4","name":"_currencyCode","type":"bytes4"},{"internalType":"uint256","name":"_sumAssured","type":"uint256"},{"internalType":"uint256","name":"premiumNXM","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverDetailsByCoverID2","outputs":[{"internalType":"uint256","name":"cid","type":"uint256"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"uint256","name":"sumAssured","type":"uint256"},{"internalType":"uint16","name":"coverPeriod","type":"uint16"},{"internalType":"uint256","name":"validUntil","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCoverLength","outputs":[{"internalType":"uint256","name":"len","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverMemberAddress","outputs":[{"internalType":"address payable","name":"_add","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverPeriod","outputs":[{"internalType":"uint32","name":"cp","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverPremiumNXM","outputs":[{"internalType":"uint256","name":"_premiumNXM","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverStatusNo","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCoverSumAssured","outputs":[{"internalType":"uint256","name":"sa","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getCurrencyOfCover","outputs":[{"internalType":"bytes4","name":"curr","type":"bytes4"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_hcid","type":"uint256"}],"name":"getHoldedCoverDetailsByID1","outputs":[{"internalType":"uint256","name":"hcid","type":"uint256"},{"internalType":"address","name":"scAddress","type":"address"},{"internalType":"bytes4","name":"coverCurr","type":"bytes4"},{"internalType":"uint16","name":"coverPeriod","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_hcid","type":"uint256"}],"name":"getHoldedCoverDetailsByID2","outputs":[{"internalType":"uint256","name":"hcid","type":"uint256"},{"internalType":"address payable","name":"memberAddress","type":"address"},{"internalType":"uint256[]","name":"coverDetails","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getProductDetails","outputs":[{"internalType":"uint256","name":"_minDays","type":"uint256"},{"internalType":"uint256","name":"_pm","type":"uint256"},{"internalType":"uint256","name":"_stl","type":"uint256"},{"internalType":"uint256","name":"_stlp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes4","name":"_curr","type":"bytes4"}],"name":"getTotalSumAssured","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bytes4","name":"_curr","type":"bytes4"}],"name":"getTotalSumAssuredSC","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes8","name":"code","type":"bytes8"}],"name":"getUintParameters","outputs":[{"internalType":"bytes8","name":"codeVal","type":"bytes8"},{"internalType":"uint256","name":"val","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_add","type":"address"}],"name":"getUserCoverLength","outputs":[{"internalType":"uint256","name":"len","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserHoldedCoverByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_add","type":"address"}],"name":"getUserHoldedCoverLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getValidityOfCover","outputs":[{"internalType":"uint256","name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_cid","type":"uint256"}],"name":"getscAddressOfCover","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holdedCoverIDStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kycAuthAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minDays","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ms","outputs":[{"internalType":"contract ISAFURAMaster","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nxMasterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"refundEligible","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"holdedCoverID","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"}],"name":"setHoldedCoverIDStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_add","type":"address"}],"name":"setKycAuthAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setRefundEligible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"setTimestampRepeated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stlp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes4","name":"_curr","type":"bytes4"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"subFromTotalSumAssured","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bytes4","name":"_curr","type":"bytes4"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"subFromTotalSumAssuredSC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"timestampRepeated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensRetained","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes8","name":"code","type":"bytes8"},{"internalType":"uint256","name":"val","type":"uint256"}],"name":"updateUintParameters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userHoldedCover","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061030c5760003560e01c80638970cdff1161019d578063c60781bd116100e9578063e8d3ae9c116100a2578063f17a3bec1161007c578063f17a3bec14610bb6578063f3ab26cc14610bbe578063f63a87d414610bc6578063fe7cfbfc14610bf45761030c565b8063e8d3ae9c14610b7a578063e8f5fb1c14610b82578063f0bd022214610b8a5761030c565b8063c60781bd14610a0a578063cc41241c14610a30578063d46655f414610ac1578063de75b5ea14610ae7578063df09fea714610b0d578063e2c2a5bb14610b725761030c565b8063a0b2d57f11610156578063ae1c5eca11610130578063ae1c5eca1461098d578063b1351bfd146109b3578063ba38de35146109d0578063baaa46f9146109ed5761030c565b8063a0b2d57f1461092c578063a2c6bc2514610934578063a2fd8262146109615761030c565b80638970cdff146107f45780638b5722f4146107fc5780638ce80a65146108365780638d16a10514610890578063922fd67f146108ce5780639dd86e0f146108ff5761030c565b80634b2cc0a11161025c57806367157ff011610215578063811833a8116101ef578063811833a81461075d57806381d760ae1461079357806383fa9585146107cf57806384434b9f146107ec5761030c565b806367157ff0146107155780636e13d8c51461071d578063711acf86146107405761030c565b80634b2cc0a1146105e85780635444ca751461061b578063544ef03d14610651578063549a65f41461067757806360a230e71461069d5780636122f840146106ca5761030c565b80632cbeeaae116102c95780633994b3d5116102a35780633994b3d5146104f45780633c2d4daf146105305780633d5732a3146105695780633f77ea65146105905761030c565b80632cbeeaae146104445780632ce65f5a1461049e5780633327a2fa146104a65761030c565b80630ea9c984146103115780631407264b1461031b5780631ce48f3d1461034157806323bc839b1461037057806328111dd81461039e578063292ad50a146103a6575b600080fd5b610319610c6a565b005b6103196004803603602081101561033157600080fd5b50356001600160a01b0316610c6c565b61035e6004803603602081101561035757600080fd5b5035610d0e565b60408051918252519081900360200190f35b610378610d36565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61035e610d4a565b610319600480360360a08110156103bc57600080fd5b6001600160a01b0382358116926020810135909116916001600160e01b0319604083013516919081019060808101606082013564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184602083028401116401000000008311171561043557600080fd5b91935091503561ffff16610d50565b610319600480360360e081101561045a57600080fd5b5061ffff813516906020810135906001600160a01b0360408201358116916001600160e01b0319606082013516916080820135169060a08101359060c00135610f62565b61035e611186565b6104c3600480360360208110156104bc57600080fd5b503561118c565b6040805195865260ff90941660208601528484019290925261ffff1660608401526080830152519081900360a00190f35b6103196004803603606081101561050a57600080fd5b506001600160a01b03813516906001600160e01b0319602082013516906040013561122a565b61054d6004803603602081101561054657600080fd5b5035611320565b604080516001600160a01b039092168252519081900360200190f35b61035e6004803603602081101561057f57600080fd5b50356001600160e01b03191661134f565b6105ad600480360360208110156105a657600080fd5b503561136b565b604080519485526001600160a01b0390931660208501526001600160e01b03199091168383015261ffff166060830152519081900360800190f35b610605600480360360208110156105fe57600080fd5b5035611405565b6040805160ff9092168252519081900360200190f35b61035e6004803603604081101561063157600080fd5b5080356001600160a01b031690602001356001600160e01b03191661141a565b61035e6004803603602081101561066757600080fd5b50356001600160a01b031661144c565b6103196004803603602081101561068d57600080fd5b50356001600160a01b0316611467565b610319600480360360408110156106b357600080fd5b506001600160e01b03198135169060200135611509565b6106f1600480360360208110156106e057600080fd5b50356001600160c01b0319166115d4565b604080516001600160c01b0319909316835260208301919091528051918290030190f35b61035e611684565b6103196004803603604081101561073357600080fd5b508035906020013561168b565b61035e6004803603602081101561075657600080fd5b503561171d565b61077a6004803603602081101561077357600080fd5b5035611745565b6040805163ffffffff9092168252519081900360200190f35b610319600480360360608110156107a957600080fd5b506001600160a01b03813516906001600160e01b03196020820135169060400135611772565b610319600480360360208110156107e557600080fd5b5035611830565b61054d6118cb565b61035e6118da565b6108196004803603602081101561081257600080fd5b50356118e0565b604080516001600160e01b03199092168252519081900360200190f35b610319600480360360e081101561084c57600080fd5b5061ffff813516906020810135906001600160a01b0360408201358116916001600160e01b0319606082013516916080820135169060a08101359060c00135611910565b6108ad600480360360208110156108a657600080fd5b5035611990565b604080519283526001600160a01b0390911660208301528051918290030190f35b6108eb600480360360208110156108e457600080fd5b50356119c8565b604080519115158252519081900360200190f35b6103196004803603604081101561091557600080fd5b506001600160c01b031981351690602001356119dd565b61054d611b54565b6103196004803603604081101561094a57600080fd5b506001600160e01b03198135169060200135611b63565b61035e6004803603604081101561097757600080fd5b506001600160a01b038135169060200135611c0d565b610319600480360360408110156109a357600080fd5b508035906020013560ff16611c3b565b610605600480360360208110156109c957600080fd5b5035611d13565b61035e600480360360208110156109e657600080fd5b5035611d28565b61035e60048036036020811015610a0357600080fd5b5035611d50565b61035e60048036036020811015610a2057600080fd5b50356001600160a01b0316611d62565b610a4d60048036036020811015610a4657600080fd5b5035611d7d565b60405180848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610aab578181015183820152602001610a93565b5050505090500194505050505060405180910390f35b61031960048036036020811015610ad757600080fd5b50356001600160a01b0316611e32565b6108eb60048036036020811015610afd57600080fd5b50356001600160a01b0316611ebb565b610b2a60048036036020811015610b2357600080fd5b5035611ed0565b604080519687526001600160a01b03958616602088015293909416858401526001600160e01b03199091166060850152608084015260a0830191909152519081900360c00190f35b61054d611fb7565b61054d611fc6565b61035e611fd5565b61035e60048036036040811015610ba057600080fd5b506001600160a01b038135169060200135611fdb565b61054d612013565b61035e612022565b61031960048036036040811015610bdc57600080fd5b506001600160a01b0381351690602001351515612028565b610c1a60048036036020811015610c0a57600080fd5b50356001600160a01b03166120d3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610c56578181015183820152602001610c3e565b505050509050019250505060405180910390f35b565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610cb757600080fd5b505afa158015610ccb573d6000803e3d6000fd5b505050506040513d6020811015610ce157600080fd5b5051610cec57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000600b8281548110610d1d57fe5b9060005260206000209060060201600101549050919050565b601054600f54600e54600d54929391929091565b600e5481565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610d9b57600080fd5b505afa158015610daf573d6000803e3d6000fd5b505050506040513d6020811015610dc557600080fd5b5051610dd057600080fd5b600c5460016009600083815260200190815260200160002081905550600c6040518060c00160405280838152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160e01b0319168152602001868680806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093855250505061ffff8616602092830152835460018181018087559583529183902084516005909202019081558383015191810180546001600160a01b039384166001600160a01b0319918216179091556040850151600283018054606088015160e01c600160a01b0263ffffffff60a01b19939096169316929092171692909217909155608083015180519192610efc926003850192909101906122eb565b5060a091909101516004909101805461ffff191661ffff909216919091179055506001600160a01b0387166000908152600560205260409020600c54610f4390600161213f565b8154600181018355600092835260209092209091015550505050505050565b6000610f8b610f7e61ffff8a166201518063ffffffff61218816565b429063ffffffff6121e116565b9050600b6040518060e00160405280886001600160a01b03168152602001876001600160e01b03191681526020018981526020018a61ffff168152602001838152602001866001600160a01b03168152602001848152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908360e01c02179055506040820151816001015560608201518160020160006101000a81548161ffff021916908361ffff1602179055506080820151816003015560a08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816005015550505060006110ea6001600b8054905061213f90919063ffffffff16565b6001600160a01b0380891660009081526004602090815260408083208054600181018255908452928290209092018490558151928916835282018b905281810185905260608201879052608082018690526001600160e01b0319891660a08301525191925082917f535c0318711210e1ce39e443c5948dd7fa396c2774d0949812fcb74800e227309181900360c00190a2505050505050505050565b600d5481565b600081815260086020526040812054600b80548392839283928392889260ff90911691839081106111b957fe5b906000526020600020906006020160010154600b89815481106111d857fe5b906000526020600020906006020160020160009054906101000a900461ffff16600b8a8154811061120557fe5b9060005260206000209060060201600301549450945094509450945091939590929450565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561127557600080fd5b505afa158015611289573d6000803e3d6000fd5b505050506040513d602081101561129f57600080fd5b50516112aa57600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b0319861684529091529020546112e8908263ffffffff6121e116565b6001600160a01b0390931660009081526007602090815260408083206001600160e01b03199095168352939052919091209190915550565b6000600b828154811061132f57fe5b60009182526020909120600690910201546001600160a01b031692915050565b6001600160e01b03191660009081526003602052604090205490565b60008060008084600c868154811061137f57fe5b906000526020600020906005020160020160009054906101000a90046001600160a01b0316600c87815481106113b157fe5b906000526020600020906005020160020160149054906101000a900460e01b600c88815481106113dd57fe5b60009182526020909120600590910201600401549298919750955061ffff9091169350915050565b60009081526008602052604090205460ff1690565b6001600160a01b0390911660009081526007602090815260408083206001600160e01b03199094168352929052205490565b6001600160a01b031660009081526004602052604090205490565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156114b257600080fd5b505afa1580156114c6573d6000803e3d6000fd5b505050506040513d60208110156114dc57600080fd5b50516114e757600080fd5b601280546001600160a01b0319166001600160a01b0392909216919091179055565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d602081101561157e57600080fd5b505161158957600080fd5b6001600160e01b031982166000908152600360205260409020546115b3908263ffffffff61213f16565b6001600160e01b031990921660009081526003602052604090209190915550565b80600063053544c560e41b6001600160c01b0319831614156115f95750600d5461167f565b6214d51360ea1b6001600160c01b03198416141561161a5750600e5461167f565b61504d60f01b6001600160c01b03198416141561163a5750600f5461167f565b66145553d352539160ca1b6001600160c01b03198416141561165f575060105461167f565b6551554f544f4b60d01b6001600160c01b03198416141561167f57506011545b915091565b600b545b90565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156116d657600080fd5b505afa1580156116ea573d6000803e3d6000fd5b505050506040513d602081101561170057600080fd5b505161170b57600080fd5b60009182526009602052604090912055565b6000600b828154811061172c57fe5b9060005260206000209060060201600301549050919050565b6000600b828154811061175457fe5b600091825260209091206002600690920201015461ffff1692915050565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156117bd57600080fd5b505afa1580156117d1573d6000803e3d6000fd5b505050506040513d60208110156117e757600080fd5b50516117f257600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b0319861684529091529020546112e8908263ffffffff61213f16565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561187b57600080fd5b505afa15801561188f573d6000803e3d6000fd5b505050506040513d60208110156118a557600080fd5b50516118b057600080fd5b6000908152600a60205260409020805460ff19166001179055565b6012546001600160a01b031681565b600f5481565b6000600b82815481106118ef57fe5b6000918252602090912060069091020154600160a01b900460e01b92915050565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561195b57600080fd5b505afa15801561196f573d6000803e3d6000fd5b505050506040513d602081101561198557600080fd5b5051610f6257600080fd5b60008082600b84815481106119a157fe5b60009182526020909120600460069092020101549092506001600160a01b03169050915091565b600a6020526000908152604090205460ff1681565b60005460408051632c1a733d60e11b815233600482015290516001600160a01b0390921691635834e67a91602480820192602092909190829003018186803b158015611a2857600080fd5b505afa158015611a3c573d6000803e3d6000fd5b505050506040513d6020811015611a5257600080fd5b5051611a5d57600080fd5b63053544c560e41b6001600160c01b031983161415611a8457611a7f8161223b565b611b50565b6214d51360ea1b6001600160c01b031983161415611aa557611a7f81612240565b61504d60f01b6001600160c01b031983161415611ac557611a7f81612245565b66145553d352539160ca1b6001600160c01b031983161415611aea57611a7f8161224a565b6551554f544f4b60d01b6001600160c01b031983161415611b0e57611a7f8161224f565b6040805162461bcd60e51b8152602060048201526012602482015271496e76616c696420706172616d20636f646560701b604482015290519081900360640190fd5b5050565b6000546001600160a01b031681565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611bae57600080fd5b505afa158015611bc2573d6000803e3d6000fd5b505050506040513d6020811015611bd857600080fd5b5051611be357600080fd5b6001600160e01b031982166000908152600360205260409020546115b3908263ffffffff6121e116565b60056020528160005260406000208181548110611c2657fe5b90600052602060002001600091509150505481565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611c8657600080fd5b505afa158015611c9a573d6000803e3d6000fd5b505050506040513d6020811015611cb057600080fd5b5051611cbb57600080fd5b600082815260086020908152604091829020805460ff191660ff85169081179091558251908152915184927f7f1cec39abbda212a819b9165ccfc4064f73eb454b052a312807b2270067a53d92908290030190a25050565b60086020526000908152604090205460ff1681565b6000600b8281548110611d3757fe5b9060005260206000209060060201600501549050919050565b60096020526000908152604090205481565b6001600160a01b031660009081526005602052604090205490565b600080606083600c8581548110611d9057fe5b906000526020600020906005020160010160009054906101000a90046001600160a01b0316600c8681548110611dc257fe5b906000526020600020906005020160030180805480602002602001604051908101604052809291908181526020018280548015611e1e57602002820191906000526020600020905b815481526020019060010190808311611e0a575b505050505090509250925092509193909250565b6000546001600160a01b031615611e8f576000546001600160a01b03163314611e8f576040805162461bcd60e51b815260206004820152600a6024820152692737ba1036b0b9ba32b960b11b604482015290519081900360640190fd5b600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b60066020526000908152604090205460ff1681565b60008060008060008086600b8881548110611ee757fe5b6000918252602090912060069091020154600b80546001600160a01b03909216918a908110611f1257fe5b906000526020600020906006020160040160009054906101000a90046001600160a01b0316600b8a81548110611f4457fe5b906000526020600020906006020160000160149054906101000a900460e01b600b8b81548110611f7057fe5b906000526020600020906006020160010154600b8c81548110611f8f57fe5b6000918252602090912060056006909202010154949c939b5091995097509550909350915050565b6002546001600160a01b031681565b6002546001600160a01b031690565b60105481565b6001600160a01b0382166000908152600560205260408120805483908110611fff57fe5b906000526020600020015490505b92915050565b6001546001600160a01b031681565b60115481565b600054604080516323c5b10760e21b815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561207357600080fd5b505afa158015612087573d6000803e3d6000fd5b505050506040513d602081101561209d57600080fd5b50516120a857600080fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526004602090815260409182902080548351818402810184019094528084526060939283018282801561213357602002820191906000526020600020905b81548152602001906001019080831161211f575b50505050509050919050565b600061218183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612254565b9392505050565b6000826121975750600061200d565b828202828482816121a457fe5b04146121815760405162461bcd60e51b81526004018080602001828103825260218152602001806123516021913960400191505060405180910390fd5b600082820183811015612181576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600d55565b600e55565b600f55565b601055565b601155565b600081848411156122e35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122a8578181015183820152602001612290565b50505050905090810190601f1680156122d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b828054828255906000526020600020908101928215612326579160200282015b8281111561232657825182559160200191906001019061230b565b50612332929150612336565b5090565b61168891905b80821115612332576000815560010161233c56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203aafb81615dbf1ae2ab7ec444f4f1c960877a0b283ba74cef69c14248ca43d2e64736f6c63430005110032

Block Transaction 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
[ 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.