Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
19653826 | 323 days ago | 0 ETH | |||||
16792276 | 724 days ago | 0 ETH | |||||
16792244 | 724 days ago | 0 ETH | |||||
16791580 | 725 days ago | 0 ETH | |||||
16791580 | 725 days ago | 0 ETH | |||||
16791580 | 725 days ago | 0 ETH | |||||
16789945 | 725 days ago | 0 ETH | |||||
16789945 | 725 days ago | 0 ETH | |||||
16789944 | 725 days ago | 0 ETH | |||||
16789944 | 725 days ago | 0 ETH | |||||
16785868 | 725 days ago | 0 ETH | |||||
16782470 | 726 days ago | 0 ETH | |||||
16782342 | 726 days ago | 0 ETH | |||||
16782342 | 726 days ago | 0 ETH | |||||
16782341 | 726 days ago | 0 ETH | |||||
16782341 | 726 days ago | 0 ETH | |||||
16782340 | 726 days ago | 0 ETH | |||||
16782340 | 726 days ago | 0 ETH | |||||
16779662 | 726 days ago | 0 ETH | |||||
16779397 | 726 days ago | 0 ETH | |||||
16779353 | 726 days ago | 0 ETH | |||||
16778891 | 726 days ago | 0 ETH | |||||
16777178 | 727 days ago | 0 ETH | |||||
16776596 | 727 days ago | 0 ETH | |||||
16771914 | 727 days ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenData
Compiler Version
v0.5.7+commit.6da8b019
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Multiple files format)
/* 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 TokenData is Iupgradable { using SafeMath for uint; address payable public walletAddress; uint public lockTokenTimeAfterCoverExp; uint public bookTime; uint public lockCADays; uint public lockMVDays; uint public scValidDays; uint public joiningFee; uint public stakerCommissionPer; uint public stakerMaxCommissionPer; uint public tokenExponent; uint public priceStep; struct StakeCommission { uint commissionEarned; uint commissionRedeemed; } struct Stake { address stakedContractAddress; uint stakedContractIndex; uint dateAdd; uint stakeAmount; uint unlockedAmount; uint burnedAmount; uint unLockableBeforeLastBurn; } struct Staker { address stakerAddress; uint stakerIndex; } struct CoverNote { uint amount; bool isDeposited; } /** * @dev mapping of uw address to array of sc address to fetch * all staked contract address of underwriter, pushing * data into this array of Stake returns stakerIndex */ mapping(address => Stake[]) public stakerStakedContracts; /** * @dev mapping of sc address to array of UW address to fetch * all underwritters of the staked smart contract * pushing data into this mapped array returns scIndex */ mapping(address => Staker[]) public stakedContractStakers; /** * @dev mapping of staked contract Address to the array of StakeCommission * here index of this array is stakedContractIndex */ mapping(address => mapping(uint => StakeCommission)) public stakedContractStakeCommission; mapping(address => uint) public lastCompletedStakeCommission; /** * @dev mapping of the staked contract address to the current * staker index who will receive commission. */ mapping(address => uint) public stakedContractCurrentCommissionIndex; /** * @dev mapping of the staked contract address to the * current staker index to burn token from. */ mapping(address => uint) public stakedContractCurrentBurnIndex; /** * @dev mapping to return true if Cover Note deposited against coverId */ mapping(uint => CoverNote) public depositedCN; mapping(address => uint) internal isBookedTokens; event Commission( address indexed stakedContractAddress, address indexed stakerAddress, uint indexed scIndex, uint commissionAmount ); constructor(address payable _walletAdd) public { walletAddress = _walletAdd; bookTime = 12 hours; joiningFee = 2000000000000000; // 0.002 Ether lockTokenTimeAfterCoverExp = 35 days; scValidDays = 250; lockCADays = 7 days; lockMVDays = 2 days; stakerCommissionPer = 20; stakerMaxCommissionPer = 50; tokenExponent = 4; priceStep = 1000; } /** * @dev Change the wallet address which receive Joining Fee */ function changeWalletAddress(address payable _address) external onlyInternal { walletAddress = _address; } /** * @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 == "TOKEXP") { val = tokenExponent; } else if (code == "TOKSTEP") { val = priceStep; } else if (code == "RALOCKT") { val = scValidDays; } else if (code == "RACOMM") { val = stakerCommissionPer; } else if (code == "RAMAXC") { val = stakerMaxCommissionPer; } else if (code == "CABOOKT") { val = bookTime / (1 hours); } else if (code == "CALOCKT") { val = lockCADays / (1 days); } else if (code == "MVLOCKT") { val = lockMVDays / (1 days); } else if (code == "QUOLOCKT") { val = lockTokenTimeAfterCoverExp / (1 days); } else if (code == "JOINFEE") { val = joiningFee; } } /** * @dev Just for interface */ function changeDependentContractAddress() public { //solhint-disable-line } /** * @dev to get the contract staked by a staker * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return the address of staked contract */ function getStakerStakedContractByIndex( address _stakerAddress, uint _stakerIndex ) public view returns (address stakedContractAddress) { stakedContractAddress = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractAddress; } /** * @dev to get the staker's staked burned * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return amount burned */ function getStakerStakedBurnedByIndex( address _stakerAddress, uint _stakerIndex ) public view returns (uint burnedAmount) { burnedAmount = stakerStakedContracts[ _stakerAddress][_stakerIndex].burnedAmount; } /** * @dev to get the staker's staked unlockable before the last burn * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return unlockable staked tokens */ function getStakerStakedUnlockableBeforeLastBurnByIndex( address _stakerAddress, uint _stakerIndex ) public view returns (uint unlockable) { unlockable = stakerStakedContracts[ _stakerAddress][_stakerIndex].unLockableBeforeLastBurn; } /** * @dev to get the staker's staked contract index * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return is the index of the smart contract address */ function getStakerStakedContractIndex( address _stakerAddress, uint _stakerIndex ) public view returns (uint scIndex) { scIndex = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractIndex; } /** * @dev to get the staker index of the staked contract * @param _stakedContractAddress is the address of the staked contract * @param _stakedContractIndex is the index of staked contract * @return is the index of the staker */ function getStakedContractStakerIndex( address _stakedContractAddress, uint _stakedContractIndex ) public view returns (uint sIndex) { sIndex = stakedContractStakers[ _stakedContractAddress][_stakedContractIndex].stakerIndex; } /** * @dev to get the staker's initial staked amount on the contract * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return staked amount */ function getStakerInitialStakedAmountOnContract( address _stakerAddress, uint _stakerIndex ) public view returns (uint amount) { amount = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakeAmount; } /** * @dev to get the staker's staked contract length * @param _stakerAddress is the address of the staker * @return length of staked contract */ function getStakerStakedContractLength( address _stakerAddress ) public view returns (uint length) { length = stakerStakedContracts[_stakerAddress].length; } /** * @dev to get the staker's unlocked tokens which were staked * @param _stakerAddress is the address of the staker * @param _stakerIndex is the index of staker * @return amount */ function getStakerUnlockedStakedTokens( address _stakerAddress, uint _stakerIndex ) public view returns (uint amount) { amount = stakerStakedContracts[ _stakerAddress][_stakerIndex].unlockedAmount; } /** * @dev pushes the unlocked staked tokens by a staker. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker to distribute commission. * @param _amount amount to be given as commission. */ function pushUnlockedStakedTokens( address _stakerAddress, uint _stakerIndex, uint _amount ) public onlyInternal { stakerStakedContracts[_stakerAddress][ _stakerIndex].unlockedAmount = stakerStakedContracts[_stakerAddress][ _stakerIndex].unlockedAmount.add(_amount); } /** * @dev pushes the Burned tokens for a staker. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker. * @param _amount amount to be burned. */ function pushBurnedTokens( address _stakerAddress, uint _stakerIndex, uint _amount ) public onlyInternal { stakerStakedContracts[_stakerAddress][ _stakerIndex].burnedAmount = stakerStakedContracts[_stakerAddress][ _stakerIndex].burnedAmount.add(_amount); } /** * @dev pushes the unLockable tokens for a staker before last burn. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker. * @param _amount amount to be added to unlockable. */ function pushUnlockableBeforeLastBurnTokens( address _stakerAddress, uint _stakerIndex, uint _amount ) public onlyInternal { stakerStakedContracts[_stakerAddress][ _stakerIndex].unLockableBeforeLastBurn = stakerStakedContracts[_stakerAddress][ _stakerIndex].unLockableBeforeLastBurn.add(_amount); } /** * @dev sets the unLockable tokens for a staker before last burn. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker. * @param _amount amount to be added to unlockable. */ function setUnlockableBeforeLastBurnTokens( address _stakerAddress, uint _stakerIndex, uint _amount ) public onlyInternal { stakerStakedContracts[_stakerAddress][ _stakerIndex].unLockableBeforeLastBurn = _amount; } /** * @dev pushes the earned commission earned by a staker. * @param _stakerAddress address of staker. * @param _stakedContractAddress address of smart contract. * @param _stakedContractIndex index of the staker to distribute commission. * @param _commissionAmount amount to be given as commission. */ function pushEarnedStakeCommissions( address _stakerAddress, address _stakedContractAddress, uint _stakedContractIndex, uint _commissionAmount ) public onlyInternal { stakedContractStakeCommission[_stakedContractAddress][_stakedContractIndex]. commissionEarned = stakedContractStakeCommission[_stakedContractAddress][ _stakedContractIndex].commissionEarned.add(_commissionAmount); emit Commission( _stakerAddress, _stakedContractAddress, _stakedContractIndex, _commissionAmount ); } /** * @dev pushes the redeemed commission redeemed by a staker. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker to distribute commission. * @param _amount amount to be given as commission. */ function pushRedeemedStakeCommissions( address _stakerAddress, uint _stakerIndex, uint _amount ) public onlyInternal { uint stakedContractIndex = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractIndex; address stakedContractAddress = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractAddress; stakedContractStakeCommission[stakedContractAddress][stakedContractIndex]. commissionRedeemed = stakedContractStakeCommission[ stakedContractAddress][stakedContractIndex].commissionRedeemed.add(_amount); } /** * @dev Gets stake commission given to an underwriter * for particular stakedcontract on given index. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker commission. */ function getStakerEarnedStakeCommission( address _stakerAddress, uint _stakerIndex ) public view returns (uint) { return _getStakerEarnedStakeCommission(_stakerAddress, _stakerIndex); } /** * @dev Gets stake commission redeemed by an underwriter * for particular staked contract on given index. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker commission. * @return commissionEarned total amount given to staker. */ function getStakerRedeemedStakeCommission( address _stakerAddress, uint _stakerIndex ) public view returns (uint) { return _getStakerRedeemedStakeCommission(_stakerAddress, _stakerIndex); } /** * @dev Gets total stake commission given to an underwriter * @param _stakerAddress address of staker. * @return totalCommissionEarned total commission earned by staker. */ function getStakerTotalEarnedStakeCommission( address _stakerAddress ) public view returns (uint totalCommissionEarned) { totalCommissionEarned = 0; for (uint i = 0; i < stakerStakedContracts[_stakerAddress].length; i++) { totalCommissionEarned = totalCommissionEarned. add(_getStakerEarnedStakeCommission(_stakerAddress, i)); } } /** * @dev Gets total stake commission given to an underwriter * @param _stakerAddress address of staker. * @return totalCommissionEarned total commission earned by staker. */ function getStakerTotalReedmedStakeCommission( address _stakerAddress ) public view returns(uint totalCommissionRedeemed) { totalCommissionRedeemed = 0; for (uint i = 0; i < stakerStakedContracts[_stakerAddress].length; i++) { totalCommissionRedeemed = totalCommissionRedeemed.add( _getStakerRedeemedStakeCommission(_stakerAddress, i)); } } /** * @dev set flag to deposit/ undeposit cover note * against a cover Id * @param coverId coverId of Cover * @param flag true/false for deposit/undeposit */ function setDepositCN(uint coverId, bool flag) public onlyInternal { if (flag == true) { require(!depositedCN[coverId].isDeposited, "Cover note already deposited"); } depositedCN[coverId].isDeposited = flag; } /** * @dev set locked cover note amount * against a cover Id * @param coverId coverId of Cover * @param amount amount of nxm to be locked */ function setDepositCNAmount(uint coverId, uint amount) public onlyInternal { depositedCN[coverId].amount = amount; } /** * @dev to get the staker address on a staked contract * @param _stakedContractAddress is the address of the staked contract in concern * @param _stakedContractIndex is the index of staked contract's index * @return address of staker */ function getStakedContractStakerByIndex( address _stakedContractAddress, uint _stakedContractIndex ) public view returns (address stakerAddress) { stakerAddress = stakedContractStakers[ _stakedContractAddress][_stakedContractIndex].stakerAddress; } /** * @dev to get the length of stakers on a staked contract * @param _stakedContractAddress is the address of the staked contract in concern * @return length in concern */ function getStakedContractStakersLength( address _stakedContractAddress ) public view returns (uint length) { length = stakedContractStakers[_stakedContractAddress].length; } /** * @dev Adds a new stake record. * @param _stakerAddress staker address. * @param _stakedContractAddress smart contract address. * @param _amount amountof NXM to be staked. */ function addStake( address _stakerAddress, address _stakedContractAddress, uint _amount ) public onlyInternal returns(uint scIndex) { scIndex = (stakedContractStakers[_stakedContractAddress].push( Staker(_stakerAddress, stakerStakedContracts[_stakerAddress].length))).sub(1); stakerStakedContracts[_stakerAddress].push( Stake(_stakedContractAddress, scIndex, now, _amount, 0, 0, 0)); } /** * @dev books the user's tokens for maintaining Assessor Velocity, * i.e. once a token is used to cast a vote as a Claims assessor, * @param _of user's address. */ function bookCATokens(address _of) public onlyInternal { require(!isCATokensBooked(_of), "Tokens already booked"); isBookedTokens[_of] = now.add(bookTime); } /** * @dev to know if claim assessor's tokens are booked or not * @param _of is the claim assessor's address in concern * @return boolean representing the status of tokens booked */ function isCATokensBooked(address _of) public view returns(bool res) { if (now < isBookedTokens[_of]) res = true; } /** * @dev Sets the index which will receive commission. * @param _stakedContractAddress smart contract address. * @param _index current index. */ function setStakedContractCurrentCommissionIndex( address _stakedContractAddress, uint _index ) public onlyInternal { stakedContractCurrentCommissionIndex[_stakedContractAddress] = _index; } /** * @dev Sets the last complete commission index * @param _stakerAddress smart contract address. * @param _index current index. */ function setLastCompletedStakeCommissionIndex( address _stakerAddress, uint _index ) public onlyInternal { lastCompletedStakeCommission[_stakerAddress] = _index; } /** * @dev Sets the index till which commission is distrubuted. * @param _stakedContractAddress smart contract address. * @param _index current index. */ function setStakedContractCurrentBurnIndex( address _stakedContractAddress, uint _index ) public onlyInternal { stakedContractCurrentBurnIndex[_stakedContractAddress] = _index; } /** * @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 == "TOKEXP") { _setTokenExponent(val); } else if (code == "TOKSTEP") { _setPriceStep(val); } else if (code == "RALOCKT") { _changeSCValidDays(val); } else if (code == "RACOMM") { _setStakerCommissionPer(val); } else if (code == "RAMAXC") { _setStakerMaxCommissionPer(val); } else if (code == "CABOOKT") { _changeBookTime(val * 1 hours); } else if (code == "CALOCKT") { _changelockCADays(val * 1 days); } else if (code == "MVLOCKT") { _changelockMVDays(val * 1 days); } else if (code == "QUOLOCKT") { _setLockTokenTimeAfterCoverExp(val * 1 days); } else if (code == "JOINFEE") { _setJoiningFee(val); } else { revert("Invalid param code"); } } /** * @dev Internal function to get stake commission given to an * underwriter for particular stakedcontract on given index. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker commission. */ function _getStakerEarnedStakeCommission( address _stakerAddress, uint _stakerIndex ) internal view returns (uint amount) { uint _stakedContractIndex; address _stakedContractAddress; _stakedContractAddress = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractAddress; _stakedContractIndex = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractIndex; amount = stakedContractStakeCommission[ _stakedContractAddress][_stakedContractIndex].commissionEarned; } /** * @dev Internal function to get stake commission redeemed by an * underwriter for particular stakedcontract on given index. * @param _stakerAddress address of staker. * @param _stakerIndex index of the staker commission. */ function _getStakerRedeemedStakeCommission( address _stakerAddress, uint _stakerIndex ) internal view returns (uint amount) { uint _stakedContractIndex; address _stakedContractAddress; _stakedContractAddress = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractAddress; _stakedContractIndex = stakerStakedContracts[ _stakerAddress][_stakerIndex].stakedContractIndex; amount = stakedContractStakeCommission[ _stakedContractAddress][_stakedContractIndex].commissionRedeemed; } /** * @dev to set the percentage of staker commission * @param _val is new percentage value */ function _setStakerCommissionPer(uint _val) internal { stakerCommissionPer = _val; } /** * @dev to set the max percentage of staker commission * @param _val is new percentage value */ function _setStakerMaxCommissionPer(uint _val) internal { stakerMaxCommissionPer = _val; } /** * @dev to set the token exponent value * @param _val is new value */ function _setTokenExponent(uint _val) internal { tokenExponent = _val; } /** * @dev to set the price step * @param _val is new value */ function _setPriceStep(uint _val) internal { priceStep = _val; } /** * @dev Changes number of days for which NXM needs to staked in case of underwriting */ function _changeSCValidDays(uint _days) internal { scValidDays = _days; } /** * @dev Changes the time period up to which tokens will be locked. * Used to generate the validity period of tokens booked by * a user for participating in claim's assessment/claim's voting. */ function _changeBookTime(uint _time) internal { bookTime = _time; } /** * @dev Changes lock CA days - number of days for which tokens * are locked while submitting a vote. */ function _changelockCADays(uint _val) internal { lockCADays = _val; } /** * @dev Changes lock MV days - number of days for which tokens are locked * while submitting a vote. */ function _changelockMVDays(uint _val) internal { lockMVDays = _val; } /** * @dev Changes extra lock period for a cover, post its expiry. */ function _setLockTokenTimeAfterCoverExp(uint time) internal { lockTokenTimeAfterCoverExp = time; } /** * @dev Set the joining fee for membership */ function _setJoiningFee(uint _amount) internal { joiningFee = _amount; } }
/* 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); }
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; } }
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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"pushBurnedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockCADays","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"changeDependentContractAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"pushUnlockableBeforeLastBurnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_index","type":"uint256"}],"name":"setLastCompletedStakeCommissionIndex","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"depositedCN","outputs":[{"name":"amount","type":"uint256"},{"name":"isDeposited","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockMVDays","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakedContractAddress","type":"address"},{"name":"_stakedContractIndex","type":"uint256"}],"name":"getStakedContractStakerIndex","outputs":[{"name":"sIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerEarnedStakeCommission","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakedContractAddress","type":"address"},{"name":"_stakedContractIndex","type":"uint256"},{"name":"_commissionAmount","type":"uint256"}],"name":"pushEarnedStakeCommissions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerStakedBurnedByIndex","outputs":[{"name":"burnedAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_of","type":"address"}],"name":"bookCATokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"}],"name":"getStakerTotalReedmedStakeCommission","outputs":[{"name":"totalCommissionRedeemed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerInitialStakedAmountOnContract","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"coverId","type":"uint256"},{"name":"amount","type":"uint256"}],"name":"setDepositCNAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"}],"name":"getStakerTotalEarnedStakeCommission","outputs":[{"name":"totalCommissionEarned","type":"uint256"}],"payable":false,"stateMutability":"view","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":"stakerMaxCommissionPer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"walletAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"joiningFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerStakedContractIndex","outputs":[{"name":"scIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"stakedContractCurrentCommissionIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"coverId","type":"uint256"},{"name":"flag","type":"bool"}],"name":"setDepositCN","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"priceStep","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bookTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerStakedContractByIndex","outputs":[{"name":"stakedContractAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"pushUnlockedStakedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"stakedContractStakeCommission","outputs":[{"name":"commissionEarned","type":"uint256"},{"name":"commissionRedeemed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerStakedUnlockableBeforeLastBurnByIndex","outputs":[{"name":"unlockable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakedContractAddress","type":"address"},{"name":"_stakedContractIndex","type":"uint256"}],"name":"getStakedContractStakerByIndex","outputs":[{"name":"stakerAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"stakedContractStakers","outputs":[{"name":"stakerAddress","type":"address"},{"name":"stakerIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"stakerStakedContracts","outputs":[{"name":"stakedContractAddress","type":"address"},{"name":"stakedContractIndex","type":"uint256"},{"name":"dateAdd","type":"uint256"},{"name":"stakeAmount","type":"uint256"},{"name":"unlockedAmount","type":"uint256"},{"name":"burnedAmount","type":"uint256"},{"name":"unLockableBeforeLastBurn","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"scValidDays","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakedContractAddress","type":"address"},{"name":"_index","type":"uint256"}],"name":"setStakedContractCurrentCommissionIndex","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockTokenTimeAfterCoverExp","outputs":[{"name":"","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":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"pushRedeemedStakeCommissions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastCompletedStakeCommission","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakedContractAddress","type":"address"},{"name":"_amount","type":"uint256"}],"name":"addStake","outputs":[{"name":"scIndex","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakerCommissionPer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_of","type":"address"}],"name":"isCATokensBooked","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"}],"name":"getStakerStakedContractLength","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakedContractAddress","type":"address"},{"name":"_index","type":"uint256"}],"name":"setStakedContractCurrentBurnIndex","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"changeWalletAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenExponent","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":"_stakedContractAddress","type":"address"}],"name":"getStakedContractStakersLength","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerRedeemedStakeCommission","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"stakedContractCurrentBurnIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"setUnlockableBeforeLastBurnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stakerAddress","type":"address"},{"name":"_stakerIndex","type":"uint256"}],"name":"getStakerUnlockedStakedTokens","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_walletAdd","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"stakedContractAddress","type":"address"},{"indexed":true,"name":"stakerAddress","type":"address"},{"indexed":true,"name":"scIndex","type":"uint256"},{"indexed":false,"name":"commissionAmount","type":"uint256"}],"name":"Commission","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516020806124098339810180604052602081101561003057600080fd5b5051600280546001600160a01b0319166001600160a01b0390921691909117905561a8c0600490815566071afd498d0000600855622e248060035560fa60075562093a806005556202a30060065560146009556032600a55600b556103e8600c55612369806100a06000396000f3fe608060405234801561001057600080fd5b50600436106103275760003560e01c806397440d40116101b8578063ddaffe5811610104578063efd9066f116100a2578063f7138aae1161007c578063f7138aae14610a72578063f75ce5d414610a9e578063fed57f1814610ac4578063ff1b450414610af657610327565b8063efd9066f14610a3c578063f17a3bec14610a44578063f480454a14610a4c57610327565b8063e2950c9c116100de578063e2950c9c1461098a578063e325ef74146109c4578063eaf53c77146109ea578063ec8edf7a14610a1657610327565b8063ddaffe5814610926578063dfc2d1ba1461094c578063e22648501461098257610327565b8063b8ea578e11610171578063c88587031161014b578063c88587031461089a578063ce0a6d5f146108c6578063d46655f4146108ce578063d9249bff146108f457610327565b8063b8ea578e146107d5578063c1ed5a7414610824578063c47ac1ac1461089257610327565b806397440d40146106d15780639dd86e0f14610703578063a0b2d57f14610730578063a1692f0414610738578063a34e79bf1461077d578063a72c3520146107a957610327565b806343148d23116102775780636eeeaaa5116102305780638831d5901161020a5780638831d5901461067057806388d519c4146106955780639532cb2c1461069d57806396cf1455146106a557610327565b80636eeeaaa51461061657806379ade32f1461061e578063832c2e401461064a57610327565b806343148d231461052a5780634e718659146105565780636101c166146105795780636122f8401461059f5780636a964451146105ea5780636ad5b3ea146105f257610327565b8063200e7ccf116102e457806334f15b69116102be57806334f15b691461047657806334f45c3e146104b25780633739e439146104de5780633f4a7efa1461050457610327565b8063200e7ccf1461041657806324da7b691461041e5780632bc226281461044a57610327565b8063048dc9901461032c5780630d2c1104146103605780630ea9c9841461037a57806314f07b3c1461038257806318190817146103b45780631dc130a2146103e0575b600080fd5b61035e6004803603606081101561034257600080fd5b506001600160a01b038135169060208101359060400135610b22565b005b610368610c2d565b60408051918252519081900360200190f35b61035e610c33565b61035e6004803603606081101561039857600080fd5b506001600160a01b038135169060208101359060400135610c35565b61035e600480360360408110156103ca57600080fd5b506001600160a01b038135169060200135610d40565b6103fd600480360360208110156103f657600080fd5b5035610ddf565b6040805192835290151560208301528051918290030190f35b610368610dfb565b6103686004803603604081101561043457600080fd5b506001600160a01b038135169060200135610e01565b6103686004803603604081101561046057600080fd5b506001600160a01b038135169060200135610e3f565b61035e6004803603608081101561048c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e52565b610368600480360360408110156104c857600080fd5b506001600160a01b038135169060200135610f6e565b61035e600480360360208110156104f457600080fd5b50356001600160a01b0316610fac565b6103686004803603602081101561051a57600080fd5b50356001600160a01b03166110bd565b6103686004803603604081101561054057600080fd5b506001600160a01b03813516906020013561110b565b61035e6004803603604081101561056c57600080fd5b5080359060200135611149565b6103686004803603602081101561058f57600080fd5b50356001600160a01b03166111de565b6105c6600480360360208110156105b557600080fd5b50356001600160c01b031916611219565b604080516001600160c01b0319909316835260208301919091528051918290030190f35b6103686113c6565b6105fa6113cc565b604080516001600160a01b039092168252519081900360200190f35b6103686113db565b6103686004803603604081101561063457600080fd5b506001600160a01b0381351690602001356113e1565b6103686004803603602081101561066057600080fd5b50356001600160a01b031661141f565b61035e6004803603604081101561068657600080fd5b50803590602001351515611431565b61036861154c565b610368611552565b6105fa600480360360408110156106bb57600080fd5b506001600160a01b038135169060200135611558565b61035e600480360360608110156106e757600080fd5b506001600160a01b03813516906020810135906040013561159d565b61035e6004803603604081101561071957600080fd5b506001600160c01b031981351690602001356116a8565b6105fa611925565b6107646004803603604081101561074e57600080fd5b506001600160a01b038135169060200135611934565b6040805192835260208301919091528051918290030190f35b6103686004803603604081101561079357600080fd5b506001600160a01b038135169060200135611958565b6105fa600480360360408110156107bf57600080fd5b506001600160a01b038135169060200135611996565b610801600480360360408110156107eb57600080fd5b506001600160a01b0381351690602001356119db565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6108506004803603604081101561083a57600080fd5b506001600160a01b038135169060200135611a1e565b604080516001600160a01b0390981688526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b610368611a7f565b61035e600480360360408110156108b057600080fd5b506001600160a01b038135169060200135611a85565b610368611b24565b61035e600480360360208110156108e457600080fd5b50356001600160a01b0316611b2a565b61035e6004803603606081101561090a57600080fd5b506001600160a01b038135169060208101359060400135611bb9565b6103686004803603602081101561093c57600080fd5b50356001600160a01b0316611d1c565b6103686004803603606081101561096257600080fd5b506001600160a01b03813581169160208101359091169060400135611d2e565b610368611edd565b6109b0600480360360208110156109a057600080fd5b50356001600160a01b0316611ee3565b604080519115158252519081900360200190f35b610368600480360360208110156109da57600080fd5b50356001600160a01b0316611f0c565b61035e60048036036040811015610a0057600080fd5b506001600160a01b038135169060200135611f27565b61035e60048036036020811015610a2c57600080fd5b50356001600160a01b0316611fc6565b61036861206b565b6105fa612071565b61036860048036036020811015610a6257600080fd5b50356001600160a01b0316612080565b61036860048036036040811015610a8857600080fd5b506001600160a01b03813516906020013561209b565b61036860048036036020811015610ab457600080fd5b50356001600160a01b03166120a7565b61035e60048036036060811015610ada57600080fd5b506001600160a01b0381351690602081013590604001356120b9565b61036860048036036040811015610b0c57600080fd5b506001600160a01b038135169060200135612163565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610b7057600080fd5b505afa158015610b84573d6000803e3d6000fd5b505050506040513d6020811015610b9a57600080fd5b5051610ba557600080fd5b6001600160a01b0383166000908152600d602052604090208054610bef91839185908110610bcf57fe5b9060005260206000209060070201600501546121a190919063ffffffff16565b6001600160a01b0384166000908152600d60205260409020805484908110610c1357fe5b906000526020600020906007020160050181905550505050565b60055481565b565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d6020811015610cad57600080fd5b5051610cb857600080fd5b6001600160a01b0383166000908152600d602052604090208054610d0291839185908110610ce257fe5b9060005260206000209060070201600601546121a190919063ffffffff16565b6001600160a01b0384166000908152600d60205260409020805484908110610d2657fe5b906000526020600020906007020160060181905550505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610d8e57600080fd5b505afa158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b5051610dc357600080fd5b6001600160a01b03909116600090815260106020526040902055565b6013602052600090815260409020805460019091015460ff1682565b60065481565b6001600160a01b0382166000908152600e60205260408120805483908110610e2557fe5b906000526020600020906002020160010154905092915050565b6000610e4b83836121b3565b9392505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b5051610ed557600080fd5b6001600160a01b0383166000908152600f60209081526040808320858452909152902054610f09908263ffffffff6121a116565b6001600160a01b038085166000818152600f602090815260408083208884528252918290209490945580518581529051869492938916927f05456de91d83e21ad7c41a09ae7cb41836049c49e6ddaf07bdfc40c2231885d2928290030190a450505050565b6001600160a01b0382166000908152600d60205260408120805483908110610f9257fe5b906000526020600020906007020160050154905092915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ffa57600080fd5b505afa15801561100e573d6000803e3d6000fd5b505050506040513d602081101561102457600080fd5b505161102f57600080fd5b61103881611ee3565b1561108d5760408051600160e51b62461bcd02815260206004820152601560248201527f546f6b656e7320616c726561647920626f6f6b65640000000000000000000000604482015290519081900360640190fd5b6004546110a190429063ffffffff6121a116565b6001600160a01b03909116600090815260146020526040902055565b6000805b6001600160a01b0383166000908152600d6020526040902054811015611105576110fb6110ee8483612254565b839063ffffffff6121a116565b91506001016110c1565b50919050565b6001600160a01b0382166000908152600d6020526040812080548390811061112f57fe5b906000526020600020906007020160030154905092915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505050506040513d60208110156111c157600080fd5b50516111cc57600080fd5b60009182526013602052604090912055565b6000805b6001600160a01b0383166000908152600d60205260409020548110156111055761120f6110ee84836121b3565b91506001016111e2565b806000600160d41b650544f4b45585026001600160c01b0319831614156112435750600b546113c1565b600160cc1b660544f4b5354455026001600160c01b03198416141561126b5750600c546113c1565b600160ca1b6614905313d0d2d5026001600160c01b03198416141561129357506007546113c1565b600160d01b655241434f4d4d026001600160c01b0319841614156112ba57506009546113c1565b600160d01b6552414d415843026001600160c01b0319841614156112e15750600a546113c1565b600160ca1b6610d05093d3d2d5026001600160c01b03198416141561131557610e106004548161130d57fe5b0490506113c1565b600160ca1b6610d05313d0d2d5026001600160c01b03198416141561134257620151806005548161130d57fe5b600160ca1b6613559313d0d2d5026001600160c01b03198416141561136f57620151806006548161130d57fe5b600160c21b67145553d313d0d2d5026001600160c01b03198416141561139d57620151806003548161130d57fe5b600160c81b664a4f494e464545026001600160c01b0319841614156113c157506008545b915091565b600a5481565b6002546001600160a01b031681565b60085481565b6001600160a01b0382166000908152600d6020526040812080548390811061140557fe5b906000526020600020906007020160010154905092915050565b60116020526000908152604090205481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561147f57600080fd5b505afa158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b50516114b457600080fd5b600181151514156115295760008281526013602052604090206001015460ff16156115295760408051600160e51b62461bcd02815260206004820152601c60248201527f436f766572206e6f746520616c7265616479206465706f736974656400000000604482015290519081900360640190fd5b600091825260136020526040909120600101805460ff1916911515919091179055565b600c5481565b60045481565b6001600160a01b0382166000908152600d6020526040812080548390811061157c57fe5b60009182526020909120600790910201546001600160a01b03169392505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156115eb57600080fd5b505afa1580156115ff573d6000803e3d6000fd5b505050506040513d602081101561161557600080fd5b505161162057600080fd5b6001600160a01b0383166000908152600d60205260409020805461166a9183918590811061164a57fe5b9060005260206000209060070201600401546121a190919063ffffffff16565b6001600160a01b0384166000908152600d6020526040902080548490811061168e57fe5b906000526020600020906007020160040181905550505050565b60005460408051600160e11b632c1a733d02815233600482015290516001600160a01b0390921691635834e67a91602480820192602092909190829003018186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d602081101561172057600080fd5b505161172b57600080fd5b600160d41b650544f4b45585026001600160c01b03198316141561175757611752816122f6565b611921565b600160cc1b660544f4b5354455026001600160c01b03198316141561177f57611752816122fb565b600160ca1b6614905313d0d2d5026001600160c01b0319831614156117a75761175281612300565b600160d01b655241434f4d4d026001600160c01b0319831614156117ce5761175281612305565b600160d01b6552414d415843026001600160c01b0319831614156117f5576117528161230a565b600160ca1b6610d05093d3d2d5026001600160c01b0319831614156118215761175281610e100261230f565b600160ca1b6610d05313d0d2d5026001600160c01b03198316141561184e57611752816201518002612314565b600160ca1b6613559313d0d2d5026001600160c01b03198316141561187b57611752816201518002612319565b600160c21b67145553d313d0d2d5026001600160c01b0319831614156118a95761175281620151800261231e565b600160c81b664a4f494e464545026001600160c01b0319831614156118d15761175281612323565b60408051600160e51b62461bcd02815260206004820152601260248201527f496e76616c696420706172616d20636f64650000000000000000000000000000604482015290519081900360640190fd5b5050565b6000546001600160a01b031681565b600f6020908152600092835260408084209091529082529020805460019091015482565b6001600160a01b0382166000908152600d6020526040812080548390811061197c57fe5b906000526020600020906007020160060154905092915050565b6001600160a01b0382166000908152600e602052604081208054839081106119ba57fe5b60009182526020909120600290910201546001600160a01b03169392505050565b600e60205281600052604060002081815481106119f457fe5b6000918252602090912060029091020180546001909101546001600160a01b039091169250905082565b600d6020528160005260406000208181548110611a3757fe5b600091825260209091206007909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b0390951697509295509093909287565b60075481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b5051611b0857600080fd5b6001600160a01b03909116600090815260116020526040902055565b60035481565b6000546001600160a01b031615611b8d576000546001600160a01b03163314611b8d5760408051600160e51b62461bcd02815260206004820152600a6024820152600160b11b692737ba1036b0b9ba32b902604482015290519081900360640190fd5b600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051611c3c57600080fd5b6001600160a01b0383166000908152600d60205260408120805484908110611c6057fe5b90600052602060002090600702016001015490506000600d6000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611ca657fe5b600091825260208083206007909202909101546001600160a01b0316808352600f82526040808420868552909252912060010154909150611ced908463ffffffff6121a116565b6001600160a01b039091166000908152600f602090815260408083209483529390529190912060010155505050565b60106020526000908152604090205481565b6000805460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611d7d57600080fd5b505afa158015611d91573d6000803e3d6000fd5b505050506040513d6020811015611da757600080fd5b5051611db257600080fd5b6001600160a01b038381166000908152600e60209081526040808320815180830183528986168082528552600d84529184205482840190815281546001808201808555938752949095209251600290950290920180546001600160a01b031916949095169390931784555192810192909255611e2d91612328565b6001600160a01b039485166000908152600d60209081526040808320815160e081018352978916885287830185815242928901928352606089019788526080890185815260a08a0186815260c08b01878152845460018082018755958952969097209a516007909602909a0180546001600160a01b03191695909b16949094178a555190890155516002880155935160038701559251600486015592516005850155505160069092019190915590565b60095481565b6001600160a01b038116600090815260146020526040812054421015611f07575060015b919050565b6001600160a01b03166000908152600d602052604090205490565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051611faa57600080fd5b6001600160a01b03909116600090815260126020526040902055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561201457600080fd5b505afa158015612028573d6000803e3d6000fd5b505050506040513d602081101561203e57600080fd5b505161204957600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600b5481565b6001546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000610e4b8383612254565b60126020526000908152604090205481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561210757600080fd5b505afa15801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b505161213c57600080fd5b6001600160a01b0383166000908152600d60205260409020805482919084908110610d2657fe5b6001600160a01b0382166000908152600d6020526040812080548390811061218757fe5b906000526020600020906007020160040154905092915050565b600082820183811015610e4b57600080fd5b6001600160a01b0382166000908152600d60205260408120805482918291859081106121db57fe5b600091825260208083206007909202909101546001600160a01b038881168452600d909252604090922080549190921692508590811061221757fe5b60009182526020808320600160079093020191909101546001600160a01b039093168252600f815260408083209383529290522054949350505050565b6001600160a01b0382166000908152600d602052604081208054829182918590811061227c57fe5b600091825260208083206007909202909101546001600160a01b038881168452600d90925260409092208054919092169250859081106122b857fe5b6000918252602080832060016007909302018201546001600160a01b039094168352600f815260408084209484529390529190200154949350505050565b600b55565b600c55565b600755565b600955565b600a55565b600455565b600555565b600655565b600355565b600855565b60008282111561233757600080fd5b5090039056fea165627a7a72305820078ad808aa7a058fdad0b26f147a9abc48c77ceee7555c7d0e9a73b2795758fc0029000000000000000000000000cb102cbfad94d71596d7d9172072da8b86e60fbd
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103275760003560e01c806397440d40116101b8578063ddaffe5811610104578063efd9066f116100a2578063f7138aae1161007c578063f7138aae14610a72578063f75ce5d414610a9e578063fed57f1814610ac4578063ff1b450414610af657610327565b8063efd9066f14610a3c578063f17a3bec14610a44578063f480454a14610a4c57610327565b8063e2950c9c116100de578063e2950c9c1461098a578063e325ef74146109c4578063eaf53c77146109ea578063ec8edf7a14610a1657610327565b8063ddaffe5814610926578063dfc2d1ba1461094c578063e22648501461098257610327565b8063b8ea578e11610171578063c88587031161014b578063c88587031461089a578063ce0a6d5f146108c6578063d46655f4146108ce578063d9249bff146108f457610327565b8063b8ea578e146107d5578063c1ed5a7414610824578063c47ac1ac1461089257610327565b806397440d40146106d15780639dd86e0f14610703578063a0b2d57f14610730578063a1692f0414610738578063a34e79bf1461077d578063a72c3520146107a957610327565b806343148d23116102775780636eeeaaa5116102305780638831d5901161020a5780638831d5901461067057806388d519c4146106955780639532cb2c1461069d57806396cf1455146106a557610327565b80636eeeaaa51461061657806379ade32f1461061e578063832c2e401461064a57610327565b806343148d231461052a5780634e718659146105565780636101c166146105795780636122f8401461059f5780636a964451146105ea5780636ad5b3ea146105f257610327565b8063200e7ccf116102e457806334f15b69116102be57806334f15b691461047657806334f45c3e146104b25780633739e439146104de5780633f4a7efa1461050457610327565b8063200e7ccf1461041657806324da7b691461041e5780632bc226281461044a57610327565b8063048dc9901461032c5780630d2c1104146103605780630ea9c9841461037a57806314f07b3c1461038257806318190817146103b45780631dc130a2146103e0575b600080fd5b61035e6004803603606081101561034257600080fd5b506001600160a01b038135169060208101359060400135610b22565b005b610368610c2d565b60408051918252519081900360200190f35b61035e610c33565b61035e6004803603606081101561039857600080fd5b506001600160a01b038135169060208101359060400135610c35565b61035e600480360360408110156103ca57600080fd5b506001600160a01b038135169060200135610d40565b6103fd600480360360208110156103f657600080fd5b5035610ddf565b6040805192835290151560208301528051918290030190f35b610368610dfb565b6103686004803603604081101561043457600080fd5b506001600160a01b038135169060200135610e01565b6103686004803603604081101561046057600080fd5b506001600160a01b038135169060200135610e3f565b61035e6004803603608081101561048c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e52565b610368600480360360408110156104c857600080fd5b506001600160a01b038135169060200135610f6e565b61035e600480360360208110156104f457600080fd5b50356001600160a01b0316610fac565b6103686004803603602081101561051a57600080fd5b50356001600160a01b03166110bd565b6103686004803603604081101561054057600080fd5b506001600160a01b03813516906020013561110b565b61035e6004803603604081101561056c57600080fd5b5080359060200135611149565b6103686004803603602081101561058f57600080fd5b50356001600160a01b03166111de565b6105c6600480360360208110156105b557600080fd5b50356001600160c01b031916611219565b604080516001600160c01b0319909316835260208301919091528051918290030190f35b6103686113c6565b6105fa6113cc565b604080516001600160a01b039092168252519081900360200190f35b6103686113db565b6103686004803603604081101561063457600080fd5b506001600160a01b0381351690602001356113e1565b6103686004803603602081101561066057600080fd5b50356001600160a01b031661141f565b61035e6004803603604081101561068657600080fd5b50803590602001351515611431565b61036861154c565b610368611552565b6105fa600480360360408110156106bb57600080fd5b506001600160a01b038135169060200135611558565b61035e600480360360608110156106e757600080fd5b506001600160a01b03813516906020810135906040013561159d565b61035e6004803603604081101561071957600080fd5b506001600160c01b031981351690602001356116a8565b6105fa611925565b6107646004803603604081101561074e57600080fd5b506001600160a01b038135169060200135611934565b6040805192835260208301919091528051918290030190f35b6103686004803603604081101561079357600080fd5b506001600160a01b038135169060200135611958565b6105fa600480360360408110156107bf57600080fd5b506001600160a01b038135169060200135611996565b610801600480360360408110156107eb57600080fd5b506001600160a01b0381351690602001356119db565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6108506004803603604081101561083a57600080fd5b506001600160a01b038135169060200135611a1e565b604080516001600160a01b0390981688526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b610368611a7f565b61035e600480360360408110156108b057600080fd5b506001600160a01b038135169060200135611a85565b610368611b24565b61035e600480360360208110156108e457600080fd5b50356001600160a01b0316611b2a565b61035e6004803603606081101561090a57600080fd5b506001600160a01b038135169060208101359060400135611bb9565b6103686004803603602081101561093c57600080fd5b50356001600160a01b0316611d1c565b6103686004803603606081101561096257600080fd5b506001600160a01b03813581169160208101359091169060400135611d2e565b610368611edd565b6109b0600480360360208110156109a057600080fd5b50356001600160a01b0316611ee3565b604080519115158252519081900360200190f35b610368600480360360208110156109da57600080fd5b50356001600160a01b0316611f0c565b61035e60048036036040811015610a0057600080fd5b506001600160a01b038135169060200135611f27565b61035e60048036036020811015610a2c57600080fd5b50356001600160a01b0316611fc6565b61036861206b565b6105fa612071565b61036860048036036020811015610a6257600080fd5b50356001600160a01b0316612080565b61036860048036036040811015610a8857600080fd5b506001600160a01b03813516906020013561209b565b61036860048036036020811015610ab457600080fd5b50356001600160a01b03166120a7565b61035e60048036036060811015610ada57600080fd5b506001600160a01b0381351690602081013590604001356120b9565b61036860048036036040811015610b0c57600080fd5b506001600160a01b038135169060200135612163565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610b7057600080fd5b505afa158015610b84573d6000803e3d6000fd5b505050506040513d6020811015610b9a57600080fd5b5051610ba557600080fd5b6001600160a01b0383166000908152600d602052604090208054610bef91839185908110610bcf57fe5b9060005260206000209060070201600501546121a190919063ffffffff16565b6001600160a01b0384166000908152600d60205260409020805484908110610c1357fe5b906000526020600020906007020160050181905550505050565b60055481565b565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d6020811015610cad57600080fd5b5051610cb857600080fd5b6001600160a01b0383166000908152600d602052604090208054610d0291839185908110610ce257fe5b9060005260206000209060070201600601546121a190919063ffffffff16565b6001600160a01b0384166000908152600d60205260409020805484908110610d2657fe5b906000526020600020906007020160060181905550505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610d8e57600080fd5b505afa158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b5051610dc357600080fd5b6001600160a01b03909116600090815260106020526040902055565b6013602052600090815260409020805460019091015460ff1682565b60065481565b6001600160a01b0382166000908152600e60205260408120805483908110610e2557fe5b906000526020600020906002020160010154905092915050565b6000610e4b83836121b3565b9392505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b5051610ed557600080fd5b6001600160a01b0383166000908152600f60209081526040808320858452909152902054610f09908263ffffffff6121a116565b6001600160a01b038085166000818152600f602090815260408083208884528252918290209490945580518581529051869492938916927f05456de91d83e21ad7c41a09ae7cb41836049c49e6ddaf07bdfc40c2231885d2928290030190a450505050565b6001600160a01b0382166000908152600d60205260408120805483908110610f9257fe5b906000526020600020906007020160050154905092915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015610ffa57600080fd5b505afa15801561100e573d6000803e3d6000fd5b505050506040513d602081101561102457600080fd5b505161102f57600080fd5b61103881611ee3565b1561108d5760408051600160e51b62461bcd02815260206004820152601560248201527f546f6b656e7320616c726561647920626f6f6b65640000000000000000000000604482015290519081900360640190fd5b6004546110a190429063ffffffff6121a116565b6001600160a01b03909116600090815260146020526040902055565b6000805b6001600160a01b0383166000908152600d6020526040902054811015611105576110fb6110ee8483612254565b839063ffffffff6121a116565b91506001016110c1565b50919050565b6001600160a01b0382166000908152600d6020526040812080548390811061112f57fe5b906000526020600020906007020160030154905092915050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505050506040513d60208110156111c157600080fd5b50516111cc57600080fd5b60009182526013602052604090912055565b6000805b6001600160a01b0383166000908152600d60205260409020548110156111055761120f6110ee84836121b3565b91506001016111e2565b806000600160d41b650544f4b45585026001600160c01b0319831614156112435750600b546113c1565b600160cc1b660544f4b5354455026001600160c01b03198416141561126b5750600c546113c1565b600160ca1b6614905313d0d2d5026001600160c01b03198416141561129357506007546113c1565b600160d01b655241434f4d4d026001600160c01b0319841614156112ba57506009546113c1565b600160d01b6552414d415843026001600160c01b0319841614156112e15750600a546113c1565b600160ca1b6610d05093d3d2d5026001600160c01b03198416141561131557610e106004548161130d57fe5b0490506113c1565b600160ca1b6610d05313d0d2d5026001600160c01b03198416141561134257620151806005548161130d57fe5b600160ca1b6613559313d0d2d5026001600160c01b03198416141561136f57620151806006548161130d57fe5b600160c21b67145553d313d0d2d5026001600160c01b03198416141561139d57620151806003548161130d57fe5b600160c81b664a4f494e464545026001600160c01b0319841614156113c157506008545b915091565b600a5481565b6002546001600160a01b031681565b60085481565b6001600160a01b0382166000908152600d6020526040812080548390811061140557fe5b906000526020600020906007020160010154905092915050565b60116020526000908152604090205481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561147f57600080fd5b505afa158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b50516114b457600080fd5b600181151514156115295760008281526013602052604090206001015460ff16156115295760408051600160e51b62461bcd02815260206004820152601c60248201527f436f766572206e6f746520616c7265616479206465706f736974656400000000604482015290519081900360640190fd5b600091825260136020526040909120600101805460ff1916911515919091179055565b600c5481565b60045481565b6001600160a01b0382166000908152600d6020526040812080548390811061157c57fe5b60009182526020909120600790910201546001600160a01b03169392505050565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b1580156115eb57600080fd5b505afa1580156115ff573d6000803e3d6000fd5b505050506040513d602081101561161557600080fd5b505161162057600080fd5b6001600160a01b0383166000908152600d60205260409020805461166a9183918590811061164a57fe5b9060005260206000209060070201600401546121a190919063ffffffff16565b6001600160a01b0384166000908152600d6020526040902080548490811061168e57fe5b906000526020600020906007020160040181905550505050565b60005460408051600160e11b632c1a733d02815233600482015290516001600160a01b0390921691635834e67a91602480820192602092909190829003018186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d602081101561172057600080fd5b505161172b57600080fd5b600160d41b650544f4b45585026001600160c01b03198316141561175757611752816122f6565b611921565b600160cc1b660544f4b5354455026001600160c01b03198316141561177f57611752816122fb565b600160ca1b6614905313d0d2d5026001600160c01b0319831614156117a75761175281612300565b600160d01b655241434f4d4d026001600160c01b0319831614156117ce5761175281612305565b600160d01b6552414d415843026001600160c01b0319831614156117f5576117528161230a565b600160ca1b6610d05093d3d2d5026001600160c01b0319831614156118215761175281610e100261230f565b600160ca1b6610d05313d0d2d5026001600160c01b03198316141561184e57611752816201518002612314565b600160ca1b6613559313d0d2d5026001600160c01b03198316141561187b57611752816201518002612319565b600160c21b67145553d313d0d2d5026001600160c01b0319831614156118a95761175281620151800261231e565b600160c81b664a4f494e464545026001600160c01b0319831614156118d15761175281612323565b60408051600160e51b62461bcd02815260206004820152601260248201527f496e76616c696420706172616d20636f64650000000000000000000000000000604482015290519081900360640190fd5b5050565b6000546001600160a01b031681565b600f6020908152600092835260408084209091529082529020805460019091015482565b6001600160a01b0382166000908152600d6020526040812080548390811061197c57fe5b906000526020600020906007020160060154905092915050565b6001600160a01b0382166000908152600e602052604081208054839081106119ba57fe5b60009182526020909120600290910201546001600160a01b03169392505050565b600e60205281600052604060002081815481106119f457fe5b6000918252602090912060029091020180546001909101546001600160a01b039091169250905082565b600d6020528160005260406000208181548110611a3757fe5b600091825260209091206007909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b0390951697509295509093909287565b60075481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d6020811015611afd57600080fd5b5051611b0857600080fd5b6001600160a01b03909116600090815260116020526040902055565b60035481565b6000546001600160a01b031615611b8d576000546001600160a01b03163314611b8d5760408051600160e51b62461bcd02815260206004820152600a6024820152600160b11b692737ba1036b0b9ba32b902604482015290519081900360640190fd5b600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051611c3c57600080fd5b6001600160a01b0383166000908152600d60205260408120805484908110611c6057fe5b90600052602060002090600702016001015490506000600d6000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611ca657fe5b600091825260208083206007909202909101546001600160a01b0316808352600f82526040808420868552909252912060010154909150611ced908463ffffffff6121a116565b6001600160a01b039091166000908152600f602090815260408083209483529390529190912060010155505050565b60106020526000908152604090205481565b6000805460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611d7d57600080fd5b505afa158015611d91573d6000803e3d6000fd5b505050506040513d6020811015611da757600080fd5b5051611db257600080fd5b6001600160a01b038381166000908152600e60209081526040808320815180830183528986168082528552600d84529184205482840190815281546001808201808555938752949095209251600290950290920180546001600160a01b031916949095169390931784555192810192909255611e2d91612328565b6001600160a01b039485166000908152600d60209081526040808320815160e081018352978916885287830185815242928901928352606089019788526080890185815260a08a0186815260c08b01878152845460018082018755958952969097209a516007909602909a0180546001600160a01b03191695909b16949094178a555190890155516002880155935160038701559251600486015592516005850155505160069092019190915590565b60095481565b6001600160a01b038116600090815260146020526040812054421015611f07575060015b919050565b6001600160a01b03166000908152600d602052604090205490565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051611faa57600080fd5b6001600160a01b03909116600090815260126020526040902055565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561201457600080fd5b505afa158015612028573d6000803e3d6000fd5b505050506040513d602081101561203e57600080fd5b505161204957600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600b5481565b6001546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000610e4b8383612254565b60126020526000908152604090205481565b60005460408051600160e21b6323c5b10702815233600482015290516001600160a01b0390921691638f16c41c91602480820192602092909190829003018186803b15801561210757600080fd5b505afa15801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b505161213c57600080fd5b6001600160a01b0383166000908152600d60205260409020805482919084908110610d2657fe5b6001600160a01b0382166000908152600d6020526040812080548390811061218757fe5b906000526020600020906007020160040154905092915050565b600082820183811015610e4b57600080fd5b6001600160a01b0382166000908152600d60205260408120805482918291859081106121db57fe5b600091825260208083206007909202909101546001600160a01b038881168452600d909252604090922080549190921692508590811061221757fe5b60009182526020808320600160079093020191909101546001600160a01b039093168252600f815260408083209383529290522054949350505050565b6001600160a01b0382166000908152600d602052604081208054829182918590811061227c57fe5b600091825260208083206007909202909101546001600160a01b038881168452600d90925260409092208054919092169250859081106122b857fe5b6000918252602080832060016007909302018201546001600160a01b039094168352600f815260408084209484529390529190200154949350505050565b600b55565b600c55565b600755565b600955565b600a55565b600455565b600555565b600655565b600355565b600855565b60008282111561233757600080fd5b5090039056fea165627a7a72305820078ad808aa7a058fdad0b26f147a9abc48c77ceee7555c7d0e9a73b2795758fc0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cb102cbfad94d71596d7d9172072da8b86e60fbd
-----Decoded View---------------
Arg [0] : _walletAdd (address): 0xCB102CbfaD94d71596d7d9172072Da8b86e60fBD
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cb102cbfad94d71596d7d9172072da8b86e60fbd
Deployed Bytecode Sourcemap
789:25420:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;789:25420:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10470:361;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10470:361:3;;;;;;;;;;;;;:::i;:::-;;977:22;;;:::i;:::-;;;;;;;;;;;;;;;;5330:80;;;:::i;11086:403::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11086:403:3;;;;;;;;;;;;;:::i;20349:223::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20349:223:3;;;;;;;;:::i;3136:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3136:45:3;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1006:22;;;:::i;7861:311::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7861:311:3;;;;;;;;:::i;14281:256::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14281:256:3;;;;;;;;:::i;12396:681::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;12396:681:3;;;;;;;;;;;;;;;;;;;;;;:::i;6188:292::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6188:292:3;;;;;;;;:::i;19203:180::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19203:180:3;-1:-1:-1;;;;;19203:180:3;;:::i;15981:450::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15981:450:3;-1:-1:-1;;;;;15981:450:3;;:::i;8410:288::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8410:288:3;;;;;;;;:::i;17079:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17079:132:3;;;;;;;:::i;15327:440::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15327:440:3;-1:-1:-1;;;;;15327:440:3;;:::i;4306:968::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4306:968:3;-1:-1:-1;;;;;;4306:968:3;;:::i;:::-;;;;-1:-1:-1;;;;;;4306:968:3;;;;;;;;;;;;;;;;;;;;;1132:34;;;:::i;862:36::-;;;:::i;:::-;;;;-1:-1:-1;;;;;862:36:3;;;;;;;;;;;;;;1065:22;;;:::i;7299:289::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7299:289:3;;;;;;;;:::i;2763:68::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2763:68:3;-1:-1:-1;;;;;2763:68:3;;:::i;16633:262::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16633:262:3;;;;;;;;;:::i;1205:21::-;;;:::i;950:20::-;;;:::i;5650:324::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5650:324:3;;;;;;;;:::i;9876:373::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9876:373:3;;;;;;;;;;;;;:::i;21158:1066::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;21158:1066:3;;;;;;;;:::i;88:20:1:-;;;:::i;2458:89:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2458:89:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6730:318;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6730:318:3;;;;;;;;:::i;17495:330::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17495:330:3;;;;;;;;:::i;2237:57::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2237:57:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2237:57:3;;;;;;;;;;;;;;;;;;;;;1969:56;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1969:56:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1969:56:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1035:23;;;:::i;19929:250::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19929:250:3;;;;;;;;:::i;905:38::-;;;:::i;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;13350:682:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13350:682:3;;;;;;;;;;;;;:::i;2556:60::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2556:60:3;-1:-1:-1;;;;;2556:60:3;;:::i;18498:500::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18498:500:3;;;;;;;;;;;;;;;;;:::i;1094:31::-;;;:::i;19603:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19603:142:3;-1:-1:-1;;;;;19603:142:3;;:::i;:::-;;;;;;;;;;;;;;;;;;8882:218;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8882:218:3;-1:-1:-1;;;;;8882:218:3;;:::i;20763:238::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20763:238:3;;;;;;;;:::i;3963:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3963:120:3;-1:-1:-1;;;;;3963:120:3;;:::i;1173:25::-;;;:::i;115:30:1:-;;;:::i;18036:235:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18036:235:3;-1:-1:-1;;;;;18036:235:3;;:::i;14853:260::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14853:260:3;;;;;;;;:::i;2969:62::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2969:62:3;-1:-1:-1;;;;;2969:62:3;;:::i;11742:302::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11742:302:3;;;;;;;;;;;;;:::i;9327:282::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9327:282:3;;;;;;;;:::i;10470:361::-;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;;;;;10728:37:3;;;;;;:21;:37;;;;;:69;;:95;;10815:7;;10784:12;;10728:69;;;;;;;;;;;;;;;;:82;;;:86;;:95;;;;:::i;:::-;-1:-1:-1;;;;;10647:37:3;;;;;;:21;:37;;;;;:65;;10699:12;;10647:65;;;;;;;;;;;;;;;;:78;;:176;;;;10470:361;;;:::o;977:22::-;;;;:::o;5330:80::-;:::o;11086:403::-;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;;;;;11374:37:3;;;;;;:21;:37;;;;;:69;;:107;;11473:7;;11430:12;;11374:69;;;;;;;;;;;;;;;;:94;;;:98;;:107;;;;:::i;:::-;-1:-1:-1;;;;;11281:37:3;;;;;;:21;:37;;;;;:65;;11333:12;;11281:65;;;;;;;;;;;;;;;;:90;;:200;;;;11086:403;;;:::o;20349:223::-;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;;;;;20511:44:3;;;;;;;:28;:44;;;;;:53;20349:223::o;3136:45::-;;;;;;;;;;;;;;;;;;;;;:::o;1006:22::-;;;;:::o;7861:311::-;-1:-1:-1;;;;;8071:59:3;;8032:11;8071:59;;;:21;:59;;;;;:81;;8131:20;;8071:81;;;;;;;;;;;;;;;;:93;;;8062:102;;7861:311;;;;:::o;14281:256::-;14438:4;14468:61;14500:14;14516:12;14468:31;:61::i;:::-;14461:68;14281:256;-1:-1:-1;;;14281:256:3:o;12396:681::-;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;;;;;12748:53:3;;;;;;:29;:53;;;;;;;;:93;;;;;;;;:110;:133;;12863:17;12748:133;:114;:133;:::i;:::-;-1:-1:-1;;;;;12639:53:3;;;;;;;:29;:53;;;;;;;;:75;;;;;;;;;:242;;;;12915:154;;;;;;;12693:20;;12639:53;;12915:154;;;;;;;;;;;12396:681;;;;:::o;6188:292::-;-1:-1:-1;;;;;6394:51:3;;6343:17;6394:51;;;:21;:51;;;;;:65;;6446:12;;6394:65;;;;;;;;;;;;;;;;:78;;;6379:93;;6188:292;;;;:::o;19203:180::-;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;;;;;;19278:21:3;19295:3;19278:16;:21::i;:::-;19277:22;19269:56;;;;;-1:-1:-1;;;;;19269:56:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;19366:8;;19358:17;;:3;;:17;:7;:17;:::i;:::-;-1:-1:-1;;;;;19336:19:3;;;;;;;:14;:19;;;;;:39;19203:180::o;15981:450::-;16115:28;;16200:224;-1:-1:-1;;;;;16221:37:3;;;;;;:21;:37;;;;;:44;16217:48;;16200:224;;;16313:99;16359:52;16393:14;16409:1;16359:33;:52::i;:::-;16313:23;;:99;:27;:99;:::i;:::-;16287:125;-1:-1:-1;16267:3:3;;16200:224;;;;15981:450;;;:::o;8410:288::-;-1:-1:-1;;;;;8613:51:3;;8575:11;8613:51;;;:21;:51;;;;;:65;;8665:12;;8613:65;;;;;;;;;;;;;;;;:77;;;8604:86;;8410:288;;;;:::o;17079:132::-;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;;;;;;17167:20:3;;;;:11;:20;;;;;;:36;17079:132::o;15327:440::-;15461:26;;15542:218;-1:-1:-1;;;;;15563:37:3;;;;;;:21;:37;;;;;:44;15559:48;;15542:218;;;15653:95;15697:50;15729:14;15745:1;15697:31;:50::i;15653:95::-;15629:119;-1:-1:-1;15609:3:3;;15542:218;;4306:968;4415:4;4368:14;-1:-1:-1;;;;;;;;;;;4434:16:3;;;4430:836;;;-1:-1:-1;4475:13:3;;4430:836;;;-1:-1:-1;;;;;;;;;;;4513:17:3;;;4509:757;;;-1:-1:-1;4555:9:3;;4509:757;;;-1:-1:-1;;;;;;;;;;;4588:17:3;;;4584:682;;;-1:-1:-1;4630:11:3;;4584:682;;;-1:-1:-1;;;;;;;;;;;4665:16:3;;;4661:605;;;-1:-1:-1;4706:19:3;;4661:605;;;-1:-1:-1;;;;;;;;;;;4749:16:3;;;4745:521;;;-1:-1:-1;4790:22:3;;4745:521;;;-1:-1:-1;;;;;;;;;;;4836:17:3;;;4832:434;;;4890:7;4878:8;;:20;;;;;;4872:26;;4832:434;;;-1:-1:-1;;;;;;;;;;;4922:17:3;;;4918:348;;;4978:6;4964:10;;:21;;;;4918:348;-1:-1:-1;;;;;;;;;;;5009:17:3;;;5005:261;;;5065:6;5051:10;;:21;;;;5005:261;-1:-1:-1;;;;;;;;;;;5096:18:3;;;5092:174;;;5169:6;5139:26;;:37;;;;5092:174;-1:-1:-1;;;;;;;;;;;5200:17:3;;;5196:70;;;-1:-1:-1;5242:10:3;;5196:70;4306:968;;;:::o;1132:34::-;;;;:::o;862:36::-;;;-1:-1:-1;;;;;862:36:3;;:::o;1065:22::-;;;;:::o;7299:289::-;-1:-1:-1;;;;;7495:51:3;;7454:12;7495:51;;;:21;:51;;;;;:65;;7547:12;;7495:65;;;;;;;;;;;;;;;;:85;;;7485:95;;7299:289;;;;:::o;2763:68::-;;;;;;;;;;;;;:::o;16633:262::-;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;;;;;;16725:4:3;16717:12;;;;16713:123;;;16755:20;;;;:11;:20;;;;;:32;;;;;16754:33;16746:74;;;;;-1:-1:-1;;;;;16746:74:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;16848:20;;;;:11;:20;;;;;;:32;;:39;;-1:-1:-1;;16848:39:3;;;;;;;;;;16633:262::o;1205:21::-;;;;:::o;950:20::-;;;;:::o;5650:324::-;-1:-1:-1;;;;;5879:51:3;;5807:29;5879:51;;;:21;:51;;;;;:65;;5931:12;;5879:65;;;;;;;;;;;;;;;;;;;:87;-1:-1:-1;;;;;5879:87:3;;5650:324;-1:-1:-1;;;5650:324:3:o;9876:373::-;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;;;;;10144:37:3;;;;;;:21;:37;;;;;:69;;:97;;10233:7;;10200:12;;10144:69;;;;;;;;;;;;;;;;:84;;;:88;;:97;;;;:::i;:::-;-1:-1:-1;;;;;10061:37:3;;;;;;:21;:37;;;;;:65;;10113:12;;10061:65;;;;;;;;;;;;;;;;:80;;:180;;;;9876:373;;;:::o;21158:1066::-;21237:2;;:36;;;-1:-1:-1;;;;;21237:36:3;;21262:10;21237:36;;;;;;-1:-1:-1;;;;;21237:2:3;;;;:24;;:36;;;;;;;;;;;;;;;:2;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;21237:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21237:36:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21237:36:3;21229:45;;;;;;-1:-1:-1;;;;;;;;;;;21289:16:3;;;21285:931;;;21324:22;21342:3;21324:17;:22::i;:::-;21285:931;;;-1:-1:-1;;;;;;;;;;;21371:17:3;;;21367:849;;;21407:18;21421:3;21407:13;:18::i;21367:849::-;-1:-1:-1;;;;;;;;;;;21449:17:3;;;21445:771;;;21485:23;21504:3;21485:18;:23::i;21445:771::-;-1:-1:-1;;;;;;;;;;;21532:16:3;;;21528:688;;;21567:28;21591:3;21567:23;:28::i;21528:688::-;-1:-1:-1;;;;;;;;;;;21619:16:3;;;21615:601;;;21654:31;21681:3;21654:26;:31::i;21615:601::-;-1:-1:-1;;;;;;;;;;;21709:17:3;;;21705:511;;;21745:30;21761:3;21767:7;21761:13;21745:15;:30::i;21705:511::-;-1:-1:-1;;;;;;;;;;;21799:17:3;;;21795:421;;;21835:31;21853:3;21859:6;21853:12;21835:17;:31::i;21795:421::-;-1:-1:-1;;;;;;;;;;;21890:17:3;;;21886:330;;;21926:31;21944:3;21950:6;21944:12;21926:17;:31::i;21886:330::-;-1:-1:-1;;;;;;;;;;;21981:18:3;;;21977:239;;;22018:44;22049:3;22055:6;22049:12;22018:30;:44::i;21977:239::-;-1:-1:-1;;;;;;;;;;;22086:17:3;;;22082:134;;;22122:19;22137:3;22122:14;:19::i;22082:134::-;22176:28;;;-1:-1:-1;;;;;22176:28:3;;;;;;;;;;;;;;;;;;;;;;;;;;;22082:134;21158:1066;;:::o;88:20:1:-;;;-1:-1:-1;;;;;88:20:1;;:::o;2458:89:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6730:318::-;-1:-1:-1;;;;;6950:51:3;;6903:15;6950:51;;;:21;:51;;;;;:65;;7002:12;;6950:65;;;;;;;;;;;;;;;;:90;;;6937:103;;6730:318;;;;:::o;17495:330::-;-1:-1:-1;;;;;17722:59:3;;17667:21;17722:59;;;:21;:59;;;;;:81;;17782:20;;17722:81;;;;;;;;;;;;;;;;;;;:95;-1:-1:-1;;;;;17722:95:3;;17495:330;-1:-1:-1;;;17495:330:3:o;2237:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2237:57:3;;;;-1:-1:-1;2237:57:3;-1:-1:-1;2237:57:3;:::o;1969:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1969:56:3;;;;-1:-1:-1;1969:56:3;;-1:-1:-1;1969:56:3;;;;;:::o;1035:23::-;;;;:::o;19929:250::-;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;;;;;20102:60:3;;;;;;;:36;:60;;;;;:69;19929:250::o;905:38::-;;;;:::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;13350:682:3:-;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;;;;;13566:51:3;;13539:24;13566:51;;;:21;:51;;;;;:65;;13618:12;;13566:65;;;;;;;;;;;;;;;;:85;;;13539:112;;13662:29;13694:21;:51;13730:14;-1:-1:-1;;;;;13694:51:3;-1:-1:-1;;;;;13694:51:3;;;;;;;;;;;;13746:12;13694:65;;;;;;;;;;;;;;;;;;;;;;;:87;-1:-1:-1;;;;;13694:87:3;13901:70;;;:29;:70;;;;;;:91;;;;;;;;13694:87;13901:110;;13694:87;;-1:-1:-1;13901:123:3;;14016:7;13901:123;:114;:123;:::i;:::-;-1:-1:-1;;;;;13792:52:3;;;;;;;:29;:52;;;;;;;;:73;;;;;;;;;;:106;;:232;-1:-1:-1;;;13350:682:3:o;2556:60::-;;;;;;;;;;;;;:::o;18498:500::-;18676:12;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;;;;;18718:45:3;;;;;;;:21;:45;;;;;;;;18783:68;;;;;;;;;;;;;18806:37;;:21;:37;;;;;:44;18783:68;;;;;;27:10:-1;;18858:1:3;23:18:-1;;;45:23;;;18718:134:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18718:134:3;;;;;;;;;;;;;;;;;;;18717:143;;:140;:143::i;:::-;-1:-1:-1;;;;;18871:37:3;;;;;;;:21;:37;;;;;;;;18928:61;;;;;;;;;;;;;;;;;;18967:3;18928:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;18871:119:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18871:119:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18871:119:3;;;;;;;;;18928:61;18498:500::o;1094:31::-;;;;:::o;19603:142::-;-1:-1:-1;;;;;19693:19:3;;19662:8;19693:19;;;:14;:19;;;;;;19687:3;:25;19683:54;;;-1:-1:-1;19733:4:3;19683:54;19603:142;;;:::o;8882:218::-;-1:-1:-1;;;;;9048:37:3;9010:11;9048:37;;;:21;:37;;;;;:44;;8882:218::o;20763:238::-;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;;;;;20930:54:3;;;;;;;:30;:54;;;;;:63;20763:238::o;3963:120::-;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;;;;;;4051:13:3;:24;;-1:-1:-1;;;;;;4051:24:3;-1:-1:-1;;;;;4051:24:3;;;;;;;;;;3963:120::o;1173:25::-;;;;:::o;115:30:1:-;;;-1:-1:-1;;;;;115:30:1;;:::o;18036:235:3:-;-1:-1:-1;;;;;18211:45:3;18173:11;18211:45;;;:21;:45;;;;;:52;;18036:235::o;14853:260::-;15012:4;15042:63;15076:14;15092:12;15042:33;:63::i;2969:62::-;;;;;;;;;;;;;:::o;11742:302::-;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;;;;;11936:37:3;;;;;;:21;:37;;;;;:65;;12029:7;;11936:37;11988:12;;11936:65;;;;;9327:282;-1:-1:-1;;;;;9521:51:3;;9483:11;9521:51;;;:21;:51;;;;;:65;;9573:12;;9521:65;;;;;;;;;;;;;;;;:80;;;9512:89;;9327:282;;;;:::o;1425:150:2:-;1483:7;1515:5;;;1539:6;;;;1531:15;;;;;22494:632:3;-1:-1:-1;;;;;22786:51:3;;22654:11;22786:51;;;:21;:51;;;;;:65;;22654:11;;;;22838:12;;22786:65;;;;;;;;;;;;;;;;;;;;;:87;-1:-1:-1;;;;;22907:51:3;;;;;:21;:51;;;;;;;:65;;22786:87;;;;;-1:-1:-1;22959:12:3;;22907:65;;;;;;;;;;;;;;:85;:65;;;;;:85;;;;;-1:-1:-1;;;;;23012:67:3;;;;;:29;:67;;;;;;:89;;;;;;;:106;;22494:632;-1:-1:-1;;;;22494:632:3:o;23399:636::-;-1:-1:-1;;;;;23693:51:3;;23561:11;23693:51;;;:21;:51;;;;;:65;;23561:11;;;;23745:12;;23693:65;;;;;;;;;;;;;;;;;;;;;:87;-1:-1:-1;;;;;23814:51:3;;;;;:21;:51;;;;;;;:65;;23693:87;;;;;-1:-1:-1;23866:12:3;;23814:65;;;;;;;;;;;;;;:85;:65;;;;;:85;;;-1:-1:-1;;;;;23919:67:3;;;;;:29;:67;;;;;;:89;;;;;;;;;:108;;;23399:636;-1:-1:-1;;;;23399:636:3:o;24600:86::-;24658:13;:20;24600:86::o;24781:78::-;24835:9;:16;24781:78::o;24976:87::-;25036:11;:19;24976:87::o;24162:98::-;24226:19;:26;24162:98::o;24391:104::-;24458:22;:29;24391:104::o;25308:81::-;25365:8;:16;25308:81::o;25529:83::-;25587:10;:17;25529:83::o;25755:::-;25813:10;:17;25755:83::o;25934:112::-;26005:26;:33;25934:112::o;26120:86::-;26178:10;:20;26120:86::o;1199:150:2:-;1257:7;1290:1;1285;:6;;1277:15;;;;;;-1:-1:-1;1315:5:2;;;1199:150::o
Swarm Source
bzzr://078ad808aa7a058fdad0b26f147a9abc48c77ceee7555c7d0e9a73b2795758fc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.