More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,765 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim XBR | 70644134 | 2 hrs ago | IN | 0 POL | 0.01377539 | ||||
Claim XBR | 70644114 | 2 hrs ago | IN | 0 POL | 0.01377539 | ||||
Claim XBR | 70644097 | 2 hrs ago | IN | 0 POL | 0.01377404 | ||||
Claim XBR | 70644051 | 2 hrs ago | IN | 0 POL | 0.01377404 | ||||
Claim XBR | 70644012 | 2 hrs ago | IN | 0 POL | 0.01377404 | ||||
Claim XBR | 70643977 | 2 hrs ago | IN | 0 POL | 0.01377404 | ||||
Claim XBR | 70639735 | 4 hrs ago | IN | 0 POL | 0.01193751 | ||||
Claim XBR | 70639103 | 5 hrs ago | IN | 0 POL | 0.01193621 | ||||
Claim XBR | 70639061 | 5 hrs ago | IN | 0 POL | 0.0119362 | ||||
Claim XBR | 70634799 | 7 hrs ago | IN | 0 POL | 0.01258023 | ||||
Claim XBR | 70634758 | 7 hrs ago | IN | 0 POL | 0.01258023 | ||||
Claim XBR | 70634735 | 7 hrs ago | IN | 0 POL | 0.01258023 | ||||
Claim XBR | 70634721 | 7 hrs ago | IN | 0 POL | 0.01258022 | ||||
Claim XBR | 70634046 | 8 hrs ago | IN | 0 POL | 0.01353529 | ||||
Claim XBR | 70628065 | 11 hrs ago | IN | 0 POL | 0.01341133 | ||||
Claim XBR | 70626926 | 12 hrs ago | IN | 0 POL | 0.01257892 | ||||
Claim XBR | 70625760 | 12 hrs ago | IN | 0 POL | 0.00275481 | ||||
Claim XBR | 70624113 | 13 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70624097 | 13 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70624005 | 13 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70623968 | 13 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70623952 | 13 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70623937 | 14 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70623923 | 14 hrs ago | IN | 0 POL | 0.01579435 | ||||
Claim XBR | 70623909 | 14 hrs ago | IN | 0 POL | 0.01579435 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
XBRMining
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2024-05-31 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); } // File: @openzeppelin/contracts/utils/ReentrancyGuard.sol // OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } } // File: xbrmining.sol pragma solidity 0.8.25; interface IERC721 { /** * @dev Returns the owner of the specified token ID. * @param tokenId The ID of the token to get the owner of. * @return The address of the owner of the specified token ID. */ function ownerOf(uint256 tokenId) external returns (address); } contract XBRMining is ReentrancyGuard, Ownable { /** * @notice Struct representing a node book * @dev Contains information about a node's mining activity * @member nodeId The unique identifier of the node * @member miningStartedBlockNumber The block number when mining started for this node * @member lastlyClaimedRewardsBlock The block number when rewards were last claimed for this node * @member totalRewardsClaimed The total rewards claimed for this node * @member isActive Flag indicating whether the node is currently active */ struct NodeBook { uint256 nodeId; uint256 miningStartedBlockNumber; uint256 lastlyClaimedRewardsBlock; uint256 totalRewardsClaimed; bool isActive; } mapping(uint256 => NodeBook) private nodeDetails; event Register( uint256 nodeId, address user, uint256 registeredTime, uint256 registeredBlock ); event ClaimXBR( uint256 nodeId, address user, uint256 claimedBlock, uint256 reward ); event MiningStarted(uint256 startTime, uint256 blockNumber); event RewardPerBlockChanged( uint256 time, uint256 blockNumber, uint256 newRewardPerBlock ); event MediatorChanged(address oldMediator, address newMediator); uint256 public REWARD_PER_BLOCK; uint256 public xbrMiningStartTime; uint256 public xbrMiningStartedBlockNumber; bool public isMiningStarted = false; uint256 public constant ONE_YEAR_IN_SECONDS = 365 * 24 * 60 * 60; uint256 public TOTAL_REGISTERED_NODES = 0; uint256[] ALL_NODE_IDs; address public XBR; address public XBR_NODE; address public MEDIATOR; uint256 TOTAL_REWARDS_DISTRIBUTED = 0; /** * @dev Constructor function that sets the initial values for the contract. * @param _xbr The address of the XBR token contract. * @param _xbrNode The address of the XBR node contract. * @param _mediator The address of the which help. * @param _rewardPerBlock The amount of XBR tokens to be rewarded per block. */ constructor( address _xbr, address _xbrNode, address _mediator, uint256 _rewardPerBlock ) Ownable(msg.sender) { XBR = _xbr; XBR_NODE = _xbrNode; MEDIATOR = _mediator; REWARD_PER_BLOCK = _rewardPerBlock; } /** * @notice Changes the mediator of the contract. * @dev This function can only be called by the current owner. * @param newMediator The address of the new mediator. * Requirements: * - The new mediator address must not be the zero address. */ function changeMediator(address newMediator) external onlyOwner { require(newMediator != address(0), "New mediator is the zero address"); require(newMediator != MEDIATOR, "Cant be same mediator address"); address oldMediator = MEDIATOR; MEDIATOR = newMediator; emit MediatorChanged(oldMediator, MEDIATOR); } /** * @notice Starts the mining process for all registered nodes * @dev This function can only be called by the contract owner * @dev It requires at least 500 nodes to be registered * @dev It checks if mining has already started * @dev It updates the miningStartedBlockNumber for each node * @dev It sets the xbrMiningStartTime to the current block timestamp * @dev It sets the isMiningStarted flag to true * @dev It emits the MiningStarted event with the current timestamp and block number */ function startMining() external onlyOwner { require(TOTAL_REGISTERED_NODES >= 500, "500 NODES ARE NOT REGISTERED!"); require(isMiningStarted != true, "MINING ALREADY STARTED!"); xbrMiningStartedBlockNumber = block.number + 1; xbrMiningStartTime = block.timestamp; isMiningStarted = true; emit MiningStarted(block.timestamp, block.number + 1); } /** * @dev Checks if a given node ID exists in the ALL_NODE_IDs array, and if not, adds it to the array. * @param nodeId The node ID to check and potentially add. */ function checkAndPushNodeId(uint256 nodeId) internal { // Check if the nodeId is already in the ALL_NODE_IDs array bool nodeExists = false; for (uint256 i = 0; i < ALL_NODE_IDs.length; i++) { if (ALL_NODE_IDs[i] == nodeId) { nodeExists = true; break; } } // If the nodeId does not exist in the array, add them if (!nodeExists) { ALL_NODE_IDs.push(nodeId); } } /** * @notice Registers multiple nodes for rewards by a specified node owner. * @dev This function can only be called by external users and is protected against reentrancy attacks. * @param nodeIds An array of node IDs to be registered. * @param nodeOwner The address of the owner of the nodes to be registered. * Requirements: * - The caller must be the owner of the specified node IDs. * - If mining has started, it must not have ended (less than 5 years from the start). * - Each node ID must not have been registered before. */ function registerNodesForRewards( uint256[] memory nodeIds, address nodeOwner ) external nonReentrant { for (uint256 i = 0; i < nodeIds.length; i++) { uint256 nodeId = nodeIds[i]; require( IERC721(XBR_NODE).ownerOf(nodeId) == nodeOwner, "NOT A NODE OWNER!" ); if (isMiningStarted) { require( block.timestamp - xbrMiningStartTime < (ONE_YEAR_IN_SECONDS * 5), "MINING ENDED!" ); } // Check if the user record already exists require( nodeDetails[nodeId].nodeId == 0, "USER ALREADY REGISTERED!" ); NodeBook storage node = nodeDetails[nodeId]; node.miningStartedBlockNumber = isMiningStarted ? block.number + 1 : 0; node.nodeId = nodeId; node.lastlyClaimedRewardsBlock = 0; node.totalRewardsClaimed = 0; node.isActive = true; TOTAL_REGISTERED_NODES += 1; checkAndPushNodeId(nodeId); // Emit an event emit Register(nodeId, msg.sender, block.timestamp, block.number); } } /** * @notice Claims XBR tokens for a given node ID * @param nodeId The ID of the node for which XBR tokens are to be claimed * @param nodeOwner The address of the owner of the node * @param reward The amount of XBR tokens to be claimed as a reward * @dev This function is non-reentrant to prevent reentrancy attacks * @dev The caller must be the mediator * @dev The caller must be the owner of the node * @dev The mining period must not have ended * @dev The mining must have started * @dev The node must be registered for XBR rewards * @dev The function calculates and transfers the earned rewards to the caller * @dev An event is emitted after the successful claim */ function claimXBR( uint256 nodeId, address nodeOwner, uint256 reward ) external nonReentrant { require( IERC721(XBR_NODE).ownerOf(nodeId) == nodeOwner, "NOT A NODE OWNER" ); require(isMiningStarted, "MINING NOT STARTED YET!"); if (isMiningStarted) { require( block.timestamp - xbrMiningStartTime < (ONE_YEAR_IN_SECONDS * 5), "MINING ENDED!" ); } NodeBook storage node = nodeDetails[nodeId]; // if funds exists require( node.nodeId == nodeId, "NO REGISTRATION FOR XBR REWARDS EXISTS!" ); // Transfer Rewards IERC20(XBR).transferFrom(MEDIATOR, address(this), reward); IERC20(XBR).transfer(nodeOwner, reward); node.totalRewardsClaimed += reward; node.lastlyClaimedRewardsBlock = block.number; TOTAL_REWARDS_DISTRIBUTED += reward; // Emit a event emit ClaimXBR(nodeId, nodeOwner, block.number, reward); } /** * @return totalRewards The total XBR rewards distributed. */ function getTotalRewardsDistributed() public view returns (uint256 totalRewards) { return TOTAL_REWARDS_DISTRIBUTED; } /** * @dev Returns an array of all node IDs. * @return nodeIds An array of all node IDs. */ function getAllNodeIds() public view returns (uint256[] memory nodeIds) { return ALL_NODE_IDs; } /** * @notice Retrieves the details of a specific node by its ID * @param _nodeId The ID of the node for which details are to be fetched * @return nodeId The ID of the node * @return miningStartedBlockNumber The block number when mining started for the node * @return lastlyClaimedRewardsBlock The block number when the rewards were last claimed for the node * @return totalRewardsClaimed The total amount of rewards claimed for the node * @return isActive A boolean indicating whether the node is active * @dev This function is a view function and does not modify the state * @dev The miningStartedBlockNumber is set to the global mining start block number if it is not set for the node and the node is active * @dev Caches the node details in memory to avoid multiple storage reads */ function getNodeDetails( uint256 _nodeId ) public view returns ( uint256 nodeId, uint256 miningStartedBlockNumber, uint256 lastlyClaimedRewardsBlock, uint256 totalRewardsClaimed, bool isActive ) { // Caching the node details in memory to avoid multiple storage reads NodeBook memory details = nodeDetails[_nodeId]; nodeId = details.nodeId; miningStartedBlockNumber = isMiningStarted ? ( details.miningStartedBlockNumber == 0 && details.isActive ? xbrMiningStartedBlockNumber : details.miningStartedBlockNumber ) : 0; lastlyClaimedRewardsBlock = details.lastlyClaimedRewardsBlock; totalRewardsClaimed = details.totalRewardsClaimed; isActive = details.isActive; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_xbr","type":"address"},{"internalType":"address","name":"_xbrNode","type":"address"},{"internalType":"address","name":"_mediator","type":"address"},{"internalType":"uint256","name":"_rewardPerBlock","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"claimedBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"ClaimXBR","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldMediator","type":"address"},{"indexed":false,"internalType":"address","name":"newMediator","type":"address"}],"name":"MediatorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"MiningStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"registeredTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"registeredBlock","type":"uint256"}],"name":"Register","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRewardPerBlock","type":"uint256"}],"name":"RewardPerBlockChanged","type":"event"},{"inputs":[],"name":"MEDIATOR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ONE_YEAR_IN_SECONDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_PER_BLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_REGISTERED_NODES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"XBR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"XBR_NODE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newMediator","type":"address"}],"name":"changeMediator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"address","name":"nodeOwner","type":"address"},{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"claimXBR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllNodeIds","outputs":[{"internalType":"uint256[]","name":"nodeIds","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nodeId","type":"uint256"}],"name":"getNodeDetails","outputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"miningStartedBlockNumber","type":"uint256"},{"internalType":"uint256","name":"lastlyClaimedRewardsBlock","type":"uint256"},{"internalType":"uint256","name":"totalRewardsClaimed","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalRewardsDistributed","outputs":[{"internalType":"uint256","name":"totalRewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMiningStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"nodeIds","type":"uint256[]"},{"internalType":"address","name":"nodeOwner","type":"address"}],"name":"registerNodesForRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startMining","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xbrMiningStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xbrMiningStartedBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040525f60065f6101000a81548160ff0219169083151502179055505f6007555f600c55348015610030575f80fd5b506040516120fd3803806120fd833981810160405281019061005291906102fe565b3360015f819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100ca575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100c19190610371565b60405180910390fd5b6100d9816101aa60201b60201c565b508360095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003819055505050505061038a565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61029a82610271565b9050919050565b6102aa81610290565b81146102b4575f80fd5b50565b5f815190506102c5816102a1565b92915050565b5f819050919050565b6102dd816102cb565b81146102e7575f80fd5b50565b5f815190506102f8816102d4565b92915050565b5f805f80608085870312156103165761031561026d565b5b5f610323878288016102b7565b9450506020610334878288016102b7565b9350506040610345878288016102b7565b9250506060610356878288016102ea565b91505092959194509250565b61036b81610290565b82525050565b5f6020820190506103845f830184610362565b92915050565b611d66806103975f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c8063975532dc116100ab578063d19eaec41161006f578063d19eaec4146102b1578063e7c52d44146102cd578063e7c8fed4146102eb578063f2fde38b14610309578063fd83d0eb146103255761011f565b8063975532dc1461021b5780639c11f78514610239578063b217040914610257578063b82dfb5f14610275578063beefc493146102935761011f565b80635afbba47116100f25780635afbba47146101855780635ed80958146101b9578063715018a6146101d55780637d5f835e146101df5780638da5cb5b146101fd5761011f565b80630f5079831461012357806315d5692e1461014157806321b79d981461015d5780634ce7cd7214610167575b5f80fd5b61012b610343565b60405161013891906111e9565b60405180910390f35b61015b600480360381019061015691906112a0565b610355565b005b610165610762565b005b61016f610881565b60405161017c91906112ff565b60405180910390f35b61019f600480360381019061019a9190611318565b610887565b6040516101b0959493929190611343565b60405180910390f35b6101d360048036038101906101ce91906114e4565b610953565b005b6101dd610c48565b005b6101e7610c5b565b6040516101f491906112ff565b60405180910390f35b610205610c61565b604051610212919061154d565b60405180910390f35b610223610c89565b60405161023091906112ff565b60405180910390f35b610241610c8f565b60405161024e919061154d565b60405180910390f35b61025f610cb4565b60405161026c919061154d565b60405180910390f35b61027d610cd9565b60405161028a919061154d565b60405180910390f35b61029b610cfe565b6040516102a8919061161d565b60405180910390f35b6102cb60048036038101906102c6919061163d565b610d54565b005b6102d5610f1c565b6040516102e291906112ff565b60405180910390f35b6102f3610f25565b60405161030091906112ff565b60405180910390f35b610323600480360381019061031e919061163d565b610f2d565b005b61032d610fb1565b60405161033a91906112ff565b60405180910390f35b60065f9054906101000a900460ff1681565b61035d610fb7565b8173ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e856040518263ffffffff1660e01b81526004016103ce91906112ff565b6020604051808303815f875af11580156103ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040e919061167c565b73ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90611701565b60405180910390fd5b60065f9054906101000a900460ff166104b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a990611769565b60405180910390fd5b60065f9054906101000a900460ff16156105265760056301e133806104d791906117b4565b600454426104e591906117f5565b10610525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051c90611872565b60405180910390fd5b5b5f60025f8581526020019081526020015f20905083815f01541461057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057690611900565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff1660e01b81526004016105fe9392919061191e565b6020604051808303815f875af115801561061a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063e919061197d565b5060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161069b9291906119a8565b6020604051808303815f875af11580156106b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db919061197d565b5081816003015f8282546106ef91906119cf565b9250508190555043816002018190555081600c5f82825461071091906119cf565b925050819055507fa5f3a7a1d4db19d5fe29ac17db13624fa4f494ecc10233953f1ec83150c7d75e8484438560405161074c9493929190611a02565b60405180910390a15061075d610ffb565b505050565b61076a611004565b6101f460075410156107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611a8f565b60405180910390fd5b6001151560065f9054906101000a900460ff16151503610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90611af7565b60405180910390fd5b60014361081391906119cf565b60058190555042600481905550600160065f6101000a81548160ff0219169083151502179055507f9ed1c202e57db11ee58a1654c590e9dcaf884e0ba35a45dde4532a99047170e24260014361086991906119cf565b604051610877929190611b15565b60405180910390a1565b60075481565b5f805f805f8060025f8881526020019081526020015f206040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015f9054906101000a900460ff1615151515815250509050805f0151955060065f9054906101000a900460ff1661090b575f610932565b5f816020015114801561091f575080608001515b61092d578060200151610931565b6005545b5b94508060400151935080606001519250806080015191505091939590929450565b61095b610fb7565b5f5b8251811015610c3b575f83828151811061097a57610979611b3c565b5b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004016109f591906112ff565b6020604051808303815f875af1158015610a11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a35919061167c565b73ffffffffffffffffffffffffffffffffffffffff1614610a8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8290611bb3565b60405180910390fd5b60065f9054906101000a900460ff1615610aff5760056301e13380610ab091906117b4565b60045442610abe91906117f5565b10610afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af590611872565b60405180910390fd5b5b5f60025f8381526020019081526020015f205f015414610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90611c1b565b60405180910390fd5b5f60025f8381526020019081526020015f20905060065f9054906101000a900460ff16610b81575f610b8f565b600143610b8e91906119cf565b5b816001018190555081815f01819055505f81600201819055505f81600301819055506001816004015f6101000a81548160ff021916908315150217905550600160075f828254610bdf91906119cf565b92505081905550610bef8261108b565b7f355a9111424ac3f2571bbdc61550eae14ca67ec2e98398b17be8a349c6b80be682334243604051610c249493929190611a02565b60405180910390a15050808060010191505061095d565b50610c44610ffb565b5050565b610c50611004565b610c595f611105565b565b60045481565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805480602002602001604051908101604052809291908181526020018280548015610d4a57602002820191905f5260205f20905b815481526020019060010190808311610d36575b5050505050905090565b610d5c611004565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611c83565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5090611ceb565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbe65cc8e279fe9e8bff0e15b73adb1252dfeef08183df2341aebc465b612800181600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f10929190611d09565b60405180910390a15050565b5f600c54905090565b6301e1338081565b610f35611004565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fa5575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610f9c919061154d565b60405180910390fd5b610fae81611105565b50565b60055481565b60025f5403610ff2576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f81905550565b60015f81905550565b61100c6111c8565b73ffffffffffffffffffffffffffffffffffffffff1661102a610c61565b73ffffffffffffffffffffffffffffffffffffffff16146110895761104d6111c8565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611080919061154d565b60405180910390fd5b565b5f805b6008805490508110156110d45782600882815481106110b0576110af611b3c565b5b905f5260205f200154036110c757600191506110d4565b808060010191505061108e565b508061110157600882908060018154018082558091505060019003905f5260205f20015f90919091909150555b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f8115159050919050565b6111e3816111cf565b82525050565b5f6020820190506111fc5f8301846111da565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61122581611213565b811461122f575f80fd5b50565b5f813590506112408161121c565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126f82611246565b9050919050565b61127f81611265565b8114611289575f80fd5b50565b5f8135905061129a81611276565b92915050565b5f805f606084860312156112b7576112b661120b565b5b5f6112c486828701611232565b93505060206112d58682870161128c565b92505060406112e686828701611232565b9150509250925092565b6112f981611213565b82525050565b5f6020820190506113125f8301846112f0565b92915050565b5f6020828403121561132d5761132c61120b565b5b5f61133a84828501611232565b91505092915050565b5f60a0820190506113565f8301886112f0565b61136360208301876112f0565b61137060408301866112f0565b61137d60608301856112f0565b61138a60808301846111da565b9695505050505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113de82611398565b810181811067ffffffffffffffff821117156113fd576113fc6113a8565b5b80604052505050565b5f61140f611202565b905061141b82826113d5565b919050565b5f67ffffffffffffffff82111561143a576114396113a8565b5b602082029050602081019050919050565b5f80fd5b5f61146161145c84611420565b611406565b905080838252602082019050602084028301858111156114845761148361144b565b5b835b818110156114ad57806114998882611232565b845260208401935050602081019050611486565b5050509392505050565b5f82601f8301126114cb576114ca611394565b5b81356114db84826020860161144f565b91505092915050565b5f80604083850312156114fa576114f961120b565b5b5f83013567ffffffffffffffff8111156115175761151661120f565b5b611523858286016114b7565b92505060206115348582860161128c565b9150509250929050565b61154781611265565b82525050565b5f6020820190506115605f83018461153e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61159881611213565b82525050565b5f6115a9838361158f565b60208301905092915050565b5f602082019050919050565b5f6115cb82611566565b6115d58185611570565b93506115e083611580565b805f5b838110156116105781516115f7888261159e565b9750611602836115b5565b9250506001810190506115e3565b5085935050505092915050565b5f6020820190508181035f83015261163581846115c1565b905092915050565b5f602082840312156116525761165161120b565b5b5f61165f8482850161128c565b91505092915050565b5f8151905061167681611276565b92915050565b5f602082840312156116915761169061120b565b5b5f61169e84828501611668565b91505092915050565b5f82825260208201905092915050565b7f4e4f542041204e4f4445204f574e4552000000000000000000000000000000005f82015250565b5f6116eb6010836116a7565b91506116f6826116b7565b602082019050919050565b5f6020820190508181035f830152611718816116df565b9050919050565b7f4d494e494e47204e4f54205354415254454420594554210000000000000000005f82015250565b5f6117536017836116a7565b915061175e8261171f565b602082019050919050565b5f6020820190508181035f83015261178081611747565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117be82611213565b91506117c983611213565b92508282026117d781611213565b915082820484148315176117ee576117ed611787565b5b5092915050565b5f6117ff82611213565b915061180a83611213565b925082820390508181111561182257611821611787565b5b92915050565b7f4d494e494e4720454e44454421000000000000000000000000000000000000005f82015250565b5f61185c600d836116a7565b915061186782611828565b602082019050919050565b5f6020820190508181035f83015261188981611850565b9050919050565b7f4e4f20524547495354524154494f4e20464f52205842522052455741524453205f8201527f4558495354532100000000000000000000000000000000000000000000000000602082015250565b5f6118ea6027836116a7565b91506118f582611890565b604082019050919050565b5f6020820190508181035f830152611917816118de565b9050919050565b5f6060820190506119315f83018661153e565b61193e602083018561153e565b61194b60408301846112f0565b949350505050565b61195c816111cf565b8114611966575f80fd5b50565b5f8151905061197781611953565b92915050565b5f602082840312156119925761199161120b565b5b5f61199f84828501611969565b91505092915050565b5f6040820190506119bb5f83018561153e565b6119c860208301846112f0565b9392505050565b5f6119d982611213565b91506119e483611213565b92508282019050808211156119fc576119fb611787565b5b92915050565b5f608082019050611a155f8301876112f0565b611a22602083018661153e565b611a2f60408301856112f0565b611a3c60608301846112f0565b95945050505050565b7f353030204e4f44455320415245204e4f542052454749535445524544210000005f82015250565b5f611a79601d836116a7565b9150611a8482611a45565b602082019050919050565b5f6020820190508181035f830152611aa681611a6d565b9050919050565b7f4d494e494e4720414c52454144592053544152544544210000000000000000005f82015250565b5f611ae16017836116a7565b9150611aec82611aad565b602082019050919050565b5f6020820190508181035f830152611b0e81611ad5565b9050919050565b5f604082019050611b285f8301856112f0565b611b3560208301846112f0565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e4f542041204e4f4445204f574e4552210000000000000000000000000000005f82015250565b5f611b9d6011836116a7565b9150611ba882611b69565b602082019050919050565b5f6020820190508181035f830152611bca81611b91565b9050919050565b7f5553455220414c524541445920524547495354455245442100000000000000005f82015250565b5f611c056018836116a7565b9150611c1082611bd1565b602082019050919050565b5f6020820190508181035f830152611c3281611bf9565b9050919050565b7f4e6577206d65646961746f7220697320746865207a65726f20616464726573735f82015250565b5f611c6d6020836116a7565b9150611c7882611c39565b602082019050919050565b5f6020820190508181035f830152611c9a81611c61565b9050919050565b7f43616e742062652073616d65206d65646961746f7220616464726573730000005f82015250565b5f611cd5601d836116a7565b9150611ce082611ca1565b602082019050919050565b5f6020820190508181035f830152611d0281611cc9565b9050919050565b5f604082019050611d1c5f83018561153e565b611d29602083018461153e565b939250505056fea2646970667358221220f1df3bfa3662ad1ac954cd0db5e0ac2a0574d190d408c6d7fe3516544046502264736f6c63430008190033000000000000000000000000d44caebbf5c5a3848357ec05e24220bebef41d400000000000000000000000004aa8e54103bd0ee0321d2d90a36013c1e9d30c84000000000000000000000000dcca7dfddbb57b790a59f0c033a19ada87d63463000000000000000000000000000000000000000000000000000050c10868dc00
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061011f575f3560e01c8063975532dc116100ab578063d19eaec41161006f578063d19eaec4146102b1578063e7c52d44146102cd578063e7c8fed4146102eb578063f2fde38b14610309578063fd83d0eb146103255761011f565b8063975532dc1461021b5780639c11f78514610239578063b217040914610257578063b82dfb5f14610275578063beefc493146102935761011f565b80635afbba47116100f25780635afbba47146101855780635ed80958146101b9578063715018a6146101d55780637d5f835e146101df5780638da5cb5b146101fd5761011f565b80630f5079831461012357806315d5692e1461014157806321b79d981461015d5780634ce7cd7214610167575b5f80fd5b61012b610343565b60405161013891906111e9565b60405180910390f35b61015b600480360381019061015691906112a0565b610355565b005b610165610762565b005b61016f610881565b60405161017c91906112ff565b60405180910390f35b61019f600480360381019061019a9190611318565b610887565b6040516101b0959493929190611343565b60405180910390f35b6101d360048036038101906101ce91906114e4565b610953565b005b6101dd610c48565b005b6101e7610c5b565b6040516101f491906112ff565b60405180910390f35b610205610c61565b604051610212919061154d565b60405180910390f35b610223610c89565b60405161023091906112ff565b60405180910390f35b610241610c8f565b60405161024e919061154d565b60405180910390f35b61025f610cb4565b60405161026c919061154d565b60405180910390f35b61027d610cd9565b60405161028a919061154d565b60405180910390f35b61029b610cfe565b6040516102a8919061161d565b60405180910390f35b6102cb60048036038101906102c6919061163d565b610d54565b005b6102d5610f1c565b6040516102e291906112ff565b60405180910390f35b6102f3610f25565b60405161030091906112ff565b60405180910390f35b610323600480360381019061031e919061163d565b610f2d565b005b61032d610fb1565b60405161033a91906112ff565b60405180910390f35b60065f9054906101000a900460ff1681565b61035d610fb7565b8173ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e856040518263ffffffff1660e01b81526004016103ce91906112ff565b6020604051808303815f875af11580156103ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040e919061167c565b73ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90611701565b60405180910390fd5b60065f9054906101000a900460ff166104b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a990611769565b60405180910390fd5b60065f9054906101000a900460ff16156105265760056301e133806104d791906117b4565b600454426104e591906117f5565b10610525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051c90611872565b60405180910390fd5b5b5f60025f8581526020019081526020015f20905083815f01541461057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057690611900565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff1660e01b81526004016105fe9392919061191e565b6020604051808303815f875af115801561061a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063e919061197d565b5060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161069b9291906119a8565b6020604051808303815f875af11580156106b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db919061197d565b5081816003015f8282546106ef91906119cf565b9250508190555043816002018190555081600c5f82825461071091906119cf565b925050819055507fa5f3a7a1d4db19d5fe29ac17db13624fa4f494ecc10233953f1ec83150c7d75e8484438560405161074c9493929190611a02565b60405180910390a15061075d610ffb565b505050565b61076a611004565b6101f460075410156107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611a8f565b60405180910390fd5b6001151560065f9054906101000a900460ff16151503610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90611af7565b60405180910390fd5b60014361081391906119cf565b60058190555042600481905550600160065f6101000a81548160ff0219169083151502179055507f9ed1c202e57db11ee58a1654c590e9dcaf884e0ba35a45dde4532a99047170e24260014361086991906119cf565b604051610877929190611b15565b60405180910390a1565b60075481565b5f805f805f8060025f8881526020019081526020015f206040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015f9054906101000a900460ff1615151515815250509050805f0151955060065f9054906101000a900460ff1661090b575f610932565b5f816020015114801561091f575080608001515b61092d578060200151610931565b6005545b5b94508060400151935080606001519250806080015191505091939590929450565b61095b610fb7565b5f5b8251811015610c3b575f83828151811061097a57610979611b3c565b5b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004016109f591906112ff565b6020604051808303815f875af1158015610a11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a35919061167c565b73ffffffffffffffffffffffffffffffffffffffff1614610a8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8290611bb3565b60405180910390fd5b60065f9054906101000a900460ff1615610aff5760056301e13380610ab091906117b4565b60045442610abe91906117f5565b10610afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af590611872565b60405180910390fd5b5b5f60025f8381526020019081526020015f205f015414610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90611c1b565b60405180910390fd5b5f60025f8381526020019081526020015f20905060065f9054906101000a900460ff16610b81575f610b8f565b600143610b8e91906119cf565b5b816001018190555081815f01819055505f81600201819055505f81600301819055506001816004015f6101000a81548160ff021916908315150217905550600160075f828254610bdf91906119cf565b92505081905550610bef8261108b565b7f355a9111424ac3f2571bbdc61550eae14ca67ec2e98398b17be8a349c6b80be682334243604051610c249493929190611a02565b60405180910390a15050808060010191505061095d565b50610c44610ffb565b5050565b610c50611004565b610c595f611105565b565b60045481565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805480602002602001604051908101604052809291908181526020018280548015610d4a57602002820191905f5260205f20905b815481526020019060010190808311610d36575b5050505050905090565b610d5c611004565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611c83565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5090611ceb565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbe65cc8e279fe9e8bff0e15b73adb1252dfeef08183df2341aebc465b612800181600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f10929190611d09565b60405180910390a15050565b5f600c54905090565b6301e1338081565b610f35611004565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fa5575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610f9c919061154d565b60405180910390fd5b610fae81611105565b50565b60055481565b60025f5403610ff2576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f81905550565b60015f81905550565b61100c6111c8565b73ffffffffffffffffffffffffffffffffffffffff1661102a610c61565b73ffffffffffffffffffffffffffffffffffffffff16146110895761104d6111c8565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611080919061154d565b60405180910390fd5b565b5f805b6008805490508110156110d45782600882815481106110b0576110af611b3c565b5b905f5260205f200154036110c757600191506110d4565b808060010191505061108e565b508061110157600882908060018154018082558091505060019003905f5260205f20015f90919091909150555b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f8115159050919050565b6111e3816111cf565b82525050565b5f6020820190506111fc5f8301846111da565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61122581611213565b811461122f575f80fd5b50565b5f813590506112408161121c565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126f82611246565b9050919050565b61127f81611265565b8114611289575f80fd5b50565b5f8135905061129a81611276565b92915050565b5f805f606084860312156112b7576112b661120b565b5b5f6112c486828701611232565b93505060206112d58682870161128c565b92505060406112e686828701611232565b9150509250925092565b6112f981611213565b82525050565b5f6020820190506113125f8301846112f0565b92915050565b5f6020828403121561132d5761132c61120b565b5b5f61133a84828501611232565b91505092915050565b5f60a0820190506113565f8301886112f0565b61136360208301876112f0565b61137060408301866112f0565b61137d60608301856112f0565b61138a60808301846111da565b9695505050505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113de82611398565b810181811067ffffffffffffffff821117156113fd576113fc6113a8565b5b80604052505050565b5f61140f611202565b905061141b82826113d5565b919050565b5f67ffffffffffffffff82111561143a576114396113a8565b5b602082029050602081019050919050565b5f80fd5b5f61146161145c84611420565b611406565b905080838252602082019050602084028301858111156114845761148361144b565b5b835b818110156114ad57806114998882611232565b845260208401935050602081019050611486565b5050509392505050565b5f82601f8301126114cb576114ca611394565b5b81356114db84826020860161144f565b91505092915050565b5f80604083850312156114fa576114f961120b565b5b5f83013567ffffffffffffffff8111156115175761151661120f565b5b611523858286016114b7565b92505060206115348582860161128c565b9150509250929050565b61154781611265565b82525050565b5f6020820190506115605f83018461153e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61159881611213565b82525050565b5f6115a9838361158f565b60208301905092915050565b5f602082019050919050565b5f6115cb82611566565b6115d58185611570565b93506115e083611580565b805f5b838110156116105781516115f7888261159e565b9750611602836115b5565b9250506001810190506115e3565b5085935050505092915050565b5f6020820190508181035f83015261163581846115c1565b905092915050565b5f602082840312156116525761165161120b565b5b5f61165f8482850161128c565b91505092915050565b5f8151905061167681611276565b92915050565b5f602082840312156116915761169061120b565b5b5f61169e84828501611668565b91505092915050565b5f82825260208201905092915050565b7f4e4f542041204e4f4445204f574e4552000000000000000000000000000000005f82015250565b5f6116eb6010836116a7565b91506116f6826116b7565b602082019050919050565b5f6020820190508181035f830152611718816116df565b9050919050565b7f4d494e494e47204e4f54205354415254454420594554210000000000000000005f82015250565b5f6117536017836116a7565b915061175e8261171f565b602082019050919050565b5f6020820190508181035f83015261178081611747565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117be82611213565b91506117c983611213565b92508282026117d781611213565b915082820484148315176117ee576117ed611787565b5b5092915050565b5f6117ff82611213565b915061180a83611213565b925082820390508181111561182257611821611787565b5b92915050565b7f4d494e494e4720454e44454421000000000000000000000000000000000000005f82015250565b5f61185c600d836116a7565b915061186782611828565b602082019050919050565b5f6020820190508181035f83015261188981611850565b9050919050565b7f4e4f20524547495354524154494f4e20464f52205842522052455741524453205f8201527f4558495354532100000000000000000000000000000000000000000000000000602082015250565b5f6118ea6027836116a7565b91506118f582611890565b604082019050919050565b5f6020820190508181035f830152611917816118de565b9050919050565b5f6060820190506119315f83018661153e565b61193e602083018561153e565b61194b60408301846112f0565b949350505050565b61195c816111cf565b8114611966575f80fd5b50565b5f8151905061197781611953565b92915050565b5f602082840312156119925761199161120b565b5b5f61199f84828501611969565b91505092915050565b5f6040820190506119bb5f83018561153e565b6119c860208301846112f0565b9392505050565b5f6119d982611213565b91506119e483611213565b92508282019050808211156119fc576119fb611787565b5b92915050565b5f608082019050611a155f8301876112f0565b611a22602083018661153e565b611a2f60408301856112f0565b611a3c60608301846112f0565b95945050505050565b7f353030204e4f44455320415245204e4f542052454749535445524544210000005f82015250565b5f611a79601d836116a7565b9150611a8482611a45565b602082019050919050565b5f6020820190508181035f830152611aa681611a6d565b9050919050565b7f4d494e494e4720414c52454144592053544152544544210000000000000000005f82015250565b5f611ae16017836116a7565b9150611aec82611aad565b602082019050919050565b5f6020820190508181035f830152611b0e81611ad5565b9050919050565b5f604082019050611b285f8301856112f0565b611b3560208301846112f0565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e4f542041204e4f4445204f574e4552210000000000000000000000000000005f82015250565b5f611b9d6011836116a7565b9150611ba882611b69565b602082019050919050565b5f6020820190508181035f830152611bca81611b91565b9050919050565b7f5553455220414c524541445920524547495354455245442100000000000000005f82015250565b5f611c056018836116a7565b9150611c1082611bd1565b602082019050919050565b5f6020820190508181035f830152611c3281611bf9565b9050919050565b7f4e6577206d65646961746f7220697320746865207a65726f20616464726573735f82015250565b5f611c6d6020836116a7565b9150611c7882611c39565b602082019050919050565b5f6020820190508181035f830152611c9a81611c61565b9050919050565b7f43616e742062652073616d65206d65646961746f7220616464726573730000005f82015250565b5f611cd5601d836116a7565b9150611ce082611ca1565b602082019050919050565b5f6020820190508181035f830152611d0281611cc9565b9050919050565b5f604082019050611d1c5f83018561153e565b611d29602083018461153e565b939250505056fea2646970667358221220f1df3bfa3662ad1ac954cd0db5e0ac2a0574d190d408c6d7fe3516544046502264736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d44caebbf5c5a3848357ec05e24220bebef41d400000000000000000000000004aa8e54103bd0ee0321d2d90a36013c1e9d30c84000000000000000000000000dcca7dfddbb57b790a59f0c033a19ada87d63463000000000000000000000000000000000000000000000000000050c10868dc00
-----Decoded View---------------
Arg [0] : _xbr (address): 0xD44CaEBbF5C5a3848357eC05e24220BEBEF41d40
Arg [1] : _xbrNode (address): 0x4Aa8E54103bd0Ee0321D2D90A36013C1e9d30C84
Arg [2] : _mediator (address): 0xDCca7DFdDBB57B790a59f0c033A19ADa87D63463
Arg [3] : _rewardPerBlock (uint256): 88790000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000d44caebbf5c5a3848357ec05e24220bebef41d40
Arg [1] : 0000000000000000000000004aa8e54103bd0ee0321d2d90a36013c1e9d30c84
Arg [2] : 000000000000000000000000dcca7dfddbb57b790a59f0c033a19ada87d63463
Arg [3] : 000000000000000000000000000000000000000000000000000050c10868dc00
Deployed Bytecode Sourcemap
10864:10997:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12389:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18417:1135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14579:403;;;:::i;:::-;;12505:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20908:950;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;16283:1371;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3419:103;;;:::i;:::-;;12300:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2744:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12262:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12585:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12640:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12610;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19931:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13657:360;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19643:164;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12431:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3677:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12340:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12389:35;;;;;;;;;;;;;:::o;18417:1135::-;9585:21;:19;:21::i;:::-;18612:9:::1;18575:46;;18583:8;;;;;;;;;;;18575:25;;;18601:6;18575:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;;18553:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;18687:15;;;;;;;;;;;18679:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;18748:15;;;;;;;;;;;18744:208;;;18889:1;12477:18;18867:23;;;;:::i;:::-;18824:18;;18806:15;:36;;;;:::i;:::-;:85;18780:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;18744:208;18965:21;18989:11;:19;19001:6;18989:19;;;;;;;;;;;18965:43;;19084:6;19069:4;:11;;;:21;19047:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;19204:3;;;;;;;;;;;19197:24;;;19222:8;;;;;;;;;;;19240:4;19247:6;19197:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19272:3;;;;;;;;;;;19265:20;;;19286:9;19297:6;19265:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19343:6;19315:4;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;19393:12;19360:4;:30;;:45;;;;19445:6;19416:25;;:35;;;;;;;:::i;:::-;;;;;;;;19495:49;19504:6;19512:9;19523:12;19537:6;19495:49;;;;;;;;;:::i;:::-;;;;;;;;18542:1010;9629:20:::0;:18;:20::i;:::-;18417:1135;;;:::o;14579:403::-;2630:13;:11;:13::i;:::-;14666:3:::1;14640:22;;:29;;14632:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14741:4;14722:23;;:15;;;;;;;;;;;:23;;::::0;14714:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14829:1;14814:12;:16;;;;:::i;:::-;14784:27;:46;;;;14862:15;14841:18;:36;;;;14906:4;14888:15;;:22;;;;;;;;;;;;;;;;;;14926:48;14940:15;14972:1;14957:12;:16;;;;:::i;:::-;14926:48;;;;;;;:::i;:::-;;;;;;;;14579:403::o:0;12505:41::-;;;;:::o;20908:950::-;21027:14;21056:32;21103:33;21151:27;21193:13;21313:23;21339:11;:20;21351:7;21339:20;;;;;;;;;;;21313:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21382:7;:14;;;21373:23;;21434:15;;;;;;;;;;;:246;;21679:1;21434:246;;;21520:1;21484:7;:32;;;:37;:57;;;;;21525:7;:16;;;21484:57;:164;;21616:7;:32;;;21484:164;;;21565:27;;21484:164;21434:246;21407:273;;21719:7;:33;;;21691:61;;21785:7;:27;;;21763:49;;21834:7;:16;;;21823:27;;21223:635;20908:950;;;;;;;:::o;16283:1371::-;9585:21;:19;:21::i;:::-;16424:9:::1;16419:1228;16443:7;:14;16439:1;:18;16419:1228;;;16479:14;16496:7;16504:1;16496:10;;;;;;;;:::i;:::-;;;;;;;;16479:27;;16587:9;16550:46;;16558:8;;;;;;;;;;;16550:25;;;16576:6;16550:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;;16524:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;16671:15;;;;;;;;;;;16667:232;;;16824:1;12477:18;16802:23;;;;:::i;:::-;16755:18;;16737:15;:36;;;;:::i;:::-;:89;16707:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;16667:232;17028:1;16998:11;:19;17010:6;16998:19;;;;;;;;;;;:26;;;:31;16972:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;17107:21;17131:11;:19;17143:6;17131:19;;;;;;;;;;;17107:43;;17200:15;;;;;;;;;;;:72;;17271:1;17200:72;;;17250:1;17235:12;:16;;;;:::i;:::-;17200:72;17168:4;:29;;:104;;;;17301:6;17287:4;:11;;:20;;;;17355:1;17322:4;:30;;:34;;;;17398:1;17371:4;:24;;:28;;;;17430:4;17414;:13;;;:20;;;;;;;;;;;;;;;;;;17478:1;17452:22;;:27;;;;;;;:::i;:::-;;;;;;;;17497:26;17516:6;17497:18;:26::i;:::-;17576:59;17585:6;17593:10;17605:15;17622:12;17576:59;;;;;;;;;:::i;:::-;;;;;;;;16464:1183;;16459:3;;;;;;;16419:1228;;;;9629:20:::0;:18;:20::i;:::-;16283:1371;;:::o;3419:103::-;2630:13;:11;:13::i;:::-;3484:30:::1;3511:1;3484:18;:30::i;:::-;3419:103::o:0;12300:33::-;;;;:::o;2744:87::-;2790:7;2817:6;;;;;;;;;;;2810:13;;2744:87;:::o;12262:31::-;;;;:::o;12585:18::-;;;;;;;;;;;;;:::o;12640:23::-;;;;;;;;;;;;;:::o;12610:::-;;;;;;;;;;;;;:::o;19931:110::-;19977:24;20021:12;20014:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19931:110;:::o;13657:360::-;2630:13;:11;:13::i;:::-;13763:1:::1;13740:25;;:11;:25;;::::0;13732:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13836:8;;;;;;;;;;;13821:23;;:11;:23;;::::0;13813:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13892:19;13914:8;;;;;;;;;;;13892:30;;13944:11;13933:8;;:22;;;;;;;;;;;;;;;;;;13971:38;13987:11;14000:8;;;;;;;;;;;13971:38;;;;;;;:::i;:::-;;;;;;;;13721:296;13657:360:::0;:::o;19643:164::-;19729:20;19774:25;;19767:32;;19643:164;:::o;12431:64::-;12477:18;12431:64;:::o;3677:220::-;2630:13;:11;:13::i;:::-;3782:1:::1;3762:22;;:8;:22;;::::0;3758:93:::1;;3836:1;3808:31;;;;;;;;;;;:::i;:::-;;;;;;;;3758:93;3861:28;3880:8;3861:18;:28::i;:::-;3677:220:::0;:::o;12340:42::-;;;;:::o;9665:315::-;8963:1;9794:7;;:18;9790:88;;9836:30;;;;;;;;;;;;;;9790:88;8963:1;9955:7;:17;;;;9665:315::o;9988:212::-;8920:1;10171:7;:21;;;;9988:212::o;2909:166::-;2980:12;:10;:12::i;:::-;2969:23;;:7;:5;:7::i;:::-;:23;;;2965:103;;3043:12;:10;:12::i;:::-;3016:40;;;;;;;;;;;:::i;:::-;;;;;;;;2965:103;2909:166::o;15180:503::-;15313:15;15352:9;15347:183;15371:12;:19;;;;15367:1;:23;15347:183;;;15435:6;15416:12;15429:1;15416:15;;;;;;;;:::i;:::-;;;;;;;;;;:25;15412:107;;15475:4;15462:17;;15498:5;;15412:107;15392:3;;;;;;;15347:183;;;;15612:10;15607:69;;15639:12;15657:6;15639:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15607:69;15233:450;15180:503;:::o;4057:191::-;4131:16;4150:6;;;;;;;;;;;4131:25;;4176:8;4167:6;;:17;;;;;;;;;;;;;;;;;;4231:8;4200:40;;4221:8;4200:40;;;;;;;;;;;;4120:128;4057:191;:::o;753:98::-;806:7;833:10;826:17;;753:98;:::o;7:90:1:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:75::-;467:6;500:2;494:9;484:19;;434:75;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:77;798:7;827:5;816:16;;761:77;;;:::o;844:122::-;917:24;935:5;917:24;:::i;:::-;910:5;907:35;897:63;;956:1;953;946:12;897:63;844:122;:::o;972:139::-;1018:5;1056:6;1043:20;1034:29;;1072:33;1099:5;1072:33;:::i;:::-;972:139;;;;:::o;1117:126::-;1154:7;1194:42;1187:5;1183:54;1172:65;;1117:126;;;:::o;1249:96::-;1286:7;1315:24;1333:5;1315:24;:::i;:::-;1304:35;;1249:96;;;:::o;1351:122::-;1424:24;1442:5;1424:24;:::i;:::-;1417:5;1414:35;1404:63;;1463:1;1460;1453:12;1404:63;1351:122;:::o;1479:139::-;1525:5;1563:6;1550:20;1541:29;;1579:33;1606:5;1579:33;:::i;:::-;1479:139;;;;:::o;1624:619::-;1701:6;1709;1717;1766:2;1754:9;1745:7;1741:23;1737:32;1734:119;;;1772:79;;:::i;:::-;1734:119;1892:1;1917:53;1962:7;1953:6;1942:9;1938:22;1917:53;:::i;:::-;1907:63;;1863:117;2019:2;2045:53;2090:7;2081:6;2070:9;2066:22;2045:53;:::i;:::-;2035:63;;1990:118;2147:2;2173:53;2218:7;2209:6;2198:9;2194:22;2173:53;:::i;:::-;2163:63;;2118:118;1624:619;;;;;:::o;2249:118::-;2336:24;2354:5;2336:24;:::i;:::-;2331:3;2324:37;2249:118;;:::o;2373:222::-;2466:4;2504:2;2493:9;2489:18;2481:26;;2517:71;2585:1;2574:9;2570:17;2561:6;2517:71;:::i;:::-;2373:222;;;;:::o;2601:329::-;2660:6;2709:2;2697:9;2688:7;2684:23;2680:32;2677:119;;;2715:79;;:::i;:::-;2677:119;2835:1;2860:53;2905:7;2896:6;2885:9;2881:22;2860:53;:::i;:::-;2850:63;;2806:117;2601:329;;;;:::o;2936:652::-;3135:4;3173:3;3162:9;3158:19;3150:27;;3187:71;3255:1;3244:9;3240:17;3231:6;3187:71;:::i;:::-;3268:72;3336:2;3325:9;3321:18;3312:6;3268:72;:::i;:::-;3350;3418:2;3407:9;3403:18;3394:6;3350:72;:::i;:::-;3432;3500:2;3489:9;3485:18;3476:6;3432:72;:::i;:::-;3514:67;3576:3;3565:9;3561:19;3552:6;3514:67;:::i;:::-;2936:652;;;;;;;;:::o;3594:117::-;3703:1;3700;3693:12;3717:102;3758:6;3809:2;3805:7;3800:2;3793:5;3789:14;3785:28;3775:38;;3717:102;;;:::o;3825:180::-;3873:77;3870:1;3863:88;3970:4;3967:1;3960:15;3994:4;3991:1;3984:15;4011:281;4094:27;4116:4;4094:27;:::i;:::-;4086:6;4082:40;4224:6;4212:10;4209:22;4188:18;4176:10;4173:34;4170:62;4167:88;;;4235:18;;:::i;:::-;4167:88;4275:10;4271:2;4264:22;4054:238;4011:281;;:::o;4298:129::-;4332:6;4359:20;;:::i;:::-;4349:30;;4388:33;4416:4;4408:6;4388:33;:::i;:::-;4298:129;;;:::o;4433:311::-;4510:4;4600:18;4592:6;4589:30;4586:56;;;4622:18;;:::i;:::-;4586:56;4672:4;4664:6;4660:17;4652:25;;4732:4;4726;4722:15;4714:23;;4433:311;;;:::o;4750:117::-;4859:1;4856;4849:12;4890:710;4986:5;5011:81;5027:64;5084:6;5027:64;:::i;:::-;5011:81;:::i;:::-;5002:90;;5112:5;5141:6;5134:5;5127:21;5175:4;5168:5;5164:16;5157:23;;5228:4;5220:6;5216:17;5208:6;5204:30;5257:3;5249:6;5246:15;5243:122;;;5276:79;;:::i;:::-;5243:122;5391:6;5374:220;5408:6;5403:3;5400:15;5374:220;;;5483:3;5512:37;5545:3;5533:10;5512:37;:::i;:::-;5507:3;5500:50;5579:4;5574:3;5570:14;5563:21;;5450:144;5434:4;5429:3;5425:14;5418:21;;5374:220;;;5378:21;4992:608;;4890:710;;;;;:::o;5623:370::-;5694:5;5743:3;5736:4;5728:6;5724:17;5720:27;5710:122;;5751:79;;:::i;:::-;5710:122;5868:6;5855:20;5893:94;5983:3;5975:6;5968:4;5960:6;5956:17;5893:94;:::i;:::-;5884:103;;5700:293;5623:370;;;;:::o;5999:684::-;6092:6;6100;6149:2;6137:9;6128:7;6124:23;6120:32;6117:119;;;6155:79;;:::i;:::-;6117:119;6303:1;6292:9;6288:17;6275:31;6333:18;6325:6;6322:30;6319:117;;;6355:79;;:::i;:::-;6319:117;6460:78;6530:7;6521:6;6510:9;6506:22;6460:78;:::i;:::-;6450:88;;6246:302;6587:2;6613:53;6658:7;6649:6;6638:9;6634:22;6613:53;:::i;:::-;6603:63;;6558:118;5999:684;;;;;:::o;6689:118::-;6776:24;6794:5;6776:24;:::i;:::-;6771:3;6764:37;6689:118;;:::o;6813:222::-;6906:4;6944:2;6933:9;6929:18;6921:26;;6957:71;7025:1;7014:9;7010:17;7001:6;6957:71;:::i;:::-;6813:222;;;;:::o;7041:114::-;7108:6;7142:5;7136:12;7126:22;;7041:114;;;:::o;7161:184::-;7260:11;7294:6;7289:3;7282:19;7334:4;7329:3;7325:14;7310:29;;7161:184;;;;:::o;7351:132::-;7418:4;7441:3;7433:11;;7471:4;7466:3;7462:14;7454:22;;7351:132;;;:::o;7489:108::-;7566:24;7584:5;7566:24;:::i;:::-;7561:3;7554:37;7489:108;;:::o;7603:179::-;7672:10;7693:46;7735:3;7727:6;7693:46;:::i;:::-;7771:4;7766:3;7762:14;7748:28;;7603:179;;;;:::o;7788:113::-;7858:4;7890;7885:3;7881:14;7873:22;;7788:113;;;:::o;7937:732::-;8056:3;8085:54;8133:5;8085:54;:::i;:::-;8155:86;8234:6;8229:3;8155:86;:::i;:::-;8148:93;;8265:56;8315:5;8265:56;:::i;:::-;8344:7;8375:1;8360:284;8385:6;8382:1;8379:13;8360:284;;;8461:6;8455:13;8488:63;8547:3;8532:13;8488:63;:::i;:::-;8481:70;;8574:60;8627:6;8574:60;:::i;:::-;8564:70;;8420:224;8407:1;8404;8400:9;8395:14;;8360:284;;;8364:14;8660:3;8653:10;;8061:608;;;7937:732;;;;:::o;8675:373::-;8818:4;8856:2;8845:9;8841:18;8833:26;;8905:9;8899:4;8895:20;8891:1;8880:9;8876:17;8869:47;8933:108;9036:4;9027:6;8933:108;:::i;:::-;8925:116;;8675:373;;;;:::o;9054:329::-;9113:6;9162:2;9150:9;9141:7;9137:23;9133:32;9130:119;;;9168:79;;:::i;:::-;9130:119;9288:1;9313:53;9358:7;9349:6;9338:9;9334:22;9313:53;:::i;:::-;9303:63;;9259:117;9054:329;;;;:::o;9389:143::-;9446:5;9477:6;9471:13;9462:22;;9493:33;9520:5;9493:33;:::i;:::-;9389:143;;;;:::o;9538:351::-;9608:6;9657:2;9645:9;9636:7;9632:23;9628:32;9625:119;;;9663:79;;:::i;:::-;9625:119;9783:1;9808:64;9864:7;9855:6;9844:9;9840:22;9808:64;:::i;:::-;9798:74;;9754:128;9538:351;;;;:::o;9895:169::-;9979:11;10013:6;10008:3;10001:19;10053:4;10048:3;10044:14;10029:29;;9895:169;;;;:::o;10070:166::-;10210:18;10206:1;10198:6;10194:14;10187:42;10070:166;:::o;10242:366::-;10384:3;10405:67;10469:2;10464:3;10405:67;:::i;:::-;10398:74;;10481:93;10570:3;10481:93;:::i;:::-;10599:2;10594:3;10590:12;10583:19;;10242:366;;;:::o;10614:419::-;10780:4;10818:2;10807:9;10803:18;10795:26;;10867:9;10861:4;10857:20;10853:1;10842:9;10838:17;10831:47;10895:131;11021:4;10895:131;:::i;:::-;10887:139;;10614:419;;;:::o;11039:173::-;11179:25;11175:1;11167:6;11163:14;11156:49;11039:173;:::o;11218:366::-;11360:3;11381:67;11445:2;11440:3;11381:67;:::i;:::-;11374:74;;11457:93;11546:3;11457:93;:::i;:::-;11575:2;11570:3;11566:12;11559:19;;11218:366;;;:::o;11590:419::-;11756:4;11794:2;11783:9;11779:18;11771:26;;11843:9;11837:4;11833:20;11829:1;11818:9;11814:17;11807:47;11871:131;11997:4;11871:131;:::i;:::-;11863:139;;11590:419;;;:::o;12015:180::-;12063:77;12060:1;12053:88;12160:4;12157:1;12150:15;12184:4;12181:1;12174:15;12201:410;12241:7;12264:20;12282:1;12264:20;:::i;:::-;12259:25;;12298:20;12316:1;12298:20;:::i;:::-;12293:25;;12353:1;12350;12346:9;12375:30;12393:11;12375:30;:::i;:::-;12364:41;;12554:1;12545:7;12541:15;12538:1;12535:22;12515:1;12508:9;12488:83;12465:139;;12584:18;;:::i;:::-;12465:139;12249:362;12201:410;;;;:::o;12617:194::-;12657:4;12677:20;12695:1;12677:20;:::i;:::-;12672:25;;12711:20;12729:1;12711:20;:::i;:::-;12706:25;;12755:1;12752;12748:9;12740:17;;12779:1;12773:4;12770:11;12767:37;;;12784:18;;:::i;:::-;12767:37;12617:194;;;;:::o;12817:163::-;12957:15;12953:1;12945:6;12941:14;12934:39;12817:163;:::o;12986:366::-;13128:3;13149:67;13213:2;13208:3;13149:67;:::i;:::-;13142:74;;13225:93;13314:3;13225:93;:::i;:::-;13343:2;13338:3;13334:12;13327:19;;12986:366;;;:::o;13358:419::-;13524:4;13562:2;13551:9;13547:18;13539:26;;13611:9;13605:4;13601:20;13597:1;13586:9;13582:17;13575:47;13639:131;13765:4;13639:131;:::i;:::-;13631:139;;13358:419;;;:::o;13783:226::-;13923:34;13919:1;13911:6;13907:14;13900:58;13992:9;13987:2;13979:6;13975:15;13968:34;13783:226;:::o;14015:366::-;14157:3;14178:67;14242:2;14237:3;14178:67;:::i;:::-;14171:74;;14254:93;14343:3;14254:93;:::i;:::-;14372:2;14367:3;14363:12;14356:19;;14015:366;;;:::o;14387:419::-;14553:4;14591:2;14580:9;14576:18;14568:26;;14640:9;14634:4;14630:20;14626:1;14615:9;14611:17;14604:47;14668:131;14794:4;14668:131;:::i;:::-;14660:139;;14387:419;;;:::o;14812:442::-;14961:4;14999:2;14988:9;14984:18;14976:26;;15012:71;15080:1;15069:9;15065:17;15056:6;15012:71;:::i;:::-;15093:72;15161:2;15150:9;15146:18;15137:6;15093:72;:::i;:::-;15175;15243:2;15232:9;15228:18;15219:6;15175:72;:::i;:::-;14812:442;;;;;;:::o;15260:116::-;15330:21;15345:5;15330:21;:::i;:::-;15323:5;15320:32;15310:60;;15366:1;15363;15356:12;15310:60;15260:116;:::o;15382:137::-;15436:5;15467:6;15461:13;15452:22;;15483:30;15507:5;15483:30;:::i;:::-;15382:137;;;;:::o;15525:345::-;15592:6;15641:2;15629:9;15620:7;15616:23;15612:32;15609:119;;;15647:79;;:::i;:::-;15609:119;15767:1;15792:61;15845:7;15836:6;15825:9;15821:22;15792:61;:::i;:::-;15782:71;;15738:125;15525:345;;;;:::o;15876:332::-;15997:4;16035:2;16024:9;16020:18;16012:26;;16048:71;16116:1;16105:9;16101:17;16092:6;16048:71;:::i;:::-;16129:72;16197:2;16186:9;16182:18;16173:6;16129:72;:::i;:::-;15876:332;;;;;:::o;16214:191::-;16254:3;16273:20;16291:1;16273:20;:::i;:::-;16268:25;;16307:20;16325:1;16307:20;:::i;:::-;16302:25;;16350:1;16347;16343:9;16336:16;;16371:3;16368:1;16365:10;16362:36;;;16378:18;;:::i;:::-;16362:36;16214:191;;;;:::o;16411:553::-;16588:4;16626:3;16615:9;16611:19;16603:27;;16640:71;16708:1;16697:9;16693:17;16684:6;16640:71;:::i;:::-;16721:72;16789:2;16778:9;16774:18;16765:6;16721:72;:::i;:::-;16803;16871:2;16860:9;16856:18;16847:6;16803:72;:::i;:::-;16885;16953:2;16942:9;16938:18;16929:6;16885:72;:::i;:::-;16411:553;;;;;;;:::o;16970:179::-;17110:31;17106:1;17098:6;17094:14;17087:55;16970:179;:::o;17155:366::-;17297:3;17318:67;17382:2;17377:3;17318:67;:::i;:::-;17311:74;;17394:93;17483:3;17394:93;:::i;:::-;17512:2;17507:3;17503:12;17496:19;;17155:366;;;:::o;17527:419::-;17693:4;17731:2;17720:9;17716:18;17708:26;;17780:9;17774:4;17770:20;17766:1;17755:9;17751:17;17744:47;17808:131;17934:4;17808:131;:::i;:::-;17800:139;;17527:419;;;:::o;17952:173::-;18092:25;18088:1;18080:6;18076:14;18069:49;17952:173;:::o;18131:366::-;18273:3;18294:67;18358:2;18353:3;18294:67;:::i;:::-;18287:74;;18370:93;18459:3;18370:93;:::i;:::-;18488:2;18483:3;18479:12;18472:19;;18131:366;;;:::o;18503:419::-;18669:4;18707:2;18696:9;18692:18;18684:26;;18756:9;18750:4;18746:20;18742:1;18731:9;18727:17;18720:47;18784:131;18910:4;18784:131;:::i;:::-;18776:139;;18503:419;;;:::o;18928:332::-;19049:4;19087:2;19076:9;19072:18;19064:26;;19100:71;19168:1;19157:9;19153:17;19144:6;19100:71;:::i;:::-;19181:72;19249:2;19238:9;19234:18;19225:6;19181:72;:::i;:::-;18928:332;;;;;:::o;19266:180::-;19314:77;19311:1;19304:88;19411:4;19408:1;19401:15;19435:4;19432:1;19425:15;19452:167;19592:19;19588:1;19580:6;19576:14;19569:43;19452:167;:::o;19625:366::-;19767:3;19788:67;19852:2;19847:3;19788:67;:::i;:::-;19781:74;;19864:93;19953:3;19864:93;:::i;:::-;19982:2;19977:3;19973:12;19966:19;;19625:366;;;:::o;19997:419::-;20163:4;20201:2;20190:9;20186:18;20178:26;;20250:9;20244:4;20240:20;20236:1;20225:9;20221:17;20214:47;20278:131;20404:4;20278:131;:::i;:::-;20270:139;;19997:419;;;:::o;20422:174::-;20562:26;20558:1;20550:6;20546:14;20539:50;20422:174;:::o;20602:366::-;20744:3;20765:67;20829:2;20824:3;20765:67;:::i;:::-;20758:74;;20841:93;20930:3;20841:93;:::i;:::-;20959:2;20954:3;20950:12;20943:19;;20602:366;;;:::o;20974:419::-;21140:4;21178:2;21167:9;21163:18;21155:26;;21227:9;21221:4;21217:20;21213:1;21202:9;21198:17;21191:47;21255:131;21381:4;21255:131;:::i;:::-;21247:139;;20974:419;;;:::o;21399:182::-;21539:34;21535:1;21527:6;21523:14;21516:58;21399:182;:::o;21587:366::-;21729:3;21750:67;21814:2;21809:3;21750:67;:::i;:::-;21743:74;;21826:93;21915:3;21826:93;:::i;:::-;21944:2;21939:3;21935:12;21928:19;;21587:366;;;:::o;21959:419::-;22125:4;22163:2;22152:9;22148:18;22140:26;;22212:9;22206:4;22202:20;22198:1;22187:9;22183:17;22176:47;22240:131;22366:4;22240:131;:::i;:::-;22232:139;;21959:419;;;:::o;22384:179::-;22524:31;22520:1;22512:6;22508:14;22501:55;22384:179;:::o;22569:366::-;22711:3;22732:67;22796:2;22791:3;22732:67;:::i;:::-;22725:74;;22808:93;22897:3;22808:93;:::i;:::-;22926:2;22921:3;22917:12;22910:19;;22569:366;;;:::o;22941:419::-;23107:4;23145:2;23134:9;23130:18;23122:26;;23194:9;23188:4;23184:20;23180:1;23169:9;23165:17;23158:47;23222:131;23348:4;23222:131;:::i;:::-;23214:139;;22941:419;;;:::o;23366:332::-;23487:4;23525:2;23514:9;23510:18;23502:26;;23538:71;23606:1;23595:9;23591:17;23582:6;23538:71;:::i;:::-;23619:72;23687:2;23676:9;23672:18;23663:6;23619:72;:::i;:::-;23366:332;;;;;:::o
Swarm Source
ipfs://f1df3bfa3662ad1ac954cd0db5e0ac2a0574d190d408c6d7fe35165440465022
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.