ETH Price: $2,275.44 (-8.30%)

Contract

0x1776651F58a17a50098d31ba3C3cD259C1903f7A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
219313102025-02-26 15:09:355 days ago1740582575
0x1776651F...9C1903f7A
0 ETH
218656412025-02-17 10:55:4714 days ago1739789747
0x1776651F...9C1903f7A
0 ETH
216301362025-01-15 13:19:4747 days ago1736947187
0x1776651F...9C1903f7A
0 ETH
214251112024-12-17 22:02:1175 days ago1734472931
0x1776651F...9C1903f7A
0 ETH
214087272024-12-15 15:11:1178 days ago1734275471
0x1776651F...9C1903f7A
0 ETH
213579822024-12-08 13:10:3585 days ago1733663435
0x1776651F...9C1903f7A
0 ETH
213423602024-12-06 8:47:5987 days ago1733474879
0x1776651F...9C1903f7A
0 ETH
213365432024-12-05 13:18:1188 days ago1733404691
0x1776651F...9C1903f7A
0 ETH
213230562024-12-03 16:05:2390 days ago1733241923
0x1776651F...9C1903f7A
0 ETH
213203002024-12-03 6:50:5990 days ago1733208659
0x1776651F...9C1903f7A
0 ETH
212536782024-11-23 23:19:3599 days ago1732403975
0x1776651F...9C1903f7A
0 ETH
212462432024-11-22 22:25:59100 days ago1732314359
0x1776651F...9C1903f7A
0 ETH
212397312024-11-22 0:36:47101 days ago1732235807
0x1776651F...9C1903f7A
0 ETH
212247032024-11-19 22:15:23103 days ago1732054523
0x1776651F...9C1903f7A
0 ETH
212139882024-11-18 10:25:11105 days ago1731925511
0x1776651F...9C1903f7A
0 ETH
211931332024-11-15 12:35:59108 days ago1731674159
0x1776651F...9C1903f7A
0 ETH
211535002024-11-09 23:51:47113 days ago1731196307
0x1776651F...9C1903f7A
0 ETH
210275032024-10-23 9:50:47131 days ago1729677047
0x1776651F...9C1903f7A
0 ETH
208633892024-09-30 12:12:11154 days ago1727698331
0x1776651F...9C1903f7A
0 ETH
208376172024-09-26 21:56:23157 days ago1727387783
0x1776651F...9C1903f7A
0 ETH
206541022024-09-01 7:02:59183 days ago1725174179
0x1776651F...9C1903f7A
0 ETH
205905502024-08-23 9:57:11192 days ago1724407031
0x1776651F...9C1903f7A
0 ETH
204200702024-07-30 14:49:11216 days ago1722350951
0x1776651F...9C1903f7A
0 ETH
204198902024-07-30 14:12:59216 days ago1722348779
0x1776651F...9C1903f7A
0 ETH
201929042024-06-28 21:34:59247 days ago1719610499
0x1776651F...9C1903f7A
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
QuotationData

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Multiple files format)

File 1 of 4: QuotationData.sol
/* Copyright (C) 2017 NexusMutual.io

  This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

  This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
    along with this program.  If not, see http://www.gnu.org/licenses/ */

pragma solidity 0.5.7;

import "./Iupgradable.sol";
import "./SafeMath.sol";


contract QuotationData is Iupgradable {
    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;
    }
}

File 2 of 4: INXMMaster.sol
/* Copyright (C) 2017 NexusMutual.io

  This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

  This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
    along with this program.  If not, see http://www.gnu.org/licenses/ */

pragma solidity 0.5.7;


