Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim NN Reward | 12326571 | 1188 days ago | IN | 0 ETH | 0.00592245 | ||||
Claim NN Reward | 12321810 | 1189 days ago | IN | 0 ETH | 0.00570487 | ||||
Claim NN Reward | 12321768 | 1189 days ago | IN | 0 ETH | 0.00504614 | ||||
Claim NN Reward | 12321304 | 1189 days ago | IN | 0 ETH | 0.00532455 | ||||
Start | 11684945 | 1287 days ago | IN | 0 ETH | 0.00481646 | ||||
Load Contracts | 11684163 | 1287 days ago | IN | 0 ETH | 0.00615736 | ||||
0x60806040 | 11683721 | 1287 days ago | IN | 0 ETH | 0.11098962 |
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 | ||||
---|---|---|---|---|---|---|---|
12326571 | 1188 days ago | 0 ETH | |||||
12326571 | 1188 days ago | 0 ETH | |||||
12326571 | 1188 days ago | 0 ETH | |||||
12321810 | 1189 days ago | 0 ETH | |||||
12321810 | 1189 days ago | 0 ETH | |||||
12321810 | 1189 days ago | 0 ETH | |||||
12321768 | 1189 days ago | 0 ETH | |||||
12321768 | 1189 days ago | 0 ETH | |||||
12321768 | 1189 days ago | 0 ETH | |||||
12321304 | 1189 days ago | 0 ETH | |||||
12321304 | 1189 days ago | 0 ETH | |||||
12321304 | 1189 days ago | 0 ETH | |||||
12321177 | 1189 days ago | 0 ETH | |||||
12321177 | 1189 days ago | 0 ETH | |||||
12321124 | 1189 days ago | 0 ETH | |||||
12321056 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH | |||||
12321015 | 1189 days ago | 0 ETH |
Loading...
Loading
Contract Name:
NNRewardPool
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; import "./lib/SafeMath.sol"; import "./iface/INestPool.sol"; import "./lib/SafeERC20.sol"; import './lib/TransferHelper.sol'; import "./iface/INestMining.sol"; import "./iface/INNRewardPool.sol"; /// @title NNRewardPool /// @author Inf Loop - <[email protected]> /// @author Paradox - <[email protected]> /// @notice The NNRewardPool contract distributes the mining rewards, /// 15% share of the amount of nest-token produced by miners /// @dev The nest-tokens are put in NestPool. This contract only traces /// the sum-amount of all of the rewards (nest-token) /// - NNToken is pre-deployed in Nest v3.0, so we should connect (legacy) /// with NNRewardPool. Whenever a NN holder transfers NN token to another, /// NNToken will call back NNRewardPool.nodeCount() to settle rewards (decisively) /// for both sender and receiver. /// - After upgrading, NNRewardPool will count rewards from zero. Any NN holder should /// claim rewards that had been issued before upgrading from the old contract. Old /// data about NN rewards will be dropped in this contract, while it can also accessible /// through OLD (Nest v3.0) contracts. contract NNRewardPool is INNRewardPool { using SafeMath for uint256; /* ========== STATE ============== */ uint8 public flag; // | 1: active // | 0: uninitialized // | 2: shutdown uint8 constant NNREWARD_FLAG_UNINITIALIZED = 0; uint8 constant NNREWARD_FLAG_ACTIVE = 1; uint8 constant NNREWARD_FLAG_PAUSED = 2; uint256 public rewardSum; uint256 public totalSupplyNN; /// @dev From nest-node address to checkpoints of reward-sum mapping(address => uint256) public rewardSumCheckpoint; /* ========== ADDRESSES ============== */ address public C_NNToken; address public C_NestToken; address public C_NestPool; address public C_NestMining; address public governance; /* ========== CONSTRUCTOR ========== */ /// @notice Constructor of NNRewardPool contract /// @dev The NNToken contract was created on the Ethereum mainnet /// @param NestPool The address of NestPool Contract /// @param NNToken The address of NestNode Token Contract constructor(address NestPool, address NNToken) public { C_NestPool = NestPool; C_NNToken = NNToken; totalSupplyNN = uint128(ERC20(C_NNToken).totalSupply()); governance = msg.sender; flag = NNREWARD_FLAG_UNINITIALIZED; } function start() external onlyGovernance { require(flag == NNREWARD_FLAG_UNINITIALIZED, "Nest:NTC:!flag"); flag = NNREWARD_FLAG_ACTIVE; } /* ========== MODIFIERS ========== */ modifier onlyBy(address _account) { require(msg.sender == _account, "Nest:NN:!Auth"); _; } modifier noContract() { require(address(msg.sender) == address(tx.origin), "Nest:NN:BAN(contract)"); _; } modifier onlyGovernance() { require(msg.sender == governance, "Nest:NN:!governance"); _; } modifier onlyGovOrBy(address _account) { if (msg.sender != governance) { require(msg.sender == _account, "Nest:NN:!Auth"); } _; } /* ========== GOVERNANCE ========== */ /// @dev To ensure that all of governance-addresses be consistent, every contract /// besides NestPool must load newest `governance` from NestPool. function loadGovernance() override external { governance = INestPool(C_NestPool).governance(); } /// @dev The function loads all nest-contracts, it is supposed to be called by NestPool function loadContracts() override external onlyGovOrBy(C_NestPool) { C_NestToken = INestPool(C_NestPool).addrOfNestToken(); C_NNToken = INestPool(C_NestPool).addrOfNNToken(); C_NestMining = INestPool(C_NestPool).addrOfNestMining(); } /// @dev Stop service for emergency function pause() external onlyGovernance { require(flag == NNREWARD_FLAG_ACTIVE, "Nest:NN:!flag"); flag = NNREWARD_FLAG_PAUSED; emit FlagSet(address(msg.sender), uint256(NNREWARD_FLAG_PAUSED)); } /// @dev Resume service function resume() external onlyGovernance { require(flag == NNREWARD_FLAG_PAUSED, "Nest:NN:!flag"); flag = NNREWARD_FLAG_ACTIVE; emit FlagSet(address(msg.sender), uint256(NNREWARD_FLAG_ACTIVE)); } /* ========== ADDING REWARDS ========== */ /// @notice Add rewards for Nest-Nodes, only NestMining (contract) are allowed /// @dev The rewards need to pull from NestPool /// @param _amount The amount of Nest token as the rewards to each nest-node function addNNReward(uint256 _amount) override external onlyBy(C_NestMining) { if (_amount > 0) { uint256 _newSum = uint256(rewardSum).add(_amount); rewardSum = uint128(_newSum); emit NNRewardAdded(_amount, _newSum); } return; } // /// @dev The updator is to update the sum of NEST tokens mined in NestMining // function updateNNReward() external // { // require(flag == NNREWARD_FLAG_ACTIVE, "Nest:NN:!flag"); // uint256 _allMined = INestMining(C_NestMining).minedNestAmount(); // if (_allMined > rewardSum) { // uint256 _amount = _allMined.mul(NN_REWARD_PERCENTAGE).div(100).sub(rewardSum); // uint256 _newSum = uint256(rewardSum).add(_amount); // rewardSum = uint128(_newSum); // emit NNRewardAdded(_amount, _newSum); // } // } // modifier updateNNReward1() // { // require(flag == NNREWARD_FLAG_ACTIVE, "Nest:NN:!flag"); // uint256 _allMined = INestMining(C_NestMining).minedNestAmount(); // if (_allMined > rewardSum) { // uint256 _amount = _allMined.mul(NN_REWARD_PERCENTAGE).div(100).sub(rewardSum); // uint256 _newSum = uint256(rewardSum).add(_amount); // rewardSum = uint128(_newSum); // emit NNRewardAdded(_amount, _newSum); // } // _; // } /* ========== CLAIM/SETTLEMENT ========== */ /// @notice Claim rewards by Nest-Nodes /// @dev The rewards need to pull from NestPool function claimNNReward() override external noContract { require(flag == NNREWARD_FLAG_ACTIVE, "Nest:NN:!flag"); uint256 blnc = ERC20(C_NNToken).balanceOf(address(msg.sender)); require(blnc > 0, "Nest:NN:!(NNToken)"); uint256 total = totalSupplyNN; uint256 sum = rewardSum; uint256 reward = sum.sub(rewardSumCheckpoint[address(msg.sender)]); uint256 share = reward.mul(blnc).div(total); rewardSumCheckpoint[address(msg.sender)] = sum; emit NNRewardClaimed(address(msg.sender), share); INestPool(C_NestPool).withdrawNest(address(this), share); require(ERC20(C_NestToken).transfer(address(msg.sender), share), "Nest:NN:!TRANS"); return; } /// @notice Settle rewards for two NN holders /// @dev The function is for callback from NNToken. It is banned for contracts. /// @param from The address of the NN sender /// @param to The address of the NN receiver function settleNNReward(address from, address to) internal { require(flag == NNREWARD_FLAG_ACTIVE, "Nest:NN:!flag"); uint256 fromBlnc = ERC20(C_NNToken).balanceOf(address(from)); require (fromBlnc > 0, "Nest:NN:!(fromBlnc)"); uint256 sum = rewardSum; uint256 total = totalSupplyNN; uint256 fromReward = sum.sub(rewardSumCheckpoint[from]).mul(fromBlnc).div(total); rewardSumCheckpoint[from] = sum; uint256 toBlnc = ERC20(C_NNToken).balanceOf(address(to)); uint256 toReward = sum.sub(rewardSumCheckpoint[to]).mul(toBlnc).div(total); rewardSumCheckpoint[to] = sum; if (fromReward > 0) { INestPool(C_NestPool).withdrawNest(address(this), fromReward); require(ERC20(C_NestToken).transfer(from, fromReward), "Nest:NN:!TRANS"); emit NNRewardClaimed(from, uint128(fromReward)); } if (toReward > 0) { INestPool(C_NestPool).withdrawNest(address(this), toReward); require(ERC20(C_NestToken).transfer(to, toReward), "Nest:NN:!TRANS"); emit NNRewardClaimed(to, uint128(toReward)); } return; } /// @dev The callback function called by NNToken.transfer() /// @param fromAdd The address of 'from' to transfer /// @param toAdd The address of 'to' to transfer function nodeCount(address fromAdd, address toAdd) override external onlyBy(address(C_NNToken)) { settleNNReward(fromAdd, toAdd); return; } /// @notice Show the amount of rewards unclaimed /// @return reward The reward of a NN holder function unclaimedNNReward() override external view returns (uint256 reward) { uint256 blnc = ERC20(C_NNToken).balanceOf(address(msg.sender)); uint256 sum = uint256(rewardSum); uint256 total = uint256(totalSupplyNN); reward = sum.sub(rewardSumCheckpoint[address(msg.sender)]).mul(blnc).div(total); } }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; // a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math) library SafeMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x, 'ds-math-add-overflow'); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, 'ds-math-sub-underflow'); } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow'); } function div(uint x, uint y) internal pure returns (uint z) { require(y > 0, "ds-math-div-zero"); z = x / y; // assert(a == b * c + a % b); // There is no case in which this doesn't hold } }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; import "../lib/SafeERC20.sol"; interface INestPool { // function getNTokenFromToken(address token) view external returns (address); // function setNTokenToToken(address token, address ntoken) external; function addNest(address miner, uint256 amount) external; function addNToken(address contributor, address ntoken, uint256 amount) external; function depositEth(address miner) external payable; function depositNToken(address miner, address from, address ntoken, uint256 amount) external; function freezeEth(address miner, uint256 ethAmount) external; function unfreezeEth(address miner, uint256 ethAmount) external; function freezeNest(address miner, uint256 nestAmount) external; function unfreezeNest(address miner, uint256 nestAmount) external; function freezeToken(address miner, address token, uint256 tokenAmount) external; function unfreezeToken(address miner, address token, uint256 tokenAmount) external; function freezeEthAndToken(address miner, uint256 ethAmount, address token, uint256 tokenAmount) external; function unfreezeEthAndToken(address miner, uint256 ethAmount, address token, uint256 tokenAmount) external; function getNTokenFromToken(address token) external view returns (address); function setNTokenToToken(address token, address ntoken) external; function withdrawEth(address miner, uint256 ethAmount) external; function withdrawToken(address miner, address token, uint256 tokenAmount) external; function withdrawNest(address miner, uint256 amount) external; function withdrawEthAndToken(address miner, uint256 ethAmount, address token, uint256 tokenAmount) external; // function withdrawNToken(address miner, address ntoken, uint256 amount) external; function withdrawNTokenAndTransfer(address miner, address ntoken, uint256 amount, address to) external; function balanceOfNestInPool(address miner) external view returns (uint256); function balanceOfEthInPool(address miner) external view returns (uint256); function balanceOfTokenInPool(address miner, address token) external view returns (uint256); function addrOfNestToken() external view returns (address); function addrOfNestMining() external view returns (address); function addrOfNTokenController() external view returns (address); function addrOfNNRewardPool() external view returns (address); function addrOfNNToken() external view returns (address); function addrOfNestStaking() external view returns (address); function addrOfNestQuery() external view returns (address); function addrOfNestDAO() external view returns (address); function addressOfBurnedNest() external view returns (address); function setGovernance(address _gov) external; function governance() external view returns(address); function initNestLedger(uint256 amount) external; function drainNest(address to, uint256 amount, address gov) external; }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.6.12; import "./Address.sol"; import "./SafeMath.sol"; library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(ERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(ERC20 token, address spender, uint256 value) internal { require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(ERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(ERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function callOptionalReturn(ERC20 token, bytes memory data) private { require(address(token).isContract(), "SafeERC20: call to non-contract"); (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } interface ERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library TransferHelper { function safeApprove(address token, address to, uint value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED'); } function safeTransfer(address token, address to, uint value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); } function safeTransferFrom(address token, address from, address to, uint value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED'); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); } }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; import "../lib/SafeERC20.sol"; interface INestMining { struct Params { uint8 miningEthUnit; // = 10; uint32 nestStakedNum1k; // = 1; uint8 biteFeeRate; // = 1; uint8 miningFeeRate; // = 10; uint8 priceDurationBlock; uint8 maxBiteNestedLevel; // = 3; uint8 biteInflateFactor; uint8 biteNestInflateFactor; } function priceOf(address token) external view returns(uint256 ethAmount, uint256 tokenAmount, uint256 bn); function priceListOfToken(address token, uint8 num) external view returns(uint128[] memory data, uint256 bn); // function priceOfTokenAtHeight(address token, uint64 atHeight) external view returns(uint256 ethAmount, uint256 tokenAmount, uint64 bn); function latestPriceOf(address token) external view returns (uint256 ethAmount, uint256 tokenAmount, uint256 bn); function priceAvgAndSigmaOf(address token) external view returns (uint128, uint128, int128, uint32); function minedNestAmount() external view returns (uint256); /// @dev Only for governance function loadContracts() external; function loadGovernance() external; function upgrade() external; function setup(uint32 genesisBlockNumber, uint128 latestMiningHeight, uint128 minedNestTotalAmount, Params calldata initParams) external; function setParams1(uint128 latestMiningHeight, uint128 minedNestTotalAmount) external; }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; /// @title NNRewardPool /// @author Inf Loop - <[email protected]> /// @author Paradox - <[email protected]> interface INNRewardPool { /* [DEPRECATED] uint256 constant DEV_REWARD_PERCENTAGE = 5; uint256 constant NN_REWARD_PERCENTAGE = 15; uint256 constant MINER_REWARD_PERCENTAGE = 80; */ /// @notice Add rewards for Nest-Nodes, only governance or NestMining (contract) are allowed /// @dev The rewards need to pull from NestPool /// @param _amount The amount of Nest token as the rewards to each nest-node function addNNReward(uint256 _amount) external; /// @notice Claim rewards by Nest-Nodes /// @dev The rewards need to pull from NestPool function claimNNReward() external ; /// @dev The callback function called by NNToken.transfer() /// @param fromAdd The address of 'from' to transfer /// @param toAdd The address of 'to' to transfer function nodeCount(address fromAdd, address toAdd) external; /// @notice Show the amount of rewards unclaimed /// @return reward The reward of a NN holder function unclaimedNNReward() external view returns (uint256 reward); /// @dev Only for governance function loadContracts() external; /// @dev Only for governance function loadGovernance() external; /* ========== EVENTS ============== */ /// @notice When rewards are added to the pool /// @param reward The amount of Nest Token /// @param allRewards The snapshot of all rewards accumulated event NNRewardAdded(uint256 reward, uint256 allRewards); /// @notice When rewards are claimed by nodes /// @param nnode The address of the nest node /// @param share The amount of Nest Token claimed by the nest node event NNRewardClaimed(address nnode, uint256 share); /// @notice When flag of state is set by governance /// @param gov The address of the governance /// @param flag The value of the new flag event FlagSet(address gov, uint256 flag); }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.6.12; library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value:amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"NestPool","type":"address"},{"internalType":"address","name":"NNToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"gov","type":"address"},{"indexed":false,"internalType":"uint256","name":"flag","type":"uint256"}],"name":"FlagSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allRewards","type":"uint256"}],"name":"NNRewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"nnode","type":"address"},{"indexed":false,"internalType":"uint256","name":"share","type":"uint256"}],"name":"NNRewardClaimed","type":"event"},{"inputs":[],"name":"C_NNToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"C_NestMining","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"C_NestPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"C_NestToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addNNReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimNNReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flag","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"loadContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"loadGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromAdd","type":"address"},{"internalType":"address","name":"toAdd","type":"address"}],"name":"nodeCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resume","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardSumCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupplyNN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unclaimedNNReward","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516114bb3803806114bb8339818101604052604081101561003357600080fd5b508051602091820151600680546001600160a01b038085166001600160a01b03199283161790925560048054838516921691909117808255604080516318160ddd60e01b815290519596949591909316936318160ddd938084019391929190829003018186803b1580156100a657600080fd5b505afa1580156100ba573d6000803e3d6000fd5b505050506040513d60208110156100d057600080fd5b50516001600160801b03166002555050600880546001600160a01b031916331790556000805460ff191690556113b08061010b6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636a2efa76116100a25780638456cb59116100715780638456cb59146101f7578063890eba68146101ff578063a1c7962e1461021d578063be9a655514610225578063ccaaf98b1461022d57610116565b80636a2efa76146101b15780636e660427146101df57806376a162a3146101e75780637c175a01146101ef57610116565b8063421ad8c5116100e9578063421ad8c5146101895780634267ee79146101915780634eb8b44814610199578063598c2704146101a15780635aa6e675146101a957610116565b8063046f7da21461011b578063278980d5146101255780632824e1f6146101495780633189414914610181575b600080fd5b61012361024a565b005b61012d610336565b604080516001600160a01b039092168252519081900360200190f35b61016f6004803603602081101561015f57600080fd5b50356001600160a01b0316610345565b60408051918252519081900360200190f35b61016f610357565b61012361035d565b610123610672565b61016f61087d565b61016f610883565b61012d61093f565b610123600480360360408110156101c757600080fd5b506001600160a01b038135811691602001351661094e565b61012d6109ad565b6101236109bc565b61012d610a57565b610123610a66565b610207610b52565b6040805160ff9092168252519081900360200190f35b61012d610b5b565b610123610b6a565b6101236004803603602081101561024357600080fd5b5035610c17565b6008546001600160a01b0316331461029f576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff166002146102e9576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000805460ff1916600190811790915560408051338152602081019290925280517f5f136d3b405931da808102d65c5c331d1bfcbd4e7127777914d480cd106ca5ae9281900390910190a1565b6004546001600160a01b031681565b60036020526000908152604090205481565b60015481565b3332146103a9576040805162461bcd60e51b81526020600482015260156024820152744e6573743a4e4e3a42414e28636f6e74726163742960581b604482015290519081900360640190fd5b60005460ff166001146103f3576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b60048054604080516370a0823160e01b81523393810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b50519050806104b7576040805162461bcd60e51b81526020600482015260126024820152714e6573743a4e4e3a21284e4e546f6b656e2960701b604482015290519081900360640190fd5b600254600154336000908152600360205260408120546104d8908390610cce565b905060006104f0846104ea8488610d24565b90610d87565b336000818152600360209081526040918290208790558151928352820183905280519293507f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea92918290030190a160065460408051633d835e8960e21b81523060048201526024810184905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b15801561059157600080fd5b505af11580156105a5573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b03909216935063a9059cbb92506044808201926020929091908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505161066b576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b5050505050565b6006546008546001600160a01b03918216911633146106d857336001600160a01b038216146106d8576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b600660009054906101000a90046001600160a01b03166001600160a01b03166397dcd0b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561072657600080fd5b505afa15801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051600580546001600160a01b0319166001600160a01b03928316179055600654604080516324fc318b60e21b8152905191909216916393f0c62c916004808301926020929190829003018186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d60208110156107d557600080fd5b5051600480546001600160a01b0319166001600160a01b039283161781556006546040805163bd4291c160e01b81529051919093169263bd4291c19281810192602092909190829003018186803b15801561082f57600080fd5b505afa158015610843573d6000803e3d6000fd5b505050506040513d602081101561085957600080fd5b5051600780546001600160a01b0319166001600160a01b0390921691909117905550565b60025481565b60048054604080516370a0823160e01b815233938101939093525160009283926001600160a01b0316916370a0823191602480820192602092909190829003018186803b1580156108d357600080fd5b505afa1580156108e7573d6000803e3d6000fd5b505050506040513d60208110156108fd57600080fd5b50516001546002543360009081526003602052604090205492935090916109379082906104ea908690610931908790610cce565b90610d24565b935050505090565b6008546001600160a01b031681565b6004546001600160a01b031633811461099e576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b6109a88383610de1565b505050565b6007546001600160a01b031681565b600660009054906101000a90046001600160a01b03166001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b5051600880546001600160a01b0319166001600160a01b03909216919091179055565b6006546001600160a01b031681565b6008546001600160a01b03163314610abb576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff16600114610b05576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000805460ff1916600290811790915560408051338152602081019290925280517f5f136d3b405931da808102d65c5c331d1bfcbd4e7127777914d480cd106ca5ae9281900390910190a1565b60005460ff1681565b6005546001600160a01b031681565b6008546001600160a01b03163314610bbf576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff1615610c08576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e54433a21666c616760901b604482015290519081900360640190fd5b6000805460ff19166001179055565b6007546001600160a01b0316338114610c67576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b8115610cca57600154600090610c7d908461132b565b6001600160801b038116600155604080518581526020810183905281519293507f6b937f0af13b2f1e43b8dba14a4e3830bdddb54dfbb58bd9ce78a4a77f09f277929081900390910190a1505b5050565b80820382811115610d1e576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b92915050565b6000811580610d3f57505080820282828281610d3c57fe5b04145b610d1e576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b6000808211610dd0576040805162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015290519081900360640190fd5b818381610dd957fe5b049392505050565b60005460ff16600114610e2b576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e8f57600080fd5b505afa158015610ea3573d6000803e3d6000fd5b505050506040513d6020811015610eb957600080fd5b5051905080610f05576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a212866726f6d426c6e632960681b604482015290519081900360640190fd5b6001546002546001600160a01b038516600090815260036020526040812054610f3b9083906104ea908790610931908890610cce565b6001600160a01b0380881660009081526003602090815260408083208890556004805482516370a0823160e01b81528c871692810192909252915195965092949316926370a08231926024808201939291829003018186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d6020811015610fca57600080fd5b50516001600160a01b038716600090815260036020526040812054919250906110009085906104ea908590610931908a90610cce565b6001600160a01b03881660009081526003602052604090208690559050821561119f5760065460408051633d835e8960e21b81523060048201526024810186905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b15801561107657600080fd5b505af115801561108a573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81526001600160a01b038d8116600483015260248201899052915191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156110e457600080fd5b505af11580156110f8573d6000803e3d6000fd5b505050506040513d602081101561110e57600080fd5b5051611152576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b604080516001600160a01b038a1681526001600160801b038516602082015281517f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea929181900390910190a15b80156113215760065460408051633d835e8960e21b81523060048201526024810184905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b1580156111f857600080fd5b505af115801561120c573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561126657600080fd5b505af115801561127a573d6000803e3d6000fd5b505050506040513d602081101561129057600080fd5b50516112d4576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b604080516001600160a01b03891681526001600160801b038316602082015281517f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea929181900390910190a15b5050505050505050565b80820182811015610d1e576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea2646970667358221220a3f8104d475dfa2e3a7f32122b3ed65d9da91f7c72039eb0a7419d79f6893ed864736f6c634300060c0033000000000000000000000000ca208dcfbef22941d176858a640190c2222c8c8f000000000000000000000000c028e81e11f374f7c1a3be6b8d2a815fa3e96e6e
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80636a2efa76116100a25780638456cb59116100715780638456cb59146101f7578063890eba68146101ff578063a1c7962e1461021d578063be9a655514610225578063ccaaf98b1461022d57610116565b80636a2efa76146101b15780636e660427146101df57806376a162a3146101e75780637c175a01146101ef57610116565b8063421ad8c5116100e9578063421ad8c5146101895780634267ee79146101915780634eb8b44814610199578063598c2704146101a15780635aa6e675146101a957610116565b8063046f7da21461011b578063278980d5146101255780632824e1f6146101495780633189414914610181575b600080fd5b61012361024a565b005b61012d610336565b604080516001600160a01b039092168252519081900360200190f35b61016f6004803603602081101561015f57600080fd5b50356001600160a01b0316610345565b60408051918252519081900360200190f35b61016f610357565b61012361035d565b610123610672565b61016f61087d565b61016f610883565b61012d61093f565b610123600480360360408110156101c757600080fd5b506001600160a01b038135811691602001351661094e565b61012d6109ad565b6101236109bc565b61012d610a57565b610123610a66565b610207610b52565b6040805160ff9092168252519081900360200190f35b61012d610b5b565b610123610b6a565b6101236004803603602081101561024357600080fd5b5035610c17565b6008546001600160a01b0316331461029f576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff166002146102e9576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000805460ff1916600190811790915560408051338152602081019290925280517f5f136d3b405931da808102d65c5c331d1bfcbd4e7127777914d480cd106ca5ae9281900390910190a1565b6004546001600160a01b031681565b60036020526000908152604090205481565b60015481565b3332146103a9576040805162461bcd60e51b81526020600482015260156024820152744e6573743a4e4e3a42414e28636f6e74726163742960581b604482015290519081900360640190fd5b60005460ff166001146103f3576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b60048054604080516370a0823160e01b81523393810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b50519050806104b7576040805162461bcd60e51b81526020600482015260126024820152714e6573743a4e4e3a21284e4e546f6b656e2960701b604482015290519081900360640190fd5b600254600154336000908152600360205260408120546104d8908390610cce565b905060006104f0846104ea8488610d24565b90610d87565b336000818152600360209081526040918290208790558151928352820183905280519293507f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea92918290030190a160065460408051633d835e8960e21b81523060048201526024810184905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b15801561059157600080fd5b505af11580156105a5573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b03909216935063a9059cbb92506044808201926020929091908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505161066b576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b5050505050565b6006546008546001600160a01b03918216911633146106d857336001600160a01b038216146106d8576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b600660009054906101000a90046001600160a01b03166001600160a01b03166397dcd0b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561072657600080fd5b505afa15801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051600580546001600160a01b0319166001600160a01b03928316179055600654604080516324fc318b60e21b8152905191909216916393f0c62c916004808301926020929190829003018186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d60208110156107d557600080fd5b5051600480546001600160a01b0319166001600160a01b039283161781556006546040805163bd4291c160e01b81529051919093169263bd4291c19281810192602092909190829003018186803b15801561082f57600080fd5b505afa158015610843573d6000803e3d6000fd5b505050506040513d602081101561085957600080fd5b5051600780546001600160a01b0319166001600160a01b0390921691909117905550565b60025481565b60048054604080516370a0823160e01b815233938101939093525160009283926001600160a01b0316916370a0823191602480820192602092909190829003018186803b1580156108d357600080fd5b505afa1580156108e7573d6000803e3d6000fd5b505050506040513d60208110156108fd57600080fd5b50516001546002543360009081526003602052604090205492935090916109379082906104ea908690610931908790610cce565b90610d24565b935050505090565b6008546001600160a01b031681565b6004546001600160a01b031633811461099e576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b6109a88383610de1565b505050565b6007546001600160a01b031681565b600660009054906101000a90046001600160a01b03166001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b5051600880546001600160a01b0319166001600160a01b03909216919091179055565b6006546001600160a01b031681565b6008546001600160a01b03163314610abb576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff16600114610b05576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000805460ff1916600290811790915560408051338152602081019290925280517f5f136d3b405931da808102d65c5c331d1bfcbd4e7127777914d480cd106ca5ae9281900390910190a1565b60005460ff1681565b6005546001600160a01b031681565b6008546001600160a01b03163314610bbf576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a21676f7665726e616e636560681b604482015290519081900360640190fd5b60005460ff1615610c08576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e54433a21666c616760901b604482015290519081900360640190fd5b6000805460ff19166001179055565b6007546001600160a01b0316338114610c67576040805162461bcd60e51b815260206004820152600d60248201526c09ccae6e8749c9c744282eae8d609b1b604482015290519081900360640190fd5b8115610cca57600154600090610c7d908461132b565b6001600160801b038116600155604080518581526020810183905281519293507f6b937f0af13b2f1e43b8dba14a4e3830bdddb54dfbb58bd9ce78a4a77f09f277929081900390910190a1505b5050565b80820382811115610d1e576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b92915050565b6000811580610d3f57505080820282828281610d3c57fe5b04145b610d1e576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b6000808211610dd0576040805162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015290519081900360640190fd5b818381610dd957fe5b049392505050565b60005460ff16600114610e2b576040805162461bcd60e51b815260206004820152600d60248201526c4e6573743a4e4e3a21666c616760981b604482015290519081900360640190fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e8f57600080fd5b505afa158015610ea3573d6000803e3d6000fd5b505050506040513d6020811015610eb957600080fd5b5051905080610f05576040805162461bcd60e51b81526020600482015260136024820152724e6573743a4e4e3a212866726f6d426c6e632960681b604482015290519081900360640190fd5b6001546002546001600160a01b038516600090815260036020526040812054610f3b9083906104ea908790610931908890610cce565b6001600160a01b0380881660009081526003602090815260408083208890556004805482516370a0823160e01b81528c871692810192909252915195965092949316926370a08231926024808201939291829003018186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d6020811015610fca57600080fd5b50516001600160a01b038716600090815260036020526040812054919250906110009085906104ea908590610931908a90610cce565b6001600160a01b03881660009081526003602052604090208690559050821561119f5760065460408051633d835e8960e21b81523060048201526024810186905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b15801561107657600080fd5b505af115801561108a573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81526001600160a01b038d8116600483015260248201899052915191909216935063a9059cbb925060448083019260209291908290030181600087803b1580156110e457600080fd5b505af11580156110f8573d6000803e3d6000fd5b505050506040513d602081101561110e57600080fd5b5051611152576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b604080516001600160a01b038a1681526001600160801b038516602082015281517f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea929181900390910190a15b80156113215760065460408051633d835e8960e21b81523060048201526024810184905290516001600160a01b039092169163f60d7a249160448082019260009290919082900301818387803b1580156111f857600080fd5b505af115801561120c573d6000803e3d6000fd5b50506005546040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561126657600080fd5b505af115801561127a573d6000803e3d6000fd5b505050506040513d602081101561129057600080fd5b50516112d4576040805162461bcd60e51b815260206004820152600e60248201526d4e6573743a4e4e3a215452414e5360901b604482015290519081900360640190fd5b604080516001600160a01b03891681526001600160801b038316602082015281517f994f7f5fa3cce66d6f992c5a061e6e3ce2f23c6ffd94ebb4ccc7996e1d88e4ea929181900390910190a15b5050505050505050565b80820182811015610d1e576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea2646970667358221220a3f8104d475dfa2e3a7f32122b3ed65d9da91f7c72039eb0a7419d79f6893ed864736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ca208dcfbef22941d176858a640190c2222c8c8f000000000000000000000000c028e81e11f374f7c1a3be6b8d2a815fa3e96e6e
-----Decoded View---------------
Arg [0] : NestPool (address): 0xCA208DCfbEF22941D176858A640190C2222C8c8F
Arg [1] : NNToken (address): 0xC028E81e11F374f7c1A3bE6b8D2a815fa3E96E6e
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ca208dcfbef22941d176858a640190c2222c8c8f
Arg [1] : 000000000000000000000000c028e81e11f374f7c1a3be6b8d2a815fa3e96e6e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.