contract INXMMaster {

    address public tokenAddress;

    address public owner;


    uint public pauseTime;

    function delegateCallBack(bytes32 myid) external;

    function masterInitialized() public view returns(bool);
    
    function isInternal(address _add) public view returns(bool);

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

    function isOwner(address _add) public view returns(bool);

    function isMember(address _add) public view returns(bool);
    
    function checkIsAuthToGoverned(address _add) public view returns(bool);

    function updatePauseTime(uint _time) public;

    function dAppLocker() public view returns(address _add);

    function dAppToken() public view returns(address _add);

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

File 3 of 4: Iupgradable.sol
pragma solidity 0.5.7;

import "./INXMMaster.sol";


contract Iupgradable {

    INXMMaster public ms;
    address public nxMasterAddress;

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

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

    modifier onlyOwner {
        require(ms.isOwner(msg.sender));
        _;
    }

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

    modifier isMember {
        require(ms.isMember(msg.sender), "Not member");
        _;
    }

    /**
     * @dev Iupgradable Interface to update dependent contract address
     */
    function  changeDependentContractAddress() public;

    /**
     * @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 = INXMMaster(_masterAddress);
        nxMasterAddress = _masterAddress;
    }

}

File 4 of 4: SafeMath.sol
pragma solidity 0.5.7;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, reverts on 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-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
    * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0); // Solidity only automatically asserts when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
    * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two numbers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
    * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

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

60806040523480156200001157600080fd5b506040516040806200268d833981018060405260408110156200003357600080fd5b81019080805190602001909291908051906020019092919050505081600260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080601260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550605a600d819055506064600e81905550601e600f81905550601e601081905550600a601181905550600b6040518060e0016040528060006001600160a01b031681526020017f30783030000000000000000000000000000000000000000000000000000000006001600160e01b031916815260200160008152602001600061ffff1681526020016000815260200160006001600160a01b0316815260200160008152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908360e01c02179055506040820151816001015560608201518160020160006101000a81548161ffff021916908361ffff1602179055506080820151816003015560a08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c08201518160050155505050606060016040519080825280602002602001820160405280156200025a578160200160208202803883390190505b506040805160c08101825260008082526020808301828152938301828152606084018381526080850187815260a08601859052600c8054600181018083559190965286517fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7600590970296870190815597517fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c8870180546001600160a01b03199081166001600160a01b039384161790915594517fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c988018054955195909616911617600160a01b63ffffffff0219167401000000000000000000000000000000000000000060e09490941c9390930292909217909255905180519697509095939493620003af937fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8ca01929190910190620003da565b5060a091909101516004909101805461ffff191661ffff909216919091179055506200044a92505050565b82805482825590600052602060002090810192821562000418579160200282015b8281111562000418578251825591602001919060010190620003fb565b50620004269291506200042a565b5090565b6200044791905b8082111562000426576000815560010162000431565b90565b612233806200045a6000396000f3fe608060405234801561001057600080fd5b50600436106102f15760003560e01c80638970cdff1161019d578063c60781bd116100e9578063e8d3ae9c116100a2578063f17a3bec1161007c578063f17a3bec14610b41578063f3ab26cc14610b49578063f63a87d414610b51578063fe7cfbfc14610b7f576102f1565b8063e8d3ae9c14610b05578063e8f5fb1c14610b0d578063f0bd022214610b15576102f1565b8063c60781bd14610995578063cc41241c146109bb578063d46655f414610a4c578063de75b5ea14610a72578063df09fea714610a98578063e2c2a5bb14610afd576102f1565b8063a0b2d57f11610156578063ae1c5eca11610130578063ae1c5eca14610918578063b1351bfd1461093e578063ba38de351461095b578063baaa46f914610978576102f1565b8063a0b2d57f146108b7578063a2c6bc25146108bf578063a2fd8262146108ec576102f1565b80638970cdff1461077f5780638b5722f4146107875780638ce80a65146107c15780638d16a1051461081b578063922fd67f146108595780639dd86e0f1461088a576102f1565b80634b2cc0a11161025c57806367157ff011610215578063811833a8116101ef578063811833a8146106e857806381d760ae1461071e57806383fa95851461075a57806384434b9f14610777576102f1565b806367157ff0146106a05780636e13d8c5146106a8578063711acf86146106cb576102f1565b80634b2cc0a1146105735780635444ca75146105a6578063544ef03d146105dc578063549a65f41461060257806360a230e7146106285780636122f84014610655576102f1565b80632ce65f5a116102ae5780632ce65f5a146104295780633327a2fa146104315780633994b3d51461047f5780633c2d4daf146104bb5780633d5732a3146104f45780633f77ea651461051b576102f1565b80630ea9c984146102f65780631407264b146103005780631ce48f3d1461032657806323bc839b1461035557806328111dd814610383578063292ad50a1461038b575b600080fd5b6102fe610bf5565b005b6102fe6004803603602081101561031657600080fd5b50356001600160a01b0316610bf7565b6103436004803603602081101561033c57600080fd5b5035610c9c565b60408051918252519081900360200190f35b61035d610cc4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b610343610cd8565b6102fe600480360360a08110156103a157600080fd5b6001600160a01b0382358116926020810135909116916001600160e01b031960408301351691908101906080810160608201356401000000008111156103e657600080fd5b8201836020820111156103f857600080fd5b8035906020019184602083028401116401000000008311171561041a57600080fd5b91935091503561ffff16610cde565b610343610f04565b61044e6004803603602081101561044757600080fd5b5035610f0a565b6040805195865260ff90941660208601528484019290925261ffff1660608401526080830152519081900360a00190f35b6102fe6004803603606081101561049557600080fd5b506001600160a01b03813516906001600160e01b03196020820135169060400135610fa8565b6104d8600480360360208110156104d157600080fd5b50356110a1565b604080516001600160a01b039092168252519081900360200190f35b6103436004803603602081101561050a57600080fd5b50356001600160e01b0319166110d0565b6105386004803603602081101561053157600080fd5b50356110ec565b604080519485526001600160a01b0390931660208501526001600160e01b03199091168383015261ffff166060830152519081900360800190f35b6105906004803603602081101561058957600080fd5b5035611186565b6040805160ff9092168252519081900360200190f35b610343600480360360408110156105bc57600080fd5b5080356001600160a01b031690602001356001600160e01b03191661119b565b610343600480360360208110156105f257600080fd5b50356001600160a01b03166111cd565b6102fe6004803603602081101561061857600080fd5b50356001600160a01b03166111e8565b6102fe6004803603604081101561063e57600080fd5b506001600160e01b0319813516906020013561128d565b61067c6004803603602081101561066b57600080fd5b50356001600160c01b03191661135b565b604080516001600160c01b0319909316835260208301919091528051918290030190f35b61034361141a565b6102fe600480360360408110156106be57600080fd5b5080359060200135611421565b610343600480360360208110156106e157600080fd5b50356114b6565b610705600480360360208110156106fe57600080fd5b50356114de565b6040805163ffffffff9092168252519081900360200190f35b6102fe6004803603606081101561073457600080fd5b506001600160a01b03813516906001600160e01b0319602082013516906040013561150b565b6102fe6004803603602081101561077057600080fd5b50356115cc565b6104d861166a565b610343611679565b6107a46004803603602081101561079d57600080fd5b503561167f565b604080516001600160e01b03199092168252519081900360200190f35b6102fe600480360360e08110156107d757600080fd5b5061ffff813516906020810135906001600160a01b0360408201358116916001600160e01b0319606082013516916080820135169060a08101359060c001356116af565b6108386004803603602081101561083157600080fd5b5035611956565b604080519283526001600160a01b0390911660208301528051918290030190f35b6108766004803603602081101561086f57600080fd5b503561198e565b604080519115158252519081900360200190f35b6102fe600480360360408110156108a057600080fd5b506001600160c01b031981351690602001356119a3565b6104d8611b3a565b6102fe600480360360408110156108d557600080fd5b506001600160e01b03198135169060200135611b49565b6103436004803603604081101561090257600080fd5b506001600160a01b038135169060200135611bf6565b6102fe6004803603604081101561092e57600080fd5b508035906020013560ff16611c24565b6105906004803603602081101561095457600080fd5b5035611cff565b6103436004803603602081101561097157600080fd5b5035611d14565b6103436004803603602081101561098e57600080fd5b5035611d3c565b610343600480360360208110156109ab57600080fd5b50356001600160a01b0316611d4e565b6109d8600480360360208110156109d157600080fd5b5035611d69565b60405180848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a36578181015183820152602001610a1e565b5050505090500194505050505060405180910390f35b6102fe60048036036020811015610a6257600080fd5b50356001600160a01b0316611e1e565b61087660048036036020811015610a8857600080fd5b50356001600160a01b0316611ead565b610ab560048036036020811015610aae57600080fd5b5035611ec2565b604080519687526001600160a01b03958616602088015293909416858401526001600160e01b03199091166060850152608084015260a0830191909152519081900360c00190f35b6104d8611fa9565b6104d8611fb8565b610343611fc7565b61034360048036036040811015610b2b57600080fd5b506001600160a01b038135169060200135611fcd565b6104d8612005565b610343612014565b6102fe60048036036040811015610b6757600080fd5b506001600160a01b038135169060200135151561201a565b610ba560048036036020811015610b9557600080fd5b50356001600160a01b03166120c8565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610be1578181015183820152602001610bc9565b505050509050019250505060405180910390f35b565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610c4557600080fd5b505afa158015610c59573d6000803e3d6000fd5b505050506040513d6020811015610c6f57600080fd5b5051610c7a57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000600b8281548110610cab57fe5b9060005260206000209060060201600101549050919050565b601054600f54600e54600d54929391929091565b600e5481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b5051610d6157600080fd5b600c5460016009600083815260200190815260200160002081905550600c6040518060c00160405280838152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160e01b0319168152602001868680806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093855250505061ffff8616602092830152835460018181018087559583529183902084516005909202019081558383015191810180546001600160a01b039384166001600160a01b0319918216179091556040850151600283018054606088015160e01c600160a01b0277ffffffff000000000000000000000000000000000000000019939096169316929092171692909217909155608083015180519192610e9e926003850192909101906121a2565b5060a091909101516004909101805461ffff191661ffff909216919091179055506001600160a01b0387166000908152600560205260409020600c54610ee5906001612134565b8154600181018355600092835260209092209091015550505050505050565b600d5481565b600081815260086020526040812054600b80548392839283928392889260ff9091169183908110610f3757fe5b906000526020600020906006020160010154600b8981548110610f5657fe5b906000526020600020906006020160020160009054906101000a900461ffff16600b8a81548110610f8357fe5b9060005260206000209060060201600301549450945094509450945091939590929450565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d602081101561102057600080fd5b505161102b57600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b031986168452909152902054611069908263ffffffff61214916565b6001600160a01b0390931660009081526007602090815260408083206001600160e01b03199095168352939052919091209190915550565b6000600b82815481106110b057fe5b60009182526020909120600690910201546001600160a01b031692915050565b6001600160e01b03191660009081526003602052604090205490565b60008060008084600c868154811061110057fe5b906000526020600020906005020160020160009054906101000a90046001600160a01b0316600c878154811061113257fe5b906000526020600020906005020160020160149054906101000a900460e01b600c888154811061115e57fe5b60009182526020909120600590910201600401549298919750955061ffff9091169350915050565b60009081526008602052604090205460ff1690565b6001600160a01b0390911660009081526007602090815260408083206001600160e01b03199094168352929052205490565b6001600160a01b031660009081526004602052604090205490565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561123657600080fd5b505afa15801561124a573d6000803e3d6000fd5b505050506040513d602081101561126057600080fd5b505161126b57600080fd5b601280546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b505161131057600080fd5b6001600160e01b0319821660009081526003602052604090205461133a908263ffffffff61213416565b6001600160e01b031990921660009081526003602052604090209190915550565b806000600160e41b63053544c5026001600160c01b0319831614156113835750600d54611415565b600160ea1b6214d513026001600160c01b0319841614156113a75750600e54611415565b600160f01b61504d026001600160c01b0319841614156113ca5750600f54611415565b600160ca1b66145553d3525391026001600160c01b0319841614156113f25750601054611415565b600160d01b6551554f544f4b026001600160c01b03198416141561141557506011545b915091565b600b545b90565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b50516114a457600080fd5b60009182526009602052604090912055565b6000600b82815481106114c557fe5b9060005260206000209060060201600301549050919050565b6000600b82815481106114ed57fe5b600091825260209091206002600690920201015461ffff1692915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561155957600080fd5b505afa15801561156d573d6000803e3d6000fd5b505050506040513d602081101561158357600080fd5b505161158e57600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b031986168452909152902054611069908263ffffffff61213416565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505161164f57600080fd5b6000908152600a60205260409020805460ff19166001179055565b6012546001600160a01b031681565b600f5481565b6000600b828154811061168e57fe5b6000918252602090912060069091020154600160a01b900460e01b92915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d602081101561172757600080fd5b505161173257600080fd5b600061175b61174e61ffff8a166201518063ffffffff61216216565b429063ffffffff61214916565b9050600b6040518060e00160405280886001600160a01b03168152602001876001600160e01b03191681526020018981526020018a61ffff168152602001838152602001866001600160a01b03168152602001848152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908360e01c02179055506040820151816001015560608201518160020160006101000a81548161ffff021916908361ffff1602179055506080820151816003015560a08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816005015550505060006118ba6001600b8054905061213490919063ffffffff16565b6001600160a01b0380891660009081526004602090815260408083208054600181018255908452928290209092018490558151928916835282018b905281810185905260608201879052608082018690526001600160e01b0319891660a08301525191925082917f535c0318711210e1ce39e443c5948dd7fa396c2774d0949812fcb74800e227309181900360c00190a2505050505050505050565b60008082600b848154811061196757fe5b60009182526020909120600460069092020101549092506001600160a01b03169050915091565b600a6020526000908152604090205460ff1681565b60005460408051600160e11b632c1a733d02815233600482015290516001600160a01b0390921691635834e67a91602480820192602092909190829003018186803b1580156119f157600080fd5b505afa158015611a05573d6000803e3d6000fd5b505050506040513d6020811015611a1b57600080fd5b5051611a2657600080fd5b600160e41b63053544c5026001600160c01b031983161415611a5057611a4b81612189565b611b36565b600160ea1b6214d513026001600160c01b031983161415611a7457611a4b8161218e565b600160f01b61504d026001600160c01b031983161415611a9757611a4b81612193565b600160ca1b66145553d3525391026001600160c01b031983161415611abf57611a4b81612198565b600160d01b6551554f544f4b026001600160c01b031983161415611ae657611a4b8161219d565b60408051600160e51b62461bcd02815260206004820152601260248201527f496e76616c696420706172616d20636f64650000000000000000000000000000604482015290519081900360640190fd5b5050565b6000546001600160a01b031681565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611b9757600080fd5b505afa158015611bab573d6000803e3d6000fd5b505050506040513d6020811015611bc157600080fd5b5051611bcc57600080fd5b6001600160e01b0319821660009081526003602052604090205461133a908263ffffffff61214916565b60056020528160005260406000208181548110611c0f57fe5b90600052602060002001600091509150505481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d6020811015611c9c57600080fd5b5051611ca757600080fd5b600082815260086020908152604091829020805460ff191660ff85169081179091558251908152915184927f7f1cec39abbda212a819b9165ccfc4064f73eb454b052a312807b2270067a53d92908290030190a25050565b60086020526000908152604090205460ff1681565b6000600b8281548110611d2357fe5b9060005260206000209060060201600501549050919050565b60096020526000908152604090205481565b6001600160a01b031660009081526005602052604090205490565b600080606083600c8581548110611d7c57fe5b906000526020600020906005020160010160009054906101000a90046001600160a01b0316600c8681548110611dae57fe5b906000526020600020906005020160030180805480602002602001604051908101604052809291908181526020018280548015611e0a57602002820191906000526020600020905b815481526020019060010190808311611df6575b505050505090509250925092509193909250565b6000546001600160a01b031615611e81576000546001600160a01b03163314611e815760408051600160e51b62461bcd02815260206004820152600a6024820152600160b11b692737ba1036b0b9ba32b902604482015290519081900360640190fd5b600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b60066020526000908152604090205460ff1681565b60008060008060008086600b8881548110611ed957fe5b6000918252602090912060069091020154600b80546001600160a01b03909216918a908110611f0457fe5b906000526020600020906006020160040160009054906101000a90046001600160a01b0316600b8a81548110611f3657fe5b906000526020600020906006020160000160149054906101000a900460e01b600b8b81548110611f6257fe5b906000526020600020906006020160010154600b8c81548110611f8157fe5b6000918252602090912060056006909202010154949c939b5091995097509550909350915050565b6002546001600160a01b031681565b6002546001600160a01b031690565b60105481565b6001600160a01b0382166000908152600560205260408120805483908110611ff157fe5b906000526020600020015490505b92915050565b6001546001600160a01b031681565b60115481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d602081101561209257600080fd5b505161209d57600080fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526004602090815260409182902080548351818402810184019094528084526060939283018282801561212857602002820191906000526020600020905b815481526020019060010190808311612114575b50505050509050919050565b60008282111561214357600080fd5b50900390565b60008282018381101561215b57600080fd5b9392505050565b60008261217157506000611fff565b8282028284828161217e57fe5b041461215b57600080fd5b600d55565b600e55565b600f55565b601055565b601155565b8280548282559060005260206000209081019282156121dd579160200282015b828111156121dd5782518255916020019190600101906121c2565b506121e99291506121ed565b5090565b61141e91905b808211156121e957600081556001016121f356fea165627a7a72305820e4b8b974df02c583a80a163c402070b3825c4785dc4813a5d6da89aeee30ea3000290000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f70000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f7

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102f15760003560e01c80638970cdff1161019d578063c60781bd116100e9578063e8d3ae9c116100a2578063f17a3bec1161007c578063f17a3bec14610b41578063f3ab26cc14610b49578063f63a87d414610b51578063fe7cfbfc14610b7f576102f1565b8063e8d3ae9c14610b05578063e8f5fb1c14610b0d578063f0bd022214610b15576102f1565b8063c60781bd14610995578063cc41241c146109bb578063d46655f414610a4c578063de75b5ea14610a72578063df09fea714610a98578063e2c2a5bb14610afd576102f1565b8063a0b2d57f11610156578063ae1c5eca11610130578063ae1c5eca14610918578063b1351bfd1461093e578063ba38de351461095b578063baaa46f914610978576102f1565b8063a0b2d57f146108b7578063a2c6bc25146108bf578063a2fd8262146108ec576102f1565b80638970cdff1461077f5780638b5722f4146107875780638ce80a65146107c15780638d16a1051461081b578063922fd67f146108595780639dd86e0f1461088a576102f1565b80634b2cc0a11161025c57806367157ff011610215578063811833a8116101ef578063811833a8146106e857806381d760ae1461071e57806383fa95851461075a57806384434b9f14610777576102f1565b806367157ff0146106a05780636e13d8c5146106a8578063711acf86146106cb576102f1565b80634b2cc0a1146105735780635444ca75146105a6578063544ef03d146105dc578063549a65f41461060257806360a230e7146106285780636122f84014610655576102f1565b80632ce65f5a116102ae5780632ce65f5a146104295780633327a2fa146104315780633994b3d51461047f5780633c2d4daf146104bb5780633d5732a3146104f45780633f77ea651461051b576102f1565b80630ea9c984146102f65780631407264b146103005780631ce48f3d1461032657806323bc839b1461035557806328111dd814610383578063292ad50a1461038b575b600080fd5b6102fe610bf5565b005b6102fe6004803603602081101561031657600080fd5b50356001600160a01b0316610bf7565b6103436004803603602081101561033c57600080fd5b5035610c9c565b60408051918252519081900360200190f35b61035d610cc4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b610343610cd8565b6102fe600480360360a08110156103a157600080fd5b6001600160a01b0382358116926020810135909116916001600160e01b031960408301351691908101906080810160608201356401000000008111156103e657600080fd5b8201836020820111156103f857600080fd5b8035906020019184602083028401116401000000008311171561041a57600080fd5b91935091503561ffff16610cde565b610343610f04565b61044e6004803603602081101561044757600080fd5b5035610f0a565b6040805195865260ff90941660208601528484019290925261ffff1660608401526080830152519081900360a00190f35b6102fe6004803603606081101561049557600080fd5b506001600160a01b03813516906001600160e01b03196020820135169060400135610fa8565b6104d8600480360360208110156104d157600080fd5b50356110a1565b604080516001600160a01b039092168252519081900360200190f35b6103436004803603602081101561050a57600080fd5b50356001600160e01b0319166110d0565b6105386004803603602081101561053157600080fd5b50356110ec565b604080519485526001600160a01b0390931660208501526001600160e01b03199091168383015261ffff166060830152519081900360800190f35b6105906004803603602081101561058957600080fd5b5035611186565b6040805160ff9092168252519081900360200190f35b610343600480360360408110156105bc57600080fd5b5080356001600160a01b031690602001356001600160e01b03191661119b565b610343600480360360208110156105f257600080fd5b50356001600160a01b03166111cd565b6102fe6004803603602081101561061857600080fd5b50356001600160a01b03166111e8565b6102fe6004803603604081101561063e57600080fd5b506001600160e01b0319813516906020013561128d565b61067c6004803603602081101561066b57600080fd5b50356001600160c01b03191661135b565b604080516001600160c01b0319909316835260208301919091528051918290030190f35b61034361141a565b6102fe600480360360408110156106be57600080fd5b5080359060200135611421565b610343600480360360208110156106e157600080fd5b50356114b6565b610705600480360360208110156106fe57600080fd5b50356114de565b6040805163ffffffff9092168252519081900360200190f35b6102fe6004803603606081101561073457600080fd5b506001600160a01b03813516906001600160e01b0319602082013516906040013561150b565b6102fe6004803603602081101561077057600080fd5b50356115cc565b6104d861166a565b610343611679565b6107a46004803603602081101561079d57600080fd5b503561167f565b604080516001600160e01b03199092168252519081900360200190f35b6102fe600480360360e08110156107d757600080fd5b5061ffff813516906020810135906001600160a01b0360408201358116916001600160e01b0319606082013516916080820135169060a08101359060c001356116af565b6108386004803603602081101561083157600080fd5b5035611956565b604080519283526001600160a01b0390911660208301528051918290030190f35b6108766004803603602081101561086f57600080fd5b503561198e565b604080519115158252519081900360200190f35b6102fe600480360360408110156108a057600080fd5b506001600160c01b031981351690602001356119a3565b6104d8611b3a565b6102fe600480360360408110156108d557600080fd5b506001600160e01b03198135169060200135611b49565b6103436004803603604081101561090257600080fd5b506001600160a01b038135169060200135611bf6565b6102fe6004803603604081101561092e57600080fd5b508035906020013560ff16611c24565b6105906004803603602081101561095457600080fd5b5035611cff565b6103436004803603602081101561097157600080fd5b5035611d14565b6103436004803603602081101561098e57600080fd5b5035611d3c565b610343600480360360208110156109ab57600080fd5b50356001600160a01b0316611d4e565b6109d8600480360360208110156109d157600080fd5b5035611d69565b60405180848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a36578181015183820152602001610a1e565b5050505090500194505050505060405180910390f35b6102fe60048036036020811015610a6257600080fd5b50356001600160a01b0316611e1e565b61087660048036036020811015610a8857600080fd5b50356001600160a01b0316611ead565b610ab560048036036020811015610aae57600080fd5b5035611ec2565b604080519687526001600160a01b03958616602088015293909416858401526001600160e01b03199091166060850152608084015260a0830191909152519081900360c00190f35b6104d8611fa9565b6104d8611fb8565b610343611fc7565b61034360048036036040811015610b2b57600080fd5b506001600160a01b038135169060200135611fcd565b6104d8612005565b610343612014565b6102fe60048036036040811015610b6757600080fd5b506001600160a01b038135169060200135151561201a565b610ba560048036036020811015610b9557600080fd5b50356001600160a01b03166120c8565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610be1578181015183820152602001610bc9565b505050509050019250505060405180910390f35b565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610c4557600080fd5b505afa158015610c59573d6000803e3d6000fd5b505050506040513d6020811015610c6f57600080fd5b5051610c7a57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000600b8281548110610cab57fe5b9060005260206000209060060201600101549050919050565b601054600f54600e54600d54929391929091565b600e5481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b5051610d6157600080fd5b600c5460016009600083815260200190815260200160002081905550600c6040518060c00160405280838152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160e01b0319168152602001868680806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093855250505061ffff8616602092830152835460018181018087559583529183902084516005909202019081558383015191810180546001600160a01b039384166001600160a01b0319918216179091556040850151600283018054606088015160e01c600160a01b0277ffffffff000000000000000000000000000000000000000019939096169316929092171692909217909155608083015180519192610e9e926003850192909101906121a2565b5060a091909101516004909101805461ffff191661ffff909216919091179055506001600160a01b0387166000908152600560205260409020600c54610ee5906001612134565b8154600181018355600092835260209092209091015550505050505050565b600d5481565b600081815260086020526040812054600b80548392839283928392889260ff9091169183908110610f3757fe5b906000526020600020906006020160010154600b8981548110610f5657fe5b906000526020600020906006020160020160009054906101000a900461ffff16600b8a81548110610f8357fe5b9060005260206000209060060201600301549450945094509450945091939590929450565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d602081101561102057600080fd5b505161102b57600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b031986168452909152902054611069908263ffffffff61214916565b6001600160a01b0390931660009081526007602090815260408083206001600160e01b03199095168352939052919091209190915550565b6000600b82815481106110b057fe5b60009182526020909120600690910201546001600160a01b031692915050565b6001600160e01b03191660009081526003602052604090205490565b60008060008084600c868154811061110057fe5b906000526020600020906005020160020160009054906101000a90046001600160a01b0316600c878154811061113257fe5b906000526020600020906005020160020160149054906101000a900460e01b600c888154811061115e57fe5b60009182526020909120600590910201600401549298919750955061ffff9091169350915050565b60009081526008602052604090205460ff1690565b6001600160a01b0390911660009081526007602090815260408083206001600160e01b03199094168352929052205490565b6001600160a01b031660009081526004602052604090205490565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561123657600080fd5b505afa15801561124a573d6000803e3d6000fd5b505050506040513d602081101561126057600080fd5b505161126b57600080fd5b601280546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b505161131057600080fd5b6001600160e01b0319821660009081526003602052604090205461133a908263ffffffff61213416565b6001600160e01b031990921660009081526003602052604090209190915550565b806000600160e41b63053544c5026001600160c01b0319831614156113835750600d54611415565b600160ea1b6214d513026001600160c01b0319841614156113a75750600e54611415565b600160f01b61504d026001600160c01b0319841614156113ca5750600f54611415565b600160ca1b66145553d3525391026001600160c01b0319841614156113f25750601054611415565b600160d01b6551554f544f4b026001600160c01b03198416141561141557506011545b915091565b600b545b90565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b50516114a457600080fd5b60009182526009602052604090912055565b6000600b82815481106114c557fe5b9060005260206000209060060201600301549050919050565b6000600b82815481106114ed57fe5b600091825260209091206002600690920201015461ffff1692915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561155957600080fd5b505afa15801561156d573d6000803e3d6000fd5b505050506040513d602081101561158357600080fd5b505161158e57600080fd5b6001600160a01b03831660009081526007602090815260408083206001600160e01b031986168452909152902054611069908263ffffffff61213416565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505161164f57600080fd5b6000908152600a60205260409020805460ff19166001179055565b6012546001600160a01b031681565b600f5481565b6000600b828154811061168e57fe5b6000918252602090912060069091020154600160a01b900460e01b92915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d602081101561172757600080fd5b505161173257600080fd5b600061175b61174e61ffff8a166201518063ffffffff61216216565b429063ffffffff61214916565b9050600b6040518060e00160405280886001600160a01b03168152602001876001600160e01b03191681526020018981526020018a61ffff168152602001838152602001866001600160a01b03168152602001848152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908360e01c02179055506040820151816001015560608201518160020160006101000a81548161ffff021916908361ffff1602179055506080820151816003015560a08201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816005015550505060006118ba6001600b8054905061213490919063ffffffff16565b6001600160a01b0380891660009081526004602090815260408083208054600181018255908452928290209092018490558151928916835282018b905281810185905260608201879052608082018690526001600160e01b0319891660a08301525191925082917f535c0318711210e1ce39e443c5948dd7fa396c2774d0949812fcb74800e227309181900360c00190a2505050505050505050565b60008082600b848154811061196757fe5b60009182526020909120600460069092020101549092506001600160a01b03169050915091565b600a6020526000908152604090205460ff1681565b60005460408051600160e11b632c1a733d02815233600482015290516001600160a01b0390921691635834e67a91602480820192602092909190829003018186803b1580156119f157600080fd5b505afa158015611a05573d6000803e3d6000fd5b505050506040513d6020811015611a1b57600080fd5b5051611a2657600080fd5b600160e41b63053544c5026001600160c01b031983161415611a5057611a4b81612189565b611b36565b600160ea1b6214d513026001600160c01b031983161415611a7457611a4b8161218e565b600160f01b61504d026001600160c01b031983161415611a9757611a4b81612193565b600160ca1b66145553d3525391026001600160c01b031983161415611abf57611a4b81612198565b600160d01b6551554f544f4b026001600160c01b031983161415611ae657611a4b8161219d565b60408051600160e51b62461bcd02815260206004820152601260248201527f496e76616c696420706172616d20636f64650000000000000000000000000000604482015290519081900360640190fd5b5050565b6000546001600160a01b031681565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611b9757600080fd5b505afa158015611bab573d6000803e3d6000fd5b505050506040513d6020811015611bc157600080fd5b5051611bcc57600080fd5b6001600160e01b0319821660009081526003602052604090205461133a908263ffffffff61214916565b60056020528160005260406000208181548110611c0f57fe5b90600052602060002001600091509150505481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d6020811015611c9c57600080fd5b5051611ca757600080fd5b600082815260086020908152604091829020805460ff191660ff85169081179091558251908152915184927f7f1cec39abbda212a819b9165ccfc4064f73eb454b052a312807b2270067a53d92908290030190a25050565b60086020526000908152604090205460ff1681565b6000600b8281548110611d2357fe5b9060005260206000209060060201600501549050919050565b60096020526000908152604090205481565b6001600160a01b031660009081526005602052604090205490565b600080606083600c8581548110611d7c57fe5b906000526020600020906005020160010160009054906101000a90046001600160a01b0316600c8681548110611dae57fe5b906000526020600020906005020160030180805480602002602001604051908101604052809291908181526020018280548015611e0a57602002820191906000526020600020905b815481526020019060010190808311611df6575b505050505090509250925092509193909250565b6000546001600160a01b031615611e81576000546001600160a01b03163314611e815760408051600160e51b62461bcd02815260206004820152600a6024820152600160b11b692737ba1036b0b9ba32b902604482015290519081900360640190fd5b600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b60066020526000908152604090205460ff1681565b60008060008060008086600b8881548110611ed957fe5b6000918252602090912060069091020154600b80546001600160a01b03909216918a908110611f0457fe5b906000526020600020906006020160040160009054906101000a90046001600160a01b0316600b8a81548110611f3657fe5b906000526020600020906006020160000160149054906101000a900460e01b600b8b81548110611f6257fe5b906000526020600020906006020160010154600b8c81548110611f8157fe5b6000918252602090912060056006909202010154949c939b5091995097509550909350915050565b6002546001600160a01b031681565b6002546001600160a01b031690565b60105481565b6001600160a01b0382166000908152600560205260408120805483908110611ff157fe5b906000526020600020015490505b92915050565b6001546001600160a01b031681565b60115481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d602081101561209257600080fd5b505161209d57600080fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526004602090815260409182902080548351818402810184019094528084526060939283018282801561212857602002820191906000526020600020905b815481526020019060010190808311612114575b50505050509050919050565b60008282111561214357600080fd5b50900390565b60008282018381101561215b57600080fd5b9392505050565b60008261217157506000611fff565b8282028284828161217e57fe5b041461215b57600080fd5b600d55565b600e55565b600f55565b601055565b601155565b8280548282559060005260206000209081019282156121dd579160200282015b828111156121dd5782518255916020019190600101906121c2565b506121e99291506121ed565b5090565b61141e91905b808211156121e957600081556001016121f356fea165627a7a72305820e4b8b974df02c583a80a163c402070b3825c4785dc4813a5d6da89aeee30ea300029

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

0000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f70000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f7

-----Decoded View---------------
Arg [0] : _authQuoteAdd (address): 0x3b9d98aFA7b620400d1aB9eD9E83393f792154f7
Arg [1] : _kycAuthAdd (address): 0x3b9d98aFA7b620400d1aB9eD9E83393f792154f7

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f7
Arg [1] : 0000000000000000000000003b9d98afa7b620400d1ab9ed9e83393f792154f7


Deployed Bytecode Sourcemap

785:15756:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;785:15756:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14665:51;;;:::i;:::-;;6957:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6957:108:2;-1:-1:-1;;;;;6957:108:2;;:::i;9736:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9736:120:2;;:::i;:::-;;;;;;;;;;;;;;;;8000:297;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2096:15;;;:::i;5448:582::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;5448:582:2;;;;;;;;;;;;;-1:-1:-1;;;;;;5448:582:2;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5448:582:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5448:582:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5448:582:2;;-1:-1:-1;5448:582:2;-1:-1:-1;5448:582:2;;;;:::i;2073:16::-;;;:::i;12076:486::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12076:486:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3185:193;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3185:193:2;;;;-1:-1:-1;;;;;;3185:193:2;;;;;;;;;;:::i;10522:141::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10522:141:2;;:::i;:::-;;;;-1:-1:-1;;;;;10522:141:2;;;;;;;;;;;;;;8703:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8703:123:2;-1:-1:-1;;;;;;8703:123:2;;:::i;12824:449::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12824:449:2;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12824:449:2;;;;;;;-1:-1:-1;;;;;;12824:449:2;;;;;;;;;;;;;;;;;;;;;;9368:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9368:109:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;14472:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14472:152:2;;-1:-1:-1;;;;;14472:152:2;;;;;-1:-1:-1;;;;;;14472:152:2;;:::i;9191:121::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9191:121:2;-1:-1:-1;;;;;9191:121:2;;:::i;6773:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6773:103:2;-1:-1:-1;;;;;6773:103:2;;:::i;3958:153::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;3958:153:2;;;;;;;;:::i;7288:494::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7288:494:2;-1:-1:-1;;;;;;7288:494:2;;:::i;:::-;;;;-1:-1:-1;;;;;;7288:494:2;;;;;;;;;;;;;;;;;;;;;8363:102;;;:::i;6508:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6508:149:2;;;;;;;:::i;10139:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10139:124:2;;:::i;9549:119::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9549:119:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;3586:195;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3586:195:2;;;;-1:-1:-1;;;;;;3586:195:2;;;;;;;;;;:::i;4493:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4493:124:2;;:::i;2198:29::-;;;:::i;2118:14::-;;;:::i;9936:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9936:128:2;;:::i;:::-;;;;-1:-1:-1;;;;;;9936:128:2;;;;;;;;;;;;;;4670:695;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;4670:695:2;;;;;;;;;;-1:-1:-1;;;;;4670:695:2;;;;;;;-1:-1:-1;;;;;;4670:695:2;;;;;;;;;;;;;;;;;;;;;:::i;10323:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10323:136:2;;:::i;:::-;;;;;;;-1:-1:-1;;;;;10323:136:2;;;;;;;;;;;;;;;;1934:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1934:46:2;;:::i;:::-;;;;;;;;;;;;;;;;;;15159:587;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;15159:587:2;;;;;;;;:::i;88:20:1:-;;;:::i;4272:151:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;4272:151:2;;;;;;;;:::i;1644:49::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1644:49:2;;;;;;;;:::i;14840:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14840:162:2;;;;;;;;;:::i;1831:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1831:41:2;;:::i;10734:138::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10734:138:2;;:::i;1879:48::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1879:48:2;;:::i;13346:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13346:131:2;-1:-1:-1;;;;;13346:131:2;;:::i;13973:395::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13973:395:2;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;13973:395:2;-1:-1:-1;;;;;13973:395:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13973:395:2;;;;;;;;;;;;;;;;;;;915:269:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;915:269:1;-1:-1:-1;;;;;915:269:1;;:::i;1700:46:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1700:46:2;-1:-1:-1;;;;;1700:46:2;;:::i;11201:587::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11201:587:2;;:::i;:::-;;;;;;;-1:-1:-1;;;;;11201:587:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11201:587:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1500:30;;;:::i;8519:107::-;;;:::i;2139:19::-;;;:::i;13555:144::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13555:144:2;;;;;;;;:::i;115:30:1:-;;;:::i;2165:26:2:-;;;:::i;6169:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6169:124:2;;;;;;;;;;:::i;8981:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8981:131:2;-1:-1:-1;;;;;8981:131:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8981:131:2;;;;;;;;;;;;;;;;;14665:51;:::o;6957:108::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;7035:15:2;:22;;-1:-1:-1;;;;;;7035:22:2;-1:-1:-1;;;;;7035:22:2;;;;;;;;;;6957:108::o;9736:120::-;9797:7;9822:9;9832:4;9822:15;;;;;;;;;;;;;;;;;;:26;;;9817:31;;9736:120;;;:::o;8000:297::-;8219:7;;8243:2;;8263:3;;8285:4;;8219:7;;8243:2;;8263:3;;8000:297::o;2096:15::-;;;;:::o;5448:582::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;5713:14:2;:21;5788;5745:19;:35;5765:14;5745:35;;;;;;;;;;;:65;;;;5834:14;5854:94;;;;;;;;5864:14;5854:94;;;;5880:4;-1:-1:-1;;;;;5854:94:2;;;;;5886:9;-1:-1:-1;;;;;5854:94:2;;;;;5911:9;-1:-1:-1;;;;;5854:94:2;;;;;;5922:12;;5854:94;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;5854:94:2;;;-1:-1:-1;;;5854:94:2;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;;5834:115:2;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5834:115:2;;;-1:-1:-1;;;;;;5834:115:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5834:115:2;-1:-1:-1;;5834:115:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5834:115:2;;;;;;;;;;;;-1:-1:-1;;5834:115:2;;;;;;;;;;;-1:-1:-1;;;;;;5960:21:2;;-1:-1:-1;5960:21:2;;;:15;:21;;;;;5987:14;:21;:28;;-1:-1:-1;5987:25:2;:28::i;:::-;27:10:-1;;39:1;23:18;;45:23;;-1:-1;5960:56:2;;;;;;;;;;;-1:-1:-1;;;;;;;5448:582:2:o;2073:16::-;;;;:::o;12076:486::-;12202:8;12402:17;;;:11;:17;;;;;;12434:9;:15;;12202:8;;;;;;;;12383:4;;12402:17;;;;;12383:4;;12434:15;;;;;;;;;;;;;;;;:26;;;12475:9;12485:4;12475:15;;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;12517:9;12527:4;12517:15;;;;;;;;;;;;;;;;;;:26;;;12361:193;;;;;;;;;;12076:486;;;;;;;:::o;3185:193::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;-1:-1:-1;;;;;3326:24:2;;;;;;:18;:24;;;;;;;;-1:-1:-1;;;;;;3326:31:2;;;;;;;;;;:44;;3362:7;3326:44;:35;:44;:::i;:::-;-1:-1:-1;;;;;3292:24:2;;;;;;;:18;:24;;;;;;;;-1:-1:-1;;;;;;3292:31:2;;;;;;;;;;;;:78;;;;-1:-1:-1;3185:193:2:o;10522:141::-;10586:20;10626:9;10636:4;10626:15;;;;;;;;;;;;;;;;;;;;;:29;-1:-1:-1;;;;;10626:29:2;;10522:141;-1:-1:-1;;10522:141:2:o;8703:123::-;-1:-1:-1;;;;;;8800:18:2;8767:11;8800:18;;;:11;:18;;;;;;;8703:123::o;12824:449::-;12953:9;12977:17;13009:16;13040:18;13108:5;13128:14;13143:5;13128:21;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;-1:-1:-1;;;;;13128:31:2;13174:14;13189:5;13174:21;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13221:14;13236:5;13221:21;;;;;;;;;;;;;;;;;;;;;:33;;;13086:179;;;;-1:-1:-1;13086:179:2;-1:-1:-1;13221:33:2;;;;;-1:-1:-1;12824:449:2;-1:-1:-1;;12824:449:2:o;9368:109::-;9427:5;9452:17;;;:11;:17;;;;;;;;;9368:109::o;14472:152::-;-1:-1:-1;;;;;14585:24:2;;;14552:11;14585:24;;;:18;:24;;;;;;;;-1:-1:-1;;;;;;14585:31:2;;;;;;;;;;;14472:152::o;9191:121::-;-1:-1:-1;;;;;9282:15:2;9255:8;9282:15;;;:9;:15;;;;;:22;;9191:121::o;6773:103::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;6847:14:2;:21;;-1:-1:-1;;;;;;6847:21:2;-1:-1:-1;;;;;6847:21:2;;;;;;;;;;6773:103::o;3958:153::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;-1:-1:-1;;;;;;4072:18:2;;;;;;:11;:18;;;;;;:31;;4095:7;4072:31;:22;:31;:::i;:::-;-1:-1:-1;;;;;;4051:18:2;;;;;;;:11;:18;;;;;:52;;;;-1:-1:-1;3958:153:2:o;7288:494::-;7397:4;7350:14;-1:-1:-1;;;;;;;;;;;7418:14:2;;;7414:351;;;-1:-1:-1;7455:4:2;;7414:351;;;-1:-1:-1;;;;;;;;;;;7483:13:2;;;7479:286;;;-1:-1:-1;7533:3:2;;7479:286;;;-1:-1:-1;;;;;;;;;;;7560:12:2;;;7556:209;;;-1:-1:-1;7597:2:2;;7556:209;;;-1:-1:-1;;;;;;;;;;;7623:17:2;;;7619:146;;;-1:-1:-1;7665:7:2;;7619:146;;;-1:-1:-1;;;;;;;;;;;7696:16:2;;;7692:73;;;-1:-1:-1;7737:14:2;;7692:73;7288:494;;;:::o;8363:102::-;8440:9;:16;8363:102;;:::o;6508:149::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;6606::2;;;;:19;:34;;;;;;:43;6508:149::o;10139:124::-;10200:9;10229;10239:4;10229:15;;;;;;;;;;;;;;;;;;:26;;;10222:33;;10139:124;;;:::o;9549:119::-;9606:9;9633;9643:4;9633:15;;;;;;;;;;;;;;;;:27;:15;;;;;:27;;;;;9549:119;-1:-1:-1;;9549:119:2:o;3586:195::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;-1:-1:-1;;;;;3729:24:2;;;;;;:18;:24;;;;;;;;-1:-1:-1;;;;;;3729:31:2;;;;;;;;;;:44;;3765:7;3729:44;:35;:44;:::i;4493:124::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;4573:29:2;;;;:17;:29;;;;;:36;;-1:-1:-1;;4573:36:2;4605:4;4573:36;;;4493:124::o;2198:29::-;;;-1:-1:-1;;;;;2198:29:2;;:::o;2118:14::-;;;;:::o;9936:128::-;9997:11;10028:9;10038:4;10028:15;;;;;;;;;;;;;;;;;;;;;:28;-1:-1:-1;;;10028:28:2;;;;;9936:128;-1:-1:-1;;9936:128:2:o;4670:695::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;4959:15:2;4977:39;4985:30;:18;;;5008:6;4985:30;:22;:30;:::i;:::-;4977:3;;:39;:7;:39;:::i;:::-;4959:57;;5027:9;5042:114;;;;;;;;5048:12;-1:-1:-1;;;;;5042:114:2;;;;;5062:13;-1:-1:-1;;;;;5042:114:2;;;;;;5094:11;5042:114;;;;5107:12;5042:114;;;;;;5121:10;5042:114;;;;5133:10;-1:-1:-1;;;;;5042:114:2;;;;;5145:10;5042:114;;;5027:130;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5027:130:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5027:130:2;;;;;-1:-1:-1;;;;;5027:130:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5027:130:2;;;;;-1:-1:-1;;;;;5027:130:2;;;;;;;;;;;;;;;;;5168:8;5179:23;5200:1;5179:9;:16;;;;:20;;:23;;;;:::i;:::-;-1:-1:-1;;;;;5213:23:2;;;;;;;:9;:23;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;5213:33:2;;;;;;;;;;;;;5262:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5262:95:2;;;;;;;5168:34;;-1:-1:-1;5168:34:2;;5262:95;;;;;;;;;232:1:1;;4670:695:2;;;;;;;:::o;10323:136::-;10385:4;10391:7;10419:4;10425:9;10435:4;10425:15;;;;;;;;;;;;;;;;:25;:15;;;;;:25;;10411:40;;-1:-1:-1;;;;;;10425:25:2;;-1:-1:-1;10323:136:2;;;:::o;1934:46::-;;;;;;;;;;;;;;;:::o;15159:587::-;15240:2;;:36;;;-1:-1:-1;;;;;15240:36:2;;15265:10;15240:36;;;;;;-1:-1:-1;;;;;15240:2:2;;;;:24;;:36;;;;;;;;;;;;;;;:2;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;15240:36:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15240:36:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15240:36:2;15232:45;;;;;;-1:-1:-1;;;;;;;;;;;15292:14:2;;;15288:441;;;15323:16;15335:3;15323:11;:16::i;:::-;15288:441;;;-1:-1:-1;;;;;;;;;;;15363:13:2;;;15359:370;;;15407:15;15418:3;15407:10;:15::i;15359:370::-;-1:-1:-1;;;;;;;;;;;15446:12:2;;;15442:287;;;15477:14;15487:3;15477:9;:14::i;15442:287::-;-1:-1:-1;;;;;;;;;;;15515:17:2;;;15511:218;;;15551:19;15566:3;15551:14;:19::i;15511:218::-;-1:-1:-1;;;;;;;;;;;15594:16:2;;;15590:139;;;15629:23;15648:3;15629:18;:23::i;15590:139::-;15689:28;;;-1:-1:-1;;;;;15689:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;15590:139;15159:587;;:::o;88:20:1:-;;;-1:-1:-1;;;;;88:20:1;;:::o;4272:151:2:-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;-1:-1:-1;;;;;;4384:18:2;;;;;;:11;:18;;;;;;:31;;4407:7;4384:31;:22;:31;:::i;1644:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14840:162::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;14924:17:2;;;;:11;:17;;;;;;;;;:25;;-1:-1:-1;;14924:25:2;;;;;;;;;;14965:29;;;;;;;14924:17;;14965:29;;;;;;;;;14840:162;;:::o;1831:41::-;;;;;;;;;;;;;;;:::o;10734:138::-;10795:16;10838:9;10848:4;10838:15;;;;;;;;;;;;;;;;;;:26;;;10824:40;;10734:138;;;:::o;1879:48::-;;;;;;;;;;;;;:::o;13346:131::-;-1:-1:-1;;;;;13441:21:2;13417:4;13441:21;;;:15;:21;;;;;:28;;13346:131::o;13973:395::-;14102:9;14126:29;14171:26;14247:5;14267:14;14282:5;14267:21;;;;;;;;;;;;;;;;;;:33;;;;;;;;;;-1:-1:-1;;;;;14267:33:2;14315:14;14330:5;14315:21;;;;;;;;;;;;;;;;;;:34;;14225:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13973:395;;;;;:::o;915:269:1:-;1013:1;998:2;-1:-1:-1;;;;;998:2:1;990:25;986:106;;1048:2;;-1:-1:-1;;;;;1048:2:1;1055:10;1040:25;1032:48;;;;;-1:-1:-1;;;;;1032:48:1;;;;;;;;;;;;-1:-1:-1;;;;;1032:48:1;;;;;;;;;;;;;;;1102:2;:31;;-1:-1:-1;;;;;1102:31:1;;;-1:-1:-1;;;;;;1102:31:1;;;;;;;;;1144:32;;;;;;;;915:269::o;1700:46:2:-;;;;;;;;;;;;;;;:::o;11201:587::-;11328:8;11351:22;11388:18;11421:20;11456:16;11489:15;11556:4;11575:9;11585:4;11575:15;;;;;;;;;;;;;;;;;;;;;:29;11619:9;:15;;-1:-1:-1;;;;;11575:29:2;;;;11629:4;;11619:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;-1:-1:-1;;;;;11619:25:2;11659:9;11669:4;11659:15;;;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;11702:9;11712:4;11702:15;;;;;;;;;;;;;;;;;;:26;;;11743:9;11753:4;11743:15;;;;;;;;;;;;;;;;:26;:15;;;;;:26;;11534:246;;;;-1:-1:-1;11534:246:2;;-1:-1:-1;11534:246:2;-1:-1:-1;11534:246:2;-1:-1:-1;11743:26:2;;-1:-1:-1;11201:587:2;-1:-1:-1;;11201:587:2:o;1500:30::-;;;-1:-1:-1;;;;;1500:30:2;;:::o;8519:107::-;8603:15;;-1:-1:-1;;;;;8603:15:2;;8519:107::o;2139:19::-;;;;:::o;13555:144::-;-1:-1:-1;;;;;13663:21:2;;13639:4;13663:21;;;:15;:21;;;;;:28;;13685:5;;13663:28;;;;;;;;;;;;;;13656:35;;13555:144;;;;;:::o;115:30:1:-;;;-1:-1:-1;;;;;115:30:1;;:::o;2165:26:2:-;;;;:::o;6169:124::-;195:2:1;;:25;;;-1:-1:-1;;;;;195:25:1;;209:10;195:25;;;;;;-1:-1:-1;;;;;195:2:1;;;;:13;;:25;;;;;;;;;;;;;;;:2;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;195:25:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;195:25:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;195:25:1;187:34;;;;;;-1:-1:-1;;;;;6256:20:2;;;;;;;;:14;:20;;;;;:29;;-1:-1:-1;;6256:29:2;;;;;;;;;;6169:124::o;8981:131::-;-1:-1:-1;;;;;9088:15:2;;;;;;:9;:15;;;;;;;;;9080:24;;;;;;;;;;;;;;;;;9045:22;;9080:24;;;9088:15;9080:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8981:131;;;:::o;1199:150:3:-;1257:7;1290:1;1285;:6;;1277:15;;;;;;-1:-1:-1;1315:5:3;;;1199:150::o;1425:::-;1483:7;1515:5;;;1539:6;;;;1531:15;;;;;;1566:1;1425:150;-1:-1:-1;;;1425:150:3:o;223:433::-;281:7;525:6;521:47;;-1:-1:-1;555:1:3;548:8;;521:47;592:5;;;596:1;592;:5;:1;616:5;;;;;:10;608:19;;;;;15958:73:2;16011:4;:12;15958:73::o;16103:69::-;16154:3;:10;16103:69::o;15813:65::-;15862:2;:8;15813:65::o;16246:79::-;16302:7;:15;16246:79::o;16452:86::-;16510:14;:20;16452:86::o;785:15756::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;785:15756:2;;;-1:-1:-1;785:15756:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://e4b8b974df02c583a80a163c402070b3825c4785dc4813a5d6da89aeee30ea30

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

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.