Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 12 from a total of 12 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 13226910 | 1272 days ago | IN | 0 ETH | 0.00200361 | ||||
Mint | 13089247 | 1293 days ago | IN | 0 ETH | 0.02148592 | ||||
Mint | 13089244 | 1293 days ago | IN | 0 ETH | 0.02202306 | ||||
Mint | 13089240 | 1293 days ago | IN | 0 ETH | 0.02820027 | ||||
Mint | 13089100 | 1293 days ago | IN | 0 ETH | 0.04282986 | ||||
Mint | 13088876 | 1293 days ago | IN | 0 ETH | 0.01504081 | ||||
Mint | 13088715 | 1293 days ago | IN | 0 ETH | 0.02712718 | ||||
Mint | 13088500 | 1293 days ago | IN | 0 ETH | 0.02282981 | ||||
Mint | 13087674 | 1293 days ago | IN | 0 ETH | 0.01101202 | ||||
Mint | 13087187 | 1293 days ago | IN | 0 ETH | 0.01423442 | ||||
Mint | 13086855 | 1293 days ago | IN | 0 ETH | 0.01987447 | ||||
Mint | 13085731 | 1294 days ago | IN | 0 ETH | 0.02179972 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
MiningNFTManage
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-26 */ pragma solidity ^0.8.0; // SPDX-License-Identifier: MIT /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } /** * @dev Required interface of an ERC1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[EIP]. * * _Available since v3.1._ */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. */ event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); /** * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all * transfers. */ event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values ); /** * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to * `approved`. */ event ApprovalForAll(address indexed account, address indexed operator, bool approved); /** * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. * * If an {URI} event was emitted for `id`, the standard * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value * returned by {IERC1155MetadataURI-uri}. */ event URI(string value, uint256 indexed id); /** * @dev Returns the amount of tokens of token type `id` owned by `account`. * * Requirements: * * - `account` cannot be the zero address. */ function balanceOf(address account, uint256 id) external view returns (uint256); /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. * * Requirements: * * - `accounts` and `ids` must have the same length. */ function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory); /** * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, * * Emits an {ApprovalForAll} event. * * Requirements: * * - `operator` cannot be the caller. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. * * See {setApprovalForAll}. */ function isApprovedForAll(address account, address operator) external view returns (bool); /** * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. * * Emits a {TransferSingle} event. * * Requirements: * * - `to` cannot be the zero address. * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. * - `from` must have a balance of tokens of type `id` of at least `amount`. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the * acceptance magic value. */ function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes calldata data ) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * Emits a {TransferBatch} event. * * Requirements: * * - `ids` and `amounts` must have the same length. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the * acceptance magic value. */ function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external; } /* * @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; } } /** * @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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IMinerManage { function setOracleAddress(address _oracleAddress) external; function minerAdjustedStoragePowerInTiB(string memory minerId) external view returns(uint256); function whiteList(address walletAddress) external returns(bool); function minerInfoMap(address walletAddress) external returns(string memory); function getMinerList() external view returns(string[] memory); function getMinerId(address walletAddress) external view returns(string memory); } interface IMiningNFTManage { function getMinerIdByTokenId(uint256 _tokenId) external view returns(string memory); } interface IMiningNFT is IERC1155{ function getInitialTokenId() external pure returns(uint256); function getCurrentTokenId() external view returns(uint256); function mint(address account, uint256 amount) external returns(uint256); function burn(address account,uint256 tokenId, uint256 amount) external ; } interface IFilChainStatOracle { function sectorInitialPledge() external view returns(uint256); function minerAdjustedPower(string memory _minerId) external view returns(uint256); function minerMiningEfficiency(string memory _minerId) external view returns(uint256); function minerSectorInitialPledge(string memory _minerId) external view returns(uint256); function minerTotalAdjustedPower() external view returns(uint256); function avgMiningEfficiency() external view returns(uint256); function latest24hBlockReward() external view returns(uint256); function rewardAttenuationFactor() external view returns(uint256); function networkStoragePower() external view returns(uint256); function dailyStoragePowerIncrease() external view returns(uint256); function removeMinerAdjustedPower(string memory _minerId) external; } interface IMiningNFTMintingLimitation { function getMinerMintLimitationInTiB(string memory _minerId) external view returns(uint256); function checkLimitation(string memory _minerId, uint256 _minerTotalMinted, uint256 _allMinersTotalMinted) external view returns(bool, string memory); } contract MiningNFTManage is Ownable{ using SafeMath for uint256; struct TokenInfo{ string minerId; uint256 supply; uint256 initialPledgePerTiB; } mapping(string=>uint256) public mintedAmount; // in TiB mapping(string=>uint256[]) minerMintedTokens; mapping(uint256=>TokenInfo) public tokenInfoMap; mapping(string=>uint256) public minerTotalPledgedAmount; uint256 public totalMintedInTiB; uint256 public totalSectorInitialPledge; // attoFil/TiB IMinerManage public minerManage; IMiningNFT public miningNFT; IFilChainStatOracle public filChainStatOracle; IMiningNFTMintingLimitation public miningNFTMintingLimitation; event Mint(address indexed account, uint256 indexed tokenId, uint256 amount); event Burn(address indexed account, uint256 indexed tokenId, uint256 amount); event RemoveToken(address indexed account, string indexed minerId, uint256 tokenId); event MiningNftMintingLimitationChanged(address limitation, address newLimitation); event MinerManageChanged(address minerManage, address newMinerManage); event FilChainStatOracleChanged(address filChainStatOracle, address newFilChainStatOracle); constructor(IMinerManage _minerManage, IMiningNFT _miningNFT, IFilChainStatOracle _filChainStatOracle, IMiningNFTMintingLimitation _miningNFTMintingLimitation){ minerManage = _minerManage; miningNFT = _miningNFT; filChainStatOracle = _filChainStatOracle; miningNFTMintingLimitation = _miningNFTMintingLimitation; } function setMiningNFTMintingLimitation(IMiningNFTMintingLimitation _miningNFTMintingLimitation) public onlyOwner{ require(address(_miningNFTMintingLimitation) != address(0), "address should not be 0"); address origin = address(miningNFTMintingLimitation); miningNFTMintingLimitation = _miningNFTMintingLimitation; emit MiningNftMintingLimitationChanged(origin, address(_miningNFTMintingLimitation)); } function setMinerManage(IMinerManage _minerManage) external onlyOwner{ require(address(_minerManage) != address(0), "address should not be 0"); address originMinerManage = address(minerManage); minerManage = _minerManage; emit MinerManageChanged(originMinerManage, address(_minerManage)); } function setFilChainStatOracle(IFilChainStatOracle _filChainStatOracle) external onlyOwner{ require(address(_filChainStatOracle) != address(0), "address should not be 0"); emit FilChainStatOracleChanged(address(filChainStatOracle), address(_filChainStatOracle)); filChainStatOracle = _filChainStatOracle; } function getMinerMintedTokensByWalletAddress(address _walletAddress) external view returns(uint256[] memory){ string memory minerId = minerManage.getMinerId(_walletAddress); return minerMintedTokens[minerId]; } function getMinerMintedTokens(string memory _minerId) external view returns(uint256[] memory){ return minerMintedTokens[_minerId]; } function getMinerIdByTokenId(uint256 _tokenId) external view returns(string memory){ return tokenInfoMap[_tokenId].minerId; } function getLastMintedTokenId(string memory _minerId) external view returns(uint256){ uint256[] memory mintedTokens = minerMintedTokens[_minerId]; if(mintedTokens.length>0){ return mintedTokens[mintedTokens.length - 1]; }else{ return 0; } } function mint(uint256 _amount) external { require(minerManage.whiteList(_msgSender()), "sender not in whitelist"); string memory minerId = minerManage.getMinerId(_msgSender()); uint256 minerMintedAmount = mintedAmount[minerId]; (bool success, string memory message) = miningNFTMintingLimitation.checkLimitation(minerId, minerMintedAmount.add(_amount), totalMintedInTiB.add(_amount)); require(success, message); mintedAmount[minerId] = minerMintedAmount.add(_amount); totalMintedInTiB = totalMintedInTiB.add(_amount); uint256 newTokenId = miningNFT.mint(_msgSender(), _amount); minerMintedTokens[minerId].push(newTokenId); uint256 sectorInitialPledge = filChainStatOracle.sectorInitialPledge(); require(sectorInitialPledge > 0, "sectorInitialPledge should be >0"); tokenInfoMap[newTokenId] = TokenInfo(minerId, _amount, sectorInitialPledge); uint256 pledgeAmount = sectorInitialPledge.mul(_amount); totalSectorInitialPledge = totalSectorInitialPledge.add(pledgeAmount); minerTotalPledgedAmount[minerId] = minerTotalPledgedAmount[minerId].add(pledgeAmount); emit Mint(_msgSender(), newTokenId, _amount); } function burn(uint256 _tokenId, uint256 _amount) external { address account = _msgSender(); require(miningNFT.balanceOf(account, _tokenId)>=_amount, "burn amount exceed balance"); string memory minerId = minerManage.getMinerId(_msgSender()); mintedAmount[minerId] = mintedAmount[minerId].sub(_amount); totalMintedInTiB = totalMintedInTiB.sub(_amount); uint256 tokenSectorInitialPledge = tokenInfoMap[_tokenId].initialPledgePerTiB; uint256 pledgeAmount = tokenSectorInitialPledge.mul(_amount); totalSectorInitialPledge = totalSectorInitialPledge.sub(pledgeAmount); minerTotalPledgedAmount[minerId] = minerTotalPledgedAmount[minerId].sub(pledgeAmount); miningNFT.burn(account, _tokenId, _amount); removeMintedToken(_tokenId); emit Burn(account, _tokenId, _amount); } function removeMintedToken(uint256 _tokenId) internal{ if(miningNFT.balanceOf(_msgSender(), _tokenId) == 0){ string memory minerId = minerManage.getMinerId(_msgSender()); uint256[] storage mintedTokens = minerMintedTokens[minerId]; for(uint i=0; i<mintedTokens.length; i++){ if(mintedTokens[i] == _tokenId){ mintedTokens[i] = mintedTokens[mintedTokens.length - 1]; mintedTokens.pop(); emit RemoveToken(_msgSender(), minerId, _tokenId); break; } } } } function getAvgInitialPledge() public view returns(uint256){ if(totalMintedInTiB==0) return 0; return totalSectorInitialPledge.div(totalMintedInTiB); } function getMinerTotalPledgeFilAmount(string memory _minerId) public view returns(uint256){ return minerTotalPledgedAmount[_minerId]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IMinerManage","name":"_minerManage","type":"address"},{"internalType":"contract IMiningNFT","name":"_miningNFT","type":"address"},{"internalType":"contract IFilChainStatOracle","name":"_filChainStatOracle","type":"address"},{"internalType":"contract IMiningNFTMintingLimitation","name":"_miningNFTMintingLimitation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"filChainStatOracle","type":"address"},{"indexed":false,"internalType":"address","name":"newFilChainStatOracle","type":"address"}],"name":"FilChainStatOracleChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"minerManage","type":"address"},{"indexed":false,"internalType":"address","name":"newMinerManage","type":"address"}],"name":"MinerManageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"limitation","type":"address"},{"indexed":false,"internalType":"address","name":"newLimitation","type":"address"}],"name":"MiningNftMintingLimitationChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","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":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"string","name":"minerId","type":"string"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"RemoveToken","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"filChainStatOracle","outputs":[{"internalType":"contract IFilChainStatOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAvgInitialPledge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_minerId","type":"string"}],"name":"getLastMintedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getMinerIdByTokenId","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_minerId","type":"string"}],"name":"getMinerMintedTokens","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_walletAddress","type":"address"}],"name":"getMinerMintedTokensByWalletAddress","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_minerId","type":"string"}],"name":"getMinerTotalPledgeFilAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minerManage","outputs":[{"internalType":"contract IMinerManage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"minerTotalPledgedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"miningNFT","outputs":[{"internalType":"contract IMiningNFT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"miningNFTMintingLimitation","outputs":[{"internalType":"contract IMiningNFTMintingLimitation","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"mintedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IFilChainStatOracle","name":"_filChainStatOracle","type":"address"}],"name":"setFilChainStatOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMinerManage","name":"_minerManage","type":"address"}],"name":"setMinerManage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMiningNFTMintingLimitation","name":"_miningNFTMintingLimitation","type":"address"}],"name":"setMiningNFTMintingLimitation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenInfoMap","outputs":[{"internalType":"string","name":"minerId","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"initialPledgePerTiB","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMintedInTiB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSectorInitialPledge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001c2e38038062001c2e8339810160408190526200003491620000e3565b6200003f3362000093565b600780546001600160a01b039586166001600160a01b03199182161790915560088054948616948216949094179093556009805492851692841692909217909155600a805491909316911617905562000163565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060008060808587031215620000f9578384fd5b845162000106816200014a565b602086015190945062000119816200014a565b60408601519093506200012c816200014a565b60608601519092506200013f816200014a565b939692955090935050565b6001600160a01b03811681146200016057600080fd5b50565b611abb80620001736000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c8063a0712d68116100c3578063bc90e3d51161007c578063bc90e3d514610307578063c7cd241a14610310578063ea7309f414610318578063f2fde38b1461032b578063fa0261fd1461033e578063fea1228d1461035157600080fd5b8063a0712d681461027d578063a62962f514610290578063a887101f146102bb578063addbae45146102ce578063af46348b146102e1578063b390c0ab146102f457600080fd5b8063715018a611610115578063715018a6146101fb578063760e96bb146102055780638da5cb5b14610225578063944447eb146102365780639825b09e1461023f5780639ada839c1461026a57600080fd5b80622ce17b146101515780630683c1c61461017a57806313dc6f4f1461019b5780635decaf34146101c65780636fa700bf146101d9575b600080fd5b61016461015f366004611780565b610364565b604051610171919061185d565b60405180910390f35b61018d6101883660046116d9565b610406565b604051908152602001610171565b6009546101ae906001600160a01b031681565b6040516001600160a01b039091168152602001610171565b6007546101ae906001600160a01b031681565b6101ec6101e7366004611780565b61042e565b60405161017193929190611870565b6102036104d8565b005b610218610213366004611657565b610517565b6040516101719190611819565b6000546001600160a01b03166101ae565b61018d60055481565b61018d61024d3660046116d9565b805160208183018101805160018252928201919093012091525481565b610203610278366004611657565b61060e565b61020361028b366004611780565b6106c7565b61018d61029e3660046116d9565b805160208183018101805160048252928201919093012091525481565b600a546101ae906001600160a01b031681565b6008546101ae906001600160a01b031681565b6102036102ef366004611657565b610bfc565b6102036103023660046117b0565b610cae565b61018d60065481565b61018d610f99565b6102186103263660046116d9565b610fc0565b610203610339366004611657565b61102f565b61020361034c366004611657565b6110ca565b61018d61035f3660046116d9565b611174565b6000818152600360205260409020805460609190610381906119f4565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad906119f4565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b50505050509050919050565b600060048260405161041891906117fd565b9081526020016040518091039020549050919050565b600360205260009081526040902080548190610449906119f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610475906119f4565b80156104c25780601f10610497576101008083540402835291602001916104c2565b820191906000526020600020905b8154815290600101906020018083116104a557829003601f168201915b5050505050908060010154908060020154905083565b6000546001600160a01b0316331461050b5760405162461bcd60e51b8152600401610502906118cc565b60405180910390fd5b6105156000611236565b565b60075460405163e2dea71560e01b81526001600160a01b03838116600483015260609260009291169063e2dea7159060240160006040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d919081019061174d565b90506002816040516105af91906117fd565b908152604080519182900360209081018320805480830285018301909352828452919083018282801561060157602002820191906000526020600020905b8154815260200190600101908083116105ed575b5050505050915050919050565b6000546001600160a01b031633146106385760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b03811661065e5760405162461bcd60e51b815260040161050290611895565b600954604080516001600160a01b03928316815291831660208301527fc34c216a747611114a28b4a2cd354896ff8798befbdaa0b17cb7b23d6d9f9ba5910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031663372c12b1336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611673565b61079e5760405162461bcd60e51b815260206004820152601760248201527f73656e646572206e6f7420696e2077686974656c6973740000000000000000006044820152606401610502565b6007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b1580156107f257600080fd5b505afa158015610806573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261082e919081019061174d565b9050600060018260405161084291906117fd565b90815260405190819003602001902054600a5490915060009081906001600160a01b031663cd729edd856108768689611286565b600554610883908a611286565b6040518463ffffffff1660e01b81526004016108a193929190611870565b60006040518083038186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f5919081019061168d565b915091508181906109195760405162461bcd60e51b8152600401610502919061185d565b506109248386611286565b60018560405161093491906117fd565b908152604051908190036020019020556005546109519086611286565b6005556008546000906001600160a01b03166340c10f19336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101899052604401602060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190611798565b90506002856040516109fb91906117fd565b90815260408051602092819003830181208054600181018255600091825284822001859055600954634fe30b7760e11b8352925190936001600160a01b0390931692639fc616ee9260048082019391829003018186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a969190611798565b905060008111610ae85760405162461bcd60e51b815260206004820181905260248201527f736563746f72496e697469616c506c656467652073686f756c64206265203e306044820152606401610502565b6040805160608101825287815260208082018a9052818301849052600085815260038252929092208151805192939192610b259284920190611559565b50602082015160018201556040909101516002909101556000610b488289611299565b600654909150610b589082611286565b600681905550610b8881600489604051610b7291906117fd565b9081526040519081900360200190205490611286565b600488604051610b9891906117fd565b9081526040519081900360200190205582610bb03390565b6001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8a604051610bea91815260200190565b60405180910390a35050505050505050565b6000546001600160a01b03163314610c265760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b038116610c4c5760405162461bcd60e51b815260040161050290611895565b600780546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f8eda2b7d2e4fb87341fe0f01cf30038620776fc97c62bd20e76e7ac6256ad37891015b60405180910390a15050565b600033600854604051627eeac760e11b81526001600160a01b0380841660048301526024820187905292935084929091169062fdd58e9060440160206040518083038186803b158015610d0057600080fd5b505afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d389190611798565b1015610d865760405162461bcd60e51b815260206004820152601a60248201527f6275726e20616d6f756e74206578636565642062616c616e63650000000000006044820152606401610502565b6007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b158015610dda57600080fd5b505afa158015610dee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e16919081019061174d565b9050610e4283600183604051610e2c91906117fd565b90815260405190819003602001902054906112a5565b600182604051610e5291906117fd565b90815260405190819003602001902055600554610e6f90846112a5565b60055560008481526003602052604081206002015490610e8f8286611299565b600654909150610e9f90826112a5565b600681905550610eb981600485604051610e2c91906117fd565b600484604051610ec991906117fd565b90815260405190819003602001812091909155600854637a94c56560e11b82526001600160a01b0386811660048401526024830189905260448301889052169063f5298aca90606401600060405180830381600087803b158015610f2c57600080fd5b505af1158015610f40573d6000803e3d6000fd5b50505050610f4d866112b1565b85846001600160a01b03167f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a87604051610f8991815260200190565b60405180910390a3505050505050565b600060055460001415610fac5750600090565b600554600654610fbb9161154d565b905090565b6060600282604051610fd291906117fd565b90815260408051918290036020908101832080548083028501830190935282845291908301828280156103fa57602002820191906000526020600020905b8154815260200190600101908083116110105750505050509050919050565b6000546001600160a01b031633146110595760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b0381166110be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610502565b6110c781611236565b50565b6000546001600160a01b031633146110f45760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b03811661111a5760405162461bcd60e51b815260040161050290611895565b600a80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f113e19b8c706df6783f768f83537d40d00c5a08e675b9ff74a03bd3542979fd39101610ca2565b60008060028360405161118791906117fd565b90815260408051918290036020908101832080548083028501830190935282845291908301828280156111d957602002820191906000526020600020905b8154815260200190600101908083116111c5575b505050505090506000815111156112275780600182516111f991906119b1565b8151811061121757634e487b7160e01b600052603260045260246000fd5b6020026020010151915050919050565b50600092915050565b50919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611292828461195a565b9392505050565b60006112928284611992565b600061129282846119b1565b6008546001600160a01b031662fdd58e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810184905260440160206040518083038186803b15801561130857600080fd5b505afa15801561131c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113409190611798565b6110c7576007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b15801561139857600080fd5b505afa1580156113ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113d4919081019061174d565b905060006002826040516113e891906117fd565b9081526020016040518091039020905060005b8154811015611547578382828154811061142557634e487b7160e01b600052603260045260246000fd5b906000526020600020015414156115355781548290611446906001906119b1565b8154811061146457634e487b7160e01b600052603260045260246000fd5b906000526020600020015482828154811061148f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200181905550818054806114bb57634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055826040516114df91906117fd565b60405180910390206114ee3390565b6001600160a01b03167fae51c64e3aea2364e42bddc39f159503b609c902a64242708c62536e661deadb8660405161152891815260200190565b60405180910390a3611547565b8061153f81611a29565b9150506113fb565b50505050565b60006112928284611972565b828054611565906119f4565b90600052602060002090601f01602090048101928261158757600085556115cd565b82601f106115a057805160ff19168380011785556115cd565b828001600101855582156115cd579182015b828111156115cd5782518255916020019190600101906115b2565b506115d99291506115dd565b5090565b5b808211156115d957600081556001016115de565b8051801515811461160257600080fd5b919050565b600082601f830112611617578081fd5b815161162a61162582611932565b611901565b81815284602083860101111561163e578283fd5b61164f8260208301602087016119c8565b949350505050565b600060208284031215611668578081fd5b813561129281611a70565b600060208284031215611684578081fd5b611292826115f2565b6000806040838503121561169f578081fd5b6116a8836115f2565b9150602083015167ffffffffffffffff8111156116c3578182fd5b6116cf85828601611607565b9150509250929050565b6000602082840312156116ea578081fd5b813567ffffffffffffffff811115611700578182fd5b8201601f81018413611710578182fd5b803561171e61162582611932565b818152856020838501011115611732578384fd5b81602084016020830137908101602001929092525092915050565b60006020828403121561175e578081fd5b815167ffffffffffffffff811115611774578182fd5b61164f84828501611607565b600060208284031215611791578081fd5b5035919050565b6000602082840312156117a9578081fd5b5051919050565b600080604083850312156117c2578182fd5b50508035926020909101359150565b600081518084526117e98160208601602086016119c8565b601f01601f19169290920160200192915050565b6000825161180f8184602087016119c8565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b8181101561185157835183529284019291840191600101611835565b50909695505050505050565b60208152600061129260208301846117d1565b60608152600061188360608301866117d1565b60208301949094525060400152919050565b60208082526017908201527f616464726573732073686f756c64206e6f742062652030000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561192a5761192a611a5a565b604052919050565b600067ffffffffffffffff82111561194c5761194c611a5a565b50601f01601f191660200190565b6000821982111561196d5761196d611a44565b500190565b60008261198d57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119ac576119ac611a44565b500290565b6000828210156119c3576119c3611a44565b500390565b60005b838110156119e35781810151838201526020016119cb565b838111156115475750506000910152565b600181811c90821680611a0857607f821691505b6020821081141561123057634e487b7160e01b600052602260045260246000fd5b6000600019821415611a3d57611a3d611a44565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146110c757600080fdfea2646970667358221220cc040d299963d418263bb2546efb47ef480dc5f779a9d89e7c1e258dc2ecbd4364736f6c634300080400330000000000000000000000002d7a678eb9196d0de4f5467141038dbc949c97a1000000000000000000000000ad1ed31e70b569d78d1930537179a940dda4a9cf000000000000000000000000ca106916ca1f9c53442435036edf9b137b381c900000000000000000000000000b72c88a4f5e81d96da2ea3e8a26d0113de9d3ac
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014c5760003560e01c8063a0712d68116100c3578063bc90e3d51161007c578063bc90e3d514610307578063c7cd241a14610310578063ea7309f414610318578063f2fde38b1461032b578063fa0261fd1461033e578063fea1228d1461035157600080fd5b8063a0712d681461027d578063a62962f514610290578063a887101f146102bb578063addbae45146102ce578063af46348b146102e1578063b390c0ab146102f457600080fd5b8063715018a611610115578063715018a6146101fb578063760e96bb146102055780638da5cb5b14610225578063944447eb146102365780639825b09e1461023f5780639ada839c1461026a57600080fd5b80622ce17b146101515780630683c1c61461017a57806313dc6f4f1461019b5780635decaf34146101c65780636fa700bf146101d9575b600080fd5b61016461015f366004611780565b610364565b604051610171919061185d565b60405180910390f35b61018d6101883660046116d9565b610406565b604051908152602001610171565b6009546101ae906001600160a01b031681565b6040516001600160a01b039091168152602001610171565b6007546101ae906001600160a01b031681565b6101ec6101e7366004611780565b61042e565b60405161017193929190611870565b6102036104d8565b005b610218610213366004611657565b610517565b6040516101719190611819565b6000546001600160a01b03166101ae565b61018d60055481565b61018d61024d3660046116d9565b805160208183018101805160018252928201919093012091525481565b610203610278366004611657565b61060e565b61020361028b366004611780565b6106c7565b61018d61029e3660046116d9565b805160208183018101805160048252928201919093012091525481565b600a546101ae906001600160a01b031681565b6008546101ae906001600160a01b031681565b6102036102ef366004611657565b610bfc565b6102036103023660046117b0565b610cae565b61018d60065481565b61018d610f99565b6102186103263660046116d9565b610fc0565b610203610339366004611657565b61102f565b61020361034c366004611657565b6110ca565b61018d61035f3660046116d9565b611174565b6000818152600360205260409020805460609190610381906119f4565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad906119f4565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b50505050509050919050565b600060048260405161041891906117fd565b9081526020016040518091039020549050919050565b600360205260009081526040902080548190610449906119f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610475906119f4565b80156104c25780601f10610497576101008083540402835291602001916104c2565b820191906000526020600020905b8154815290600101906020018083116104a557829003601f168201915b5050505050908060010154908060020154905083565b6000546001600160a01b0316331461050b5760405162461bcd60e51b8152600401610502906118cc565b60405180910390fd5b6105156000611236565b565b60075460405163e2dea71560e01b81526001600160a01b03838116600483015260609260009291169063e2dea7159060240160006040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d919081019061174d565b90506002816040516105af91906117fd565b908152604080519182900360209081018320805480830285018301909352828452919083018282801561060157602002820191906000526020600020905b8154815260200190600101908083116105ed575b5050505050915050919050565b6000546001600160a01b031633146106385760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b03811661065e5760405162461bcd60e51b815260040161050290611895565b600954604080516001600160a01b03928316815291831660208301527fc34c216a747611114a28b4a2cd354896ff8798befbdaa0b17cb7b23d6d9f9ba5910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031663372c12b1336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611673565b61079e5760405162461bcd60e51b815260206004820152601760248201527f73656e646572206e6f7420696e2077686974656c6973740000000000000000006044820152606401610502565b6007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b1580156107f257600080fd5b505afa158015610806573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261082e919081019061174d565b9050600060018260405161084291906117fd565b90815260405190819003602001902054600a5490915060009081906001600160a01b031663cd729edd856108768689611286565b600554610883908a611286565b6040518463ffffffff1660e01b81526004016108a193929190611870565b60006040518083038186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f5919081019061168d565b915091508181906109195760405162461bcd60e51b8152600401610502919061185d565b506109248386611286565b60018560405161093491906117fd565b908152604051908190036020019020556005546109519086611286565b6005556008546000906001600160a01b03166340c10f19336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101899052604401602060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190611798565b90506002856040516109fb91906117fd565b90815260408051602092819003830181208054600181018255600091825284822001859055600954634fe30b7760e11b8352925190936001600160a01b0390931692639fc616ee9260048082019391829003018186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a969190611798565b905060008111610ae85760405162461bcd60e51b815260206004820181905260248201527f736563746f72496e697469616c506c656467652073686f756c64206265203e306044820152606401610502565b6040805160608101825287815260208082018a9052818301849052600085815260038252929092208151805192939192610b259284920190611559565b50602082015160018201556040909101516002909101556000610b488289611299565b600654909150610b589082611286565b600681905550610b8881600489604051610b7291906117fd565b9081526040519081900360200190205490611286565b600488604051610b9891906117fd565b9081526040519081900360200190205582610bb03390565b6001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8a604051610bea91815260200190565b60405180910390a35050505050505050565b6000546001600160a01b03163314610c265760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b038116610c4c5760405162461bcd60e51b815260040161050290611895565b600780546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f8eda2b7d2e4fb87341fe0f01cf30038620776fc97c62bd20e76e7ac6256ad37891015b60405180910390a15050565b600033600854604051627eeac760e11b81526001600160a01b0380841660048301526024820187905292935084929091169062fdd58e9060440160206040518083038186803b158015610d0057600080fd5b505afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d389190611798565b1015610d865760405162461bcd60e51b815260206004820152601a60248201527f6275726e20616d6f756e74206578636565642062616c616e63650000000000006044820152606401610502565b6007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b158015610dda57600080fd5b505afa158015610dee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e16919081019061174d565b9050610e4283600183604051610e2c91906117fd565b90815260405190819003602001902054906112a5565b600182604051610e5291906117fd565b90815260405190819003602001902055600554610e6f90846112a5565b60055560008481526003602052604081206002015490610e8f8286611299565b600654909150610e9f90826112a5565b600681905550610eb981600485604051610e2c91906117fd565b600484604051610ec991906117fd565b90815260405190819003602001812091909155600854637a94c56560e11b82526001600160a01b0386811660048401526024830189905260448301889052169063f5298aca90606401600060405180830381600087803b158015610f2c57600080fd5b505af1158015610f40573d6000803e3d6000fd5b50505050610f4d866112b1565b85846001600160a01b03167f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a87604051610f8991815260200190565b60405180910390a3505050505050565b600060055460001415610fac5750600090565b600554600654610fbb9161154d565b905090565b6060600282604051610fd291906117fd565b90815260408051918290036020908101832080548083028501830190935282845291908301828280156103fa57602002820191906000526020600020905b8154815260200190600101908083116110105750505050509050919050565b6000546001600160a01b031633146110595760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b0381166110be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610502565b6110c781611236565b50565b6000546001600160a01b031633146110f45760405162461bcd60e51b8152600401610502906118cc565b6001600160a01b03811661111a5760405162461bcd60e51b815260040161050290611895565b600a80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f113e19b8c706df6783f768f83537d40d00c5a08e675b9ff74a03bd3542979fd39101610ca2565b60008060028360405161118791906117fd565b90815260408051918290036020908101832080548083028501830190935282845291908301828280156111d957602002820191906000526020600020905b8154815260200190600101908083116111c5575b505050505090506000815111156112275780600182516111f991906119b1565b8151811061121757634e487b7160e01b600052603260045260246000fd5b6020026020010151915050919050565b50600092915050565b50919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611292828461195a565b9392505050565b60006112928284611992565b600061129282846119b1565b6008546001600160a01b031662fdd58e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810184905260440160206040518083038186803b15801561130857600080fd5b505afa15801561131c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113409190611798565b6110c7576007546000906001600160a01b031663e2dea715336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038186803b15801561139857600080fd5b505afa1580156113ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113d4919081019061174d565b905060006002826040516113e891906117fd565b9081526020016040518091039020905060005b8154811015611547578382828154811061142557634e487b7160e01b600052603260045260246000fd5b906000526020600020015414156115355781548290611446906001906119b1565b8154811061146457634e487b7160e01b600052603260045260246000fd5b906000526020600020015482828154811061148f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200181905550818054806114bb57634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055826040516114df91906117fd565b60405180910390206114ee3390565b6001600160a01b03167fae51c64e3aea2364e42bddc39f159503b609c902a64242708c62536e661deadb8660405161152891815260200190565b60405180910390a3611547565b8061153f81611a29565b9150506113fb565b50505050565b60006112928284611972565b828054611565906119f4565b90600052602060002090601f01602090048101928261158757600085556115cd565b82601f106115a057805160ff19168380011785556115cd565b828001600101855582156115cd579182015b828111156115cd5782518255916020019190600101906115b2565b506115d99291506115dd565b5090565b5b808211156115d957600081556001016115de565b8051801515811461160257600080fd5b919050565b600082601f830112611617578081fd5b815161162a61162582611932565b611901565b81815284602083860101111561163e578283fd5b61164f8260208301602087016119c8565b949350505050565b600060208284031215611668578081fd5b813561129281611a70565b600060208284031215611684578081fd5b611292826115f2565b6000806040838503121561169f578081fd5b6116a8836115f2565b9150602083015167ffffffffffffffff8111156116c3578182fd5b6116cf85828601611607565b9150509250929050565b6000602082840312156116ea578081fd5b813567ffffffffffffffff811115611700578182fd5b8201601f81018413611710578182fd5b803561171e61162582611932565b818152856020838501011115611732578384fd5b81602084016020830137908101602001929092525092915050565b60006020828403121561175e578081fd5b815167ffffffffffffffff811115611774578182fd5b61164f84828501611607565b600060208284031215611791578081fd5b5035919050565b6000602082840312156117a9578081fd5b5051919050565b600080604083850312156117c2578182fd5b50508035926020909101359150565b600081518084526117e98160208601602086016119c8565b601f01601f19169290920160200192915050565b6000825161180f8184602087016119c8565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b8181101561185157835183529284019291840191600101611835565b50909695505050505050565b60208152600061129260208301846117d1565b60608152600061188360608301866117d1565b60208301949094525060400152919050565b60208082526017908201527f616464726573732073686f756c64206e6f742062652030000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561192a5761192a611a5a565b604052919050565b600067ffffffffffffffff82111561194c5761194c611a5a565b50601f01601f191660200190565b6000821982111561196d5761196d611a44565b500190565b60008261198d57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119ac576119ac611a44565b500290565b6000828210156119c3576119c3611a44565b500390565b60005b838110156119e35781810151838201526020016119cb565b838111156115475750506000910152565b600181811c90821680611a0857607f821691505b6020821081141561123057634e487b7160e01b600052602260045260246000fd5b6000600019821415611a3d57611a3d611a44565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146110c757600080fdfea2646970667358221220cc040d299963d418263bb2546efb47ef480dc5f779a9d89e7c1e258dc2ecbd4364736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002d7a678eb9196d0de4f5467141038dbc949c97a1000000000000000000000000ad1ed31e70b569d78d1930537179a940dda4a9cf000000000000000000000000ca106916ca1f9c53442435036edf9b137b381c900000000000000000000000000b72c88a4f5e81d96da2ea3e8a26d0113de9d3ac
-----Decoded View---------------
Arg [0] : _minerManage (address): 0x2D7a678EB9196D0dE4F5467141038dbc949C97a1
Arg [1] : _miningNFT (address): 0xad1ED31e70b569D78D1930537179A940DdA4A9CF
Arg [2] : _filChainStatOracle (address): 0xCA106916CA1f9C53442435036Edf9B137b381C90
Arg [3] : _miningNFTMintingLimitation (address): 0x0b72c88A4f5e81d96da2eA3E8A26D0113de9d3Ac
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000002d7a678eb9196d0de4f5467141038dbc949c97a1
Arg [1] : 000000000000000000000000ad1ed31e70b569d78d1930537179a940dda4a9cf
Arg [2] : 000000000000000000000000ca106916ca1f9c53442435036edf9b137b381c90
Arg [3] : 0000000000000000000000000b72c88a4f5e81d96da2ea3e8a26d0113de9d3ac
Deployed Bytecode Sourcemap
16800:6773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19943:139;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23421:149;;;;;;:::i;:::-;;:::i;:::-;;;10352:25:1;;;10340:2;10325:18;23421:149:0;10307:76:1;17404:45:0;;;;;-1:-1:-1;;;;;17404:45:0;;;;;;-1:-1:-1;;;;;4872:32:1;;;4854:51;;4842:2;4827:18;17404:45:0;4809:102:1;17332:31:0;;;;;-1:-1:-1;;;;;17332:31:0;;;17109:47;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7145:94::-;;;:::i;:::-;;19548:233;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6494:87::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;6494:87;;17227:31;;;;;;16997:44;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;19202:338;;;;;;:::i;:::-;;:::i;20405:1274::-;;;;;;:::i;:::-;;:::i;17163:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;17456:61;;;;;-1:-1:-1;;;;;17456:61:0;;;17370:27;;;;;-1:-1:-1;;;;;17370:27:0;;;18863:331;;;;;;:::i;:::-;;:::i;21687:891::-;;;;;;:::i;:::-;;:::i;17265:39::-;;;;;;23239:174;;;:::i;19789:146::-;;;;;;:::i;:::-;;:::i;7394:192::-;;;;;;:::i;:::-;;:::i;18413:442::-;;;;;;:::i;:::-;;:::i;20090:307::-;;;;;;:::i;:::-;;:::i;19943:139::-;20044:22;;;;:12;:22;;;;;20037:37;;20012:13;;20044:22;20037:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19943:139;;;:::o;23421:149::-;23503:7;23529:23;23553:8;23529:33;;;;;;:::i;:::-;;;;;;;;;;;;;;23522:40;;23421:149;;;:::o;17109:47::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7145:94::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;5448:10;6714:23;6706:68;;;;-1:-1:-1;;;6706:68:0;;;;;;;:::i;:::-;;;;;;;;;7210:21:::1;7228:1;7210:9;:21::i;:::-;7145:94::o:0;19548:233::-;19691:11;;:38;;-1:-1:-1;;;19691:38:0;;-1:-1:-1;;;;;4872:32:1;;;19691:38:0;;;4854:51:1;19639:16:0;;19667:21;;19691:11;;;:22;;4827:18:1;;19691:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19691:38:0;;;;;;;;;;;;:::i;:::-;19667:62;;19747:17;19765:7;19747:26;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;19740:33;;;;;;;;;;;;;;;19747:26;19740:33;;;19747:26;19740:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19548:233;;;:::o;19202:338::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;5448:10;6714:23;6706:68;;;;-1:-1:-1;;;6706:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19311:42:0;::::1;19303:78;;;;-1:-1:-1::0;;;19303:78:0::1;;;;;;;:::i;:::-;19431:18;::::0;19397:84:::1;::::0;;-1:-1:-1;;;;;19431:18:0;;::::1;5128:34:1::0;;5198:15;;;5193:2;5178:18;;5171:43;19397:84:0::1;::::0;5063:18:1;19397:84:0::1;;;;;;;19492:18;:40:::0;;-1:-1:-1;;;;;;19492:40:0::1;-1:-1:-1::0;;;;;19492:40:0;;;::::1;::::0;;;::::1;::::0;;19202:338::o;20405:1274::-;20464:11;;-1:-1:-1;;;;;20464:11:0;:21;5448:10;20464:35;;-1:-1:-1;;;;;;20464:35:0;;;;;;;-1:-1:-1;;;;;4872:32:1;;;20464:35:0;;;4854:51:1;4827:18;;20464:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20456:71;;;;-1:-1:-1;;;20456:71:0;;8979:2:1;20456:71:0;;;8961:21:1;9018:2;8998:18;;;8991:30;9057:25;9037:18;;;9030:53;9100:18;;20456:71:0;8951:173:1;20456:71:0;20564:11;;20540:21;;-1:-1:-1;;;;;20564:11:0;:22;5448:10;20564:36;;-1:-1:-1;;;;;;20564:36:0;;;;;;;-1:-1:-1;;;;;4872:32:1;;;20564:36:0;;;4854:51:1;4827:18;;20564:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20564:36:0;;;;;;;;;;;;:::i;:::-;20540:60;;20611:25;20639:12;20652:7;20639:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;20713:26;;20639:21;;-1:-1:-1;20674:12:0;;;;-1:-1:-1;;;;;20713:26:0;:42;20756:7;20765:30;20639:21;20787:7;20765:21;:30::i;:::-;20797:16;;:29;;20818:7;20797:20;:29::i;:::-;20713:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20713:114:0;;;;;;;;;;;;:::i;:::-;20673:154;;;;20846:7;20855;20838:25;;;;;-1:-1:-1;;;20838:25:0;;;;;;;;:::i;:::-;-1:-1:-1;20900:30:0;:17;20922:7;20900:21;:30::i;:::-;20876:12;20889:7;20876:21;;;;;;:::i;:::-;;;;;;;;;;;;;;:54;20960:16;;:29;;20981:7;20960:20;:29::i;:::-;20941:16;:48;21023:9;;21002:18;;-1:-1:-1;;;;;21023:9:0;:14;5448:10;21023:37;;-1:-1:-1;;;;;;21023:37:0;;;;;;;-1:-1:-1;;;;;5417:32:1;;;21023:37:0;;;5399:51:1;5466:18;;;5459:34;;;5372:18;;21023:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21002:58;;21071:17;21089:7;21071:26;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:43;;;;;;;-1:-1:-1;21071:43:0;;;;;;;;;;21157:18;;-1:-1:-1;;;21157:40:0;;;;-1:-1:-1;;;;;;;21157:18:0;;;;:38;;:40;;;;;;;;;;;:18;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21127:70;;21238:1;21216:19;:23;21208:68;;;;-1:-1:-1;;;21208:68:0;;9692:2:1;21208:68:0;;;9674:21:1;;;9711:18;;;9704:30;9770:34;9750:18;;;9743:62;9822:18;;21208:68:0;9664:182:1;21208:68:0;21324:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21297:24:0;;;:12;:24;;;;;;:75;;;;21324:48;;21297:24;;:75;;:24;;:75;;;:::i;:::-;-1:-1:-1;21297:75:0;;;;;;;;;;;;;;;;;;-1:-1:-1;21406:32:0;:19;21430:7;21406:23;:32::i;:::-;21476:24;;21383:55;;-1:-1:-1;21476:42:0;;21383:55;21476:28;:42::i;:::-;21449:24;:69;;;;21564:50;21601:12;21564:23;21588:7;21564:32;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:36;:50::i;:::-;21529:23;21553:7;21529:32;;;;;;:::i;:::-;;;;;;;;;;;;;;:85;21651:10;21637:12;5448:10;;5368:98;21637:12;-1:-1:-1;;;;;21632:39:0;;21663:7;21632:39;;;;10352:25:1;;10340:2;10325:18;;10307:76;21632:39:0;;;;;;;;20405:1274;;;;;;;;:::o;18863:331::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;5448:10;6714:23;6706:68;;;;-1:-1:-1;;;6706:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18951:35:0;::::1;18943:71;;;;-1:-1:-1::0;;;18943:71:0::1;;;;;;;:::i;:::-;19061:11;::::0;;-1:-1:-1;;;;;19084:26:0;;::::1;-1:-1:-1::0;;;;;;19084:26:0;::::1;::::0;::::1;::::0;;;19126:60:::1;::::0;;19061:11;;;::::1;5128:34:1::0;;;5193:2;5178:18;;5171:43;;;;19126:60:0::1;::::0;5063:18:1;19126:60:0::1;;;;;;;;6785:1;18863:331:::0;:::o;21687:891::-;21756:15;5448:10;21805:9;;:38;;-1:-1:-1;;;21805:38:0;;-1:-1:-1;;;;;5417:32:1;;;21805:38:0;;;5399:51:1;5466:18;;;5459:34;;;21756:30:0;;-1:-1:-1;21845:7:0;;21805:9;;;;:19;;5372:18:1;;21805:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;21797:86;;;;-1:-1:-1;;;21797:86:0;;10053:2:1;21797:86:0;;;10035:21:1;10092:2;10072:18;;;10065:30;10131:28;10111:18;;;10104:56;10177:18;;21797:86:0;10025:176:1;21797:86:0;21928:11;;21904:21;;-1:-1:-1;;;;;21928:11:0;:22;5448:10;21928:36;;-1:-1:-1;;;;;;21928:36:0;;;;;;;-1:-1:-1;;;;;4872:32:1;;;21928:36:0;;;4854:51:1;4827:18;;21928:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21928:36:0;;;;;;;;;;;;:::i;:::-;21904:60;;21999:34;22025:7;21999:12;22012:7;21999:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:25;:34::i;:::-;21975:12;21988:7;21975:21;;;;;;:::i;:::-;;;;;;;;;;;;;;:58;22063:16;;:29;;22084:7;22063:20;:29::i;:::-;22044:16;:48;22105:32;22140:22;;;:12;:22;;;;;:42;;;;22216:37;22140:42;22245:7;22216:28;:37::i;:::-;22291:24;;22193:60;;-1:-1:-1;22291:42:0;;22193:60;22291:28;:42::i;:::-;22264:24;:69;;;;22379:50;22416:12;22379:23;22403:7;22379:32;;;;;;:::i;:50::-;22344:23;22368:7;22344:32;;;;;;:::i;:::-;;;;;;;;;;;;;;:85;;;;22442:9;;-1:-1:-1;;;22442:42:0;;-1:-1:-1;;;;;5724:32:1;;;22442:42:0;;;5706:51:1;5773:18;;;5766:34;;;5816:18;;;5809:34;;;22442:9:0;;:14;;5679:18:1;;22442:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22495:27;22513:8;22495:17;:27::i;:::-;22552:8;22543:7;-1:-1:-1;;;;;22538:32:0;;22562:7;22538:32;;;;10352:25:1;;10340:2;10325:18;;10307:76;22538:32:0;;;;;;;;21687:891;;;;;;:::o;23239:174::-;23290:7;23312:16;;23330:1;23312:19;23309:32;;;-1:-1:-1;23340:1:0;;23239:174::o;23309:32::-;23388:16;;23359:24;;:46;;:28;:46::i;:::-;23352:53;;23239:174;:::o;19789:146::-;19865:16;19900:17;19918:8;19900:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;19893:34;;;;;;;;;;;;;;;19900:27;19893:34;;;19900:27;19893:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19789:146;;;:::o;7394:192::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;5448:10;6714:23;6706:68;;;;-1:-1:-1;;;6706:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7483:22:0;::::1;7475:73;;;::::0;-1:-1:-1;;;7475:73:0;;8220:2:1;7475:73:0::1;::::0;::::1;8202:21:1::0;8259:2;8239:18;;;8232:30;8298:34;8278:18;;;8271:62;-1:-1:-1;;;8349:18:1;;;8342:36;8395:19;;7475:73:0::1;8192:228:1::0;7475:73:0::1;7559:19;7569:8;7559:9;:19::i;:::-;7394:192:::0;:::o;18413:442::-;6540:7;6567:6;-1:-1:-1;;;;;6567:6:0;5448:10;6714:23;6706:68;;;;-1:-1:-1;;;6706:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18544:50:0;::::1;18536:86;;;;-1:-1:-1::0;;;18536:86:0::1;;;;;;;:::i;:::-;18658:26;::::0;;-1:-1:-1;;;;;18696:56:0;;::::1;-1:-1:-1::0;;;;;;18696:56:0;::::1;::::0;::::1;::::0;;;18768:79:::1;::::0;;18658:26;;;::::1;5128:34:1::0;;;5193:2;5178:18;;5171:43;;;;18768:79:0::1;::::0;5063:18:1;18768:79:0::1;5045:175:1::0;20090:307:0;20166:7;20185:29;20217:17;20235:8;20217:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;20185:59;;;;;;;;;;;;;;;20217:27;20185:59;;;20217:27;20185:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20278:1;20258:12;:19;:21;20255:135;;;20302:12;20337:1;20315:12;:19;:23;;;;:::i;:::-;20302:37;;;;;;-1:-1:-1;;;20302:37:0;;;;;;;;;;;;;;;20295:44;;;20090:307;;;:::o;20255:135::-;-1:-1:-1;20377:1:0;;20090:307;-1:-1:-1;;20090:307:0:o;20255:135::-;20090:307;;;;:::o;7594:173::-;7650:16;7669:6;;-1:-1:-1;;;;;7686:17:0;;;-1:-1:-1;;;;;;7686:17:0;;;;;;7719:40;;7669:6;;;;;;;7719:40;;7650:16;7719:40;7594:173;;:::o;10475:98::-;10533:7;10560:5;10564:1;10560;:5;:::i;:::-;10553:12;10475:98;-1:-1:-1;;;10475:98:0:o;11213:::-;11271:7;11298:5;11302:1;11298;:5;:::i;10856:98::-;10914:7;10941:5;10945:1;10941;:5;:::i;22586:645::-;22653:9;;-1:-1:-1;;;;;22653:9:0;:19;5448:10;22653:43;;-1:-1:-1;;;;;;22653:43:0;;;;;;;-1:-1:-1;;;;;5417:32:1;;;22653:43:0;;;5399:51:1;5466:18;;;5459:34;;;5372:18;;22653:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22650:574;;22741:11;;22717:21;;-1:-1:-1;;;;;22741:11:0;:22;5448:10;22741:36;;-1:-1:-1;;;;;;22741:36:0;;;;;;;-1:-1:-1;;;;;4872:32:1;;;22741:36:0;;;4854:51:1;4827:18;;22741:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22741:36:0;;;;;;;;;;;;:::i;:::-;22717:60;;22792:30;22825:17;22843:7;22825:26;;;;;;:::i;:::-;;;;;;;;;;;;;22792:59;;22872:6;22868:345;22884:19;;22882:21;;22868:345;;;22950:8;22931:12;22944:1;22931:15;;;;;;-1:-1:-1;;;22931:15:0;;;;;;;;;;;;;;;;;:27;22928:270;;;23013:19;;23000:12;;23013:23;;23035:1;;23013:23;:::i;:::-;23000:37;;;;;;-1:-1:-1;;;23000:37:0;;;;;;;;;;;;;;;;;22982:12;22995:1;22982:15;;;;;;-1:-1:-1;;;22982:15:0;;;;;;;;;;;;;;;;:55;;;;23060:12;:18;;;;;-1:-1:-1;;;23060:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;23132:7;23106:44;;;;;;:::i;:::-;;;;;;;;23118:12;5448:10;;5368:98;23118:12;-1:-1:-1;;;;;23106:44:0;;23141:8;23106:44;;;;10352:25:1;;10340:2;10325:18;;10307:76;23106:44:0;;;;;;;;23173:5;;22928:270;22905:3;;;;:::i;:::-;;;;22868:345;;;;22650:574;;22586:645;:::o;11612:98::-;11670:7;11697:5;11701:1;11697;:5;:::i;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:164:1;90:13;;139;;132:21;122:32;;112:2;;168:1;165;158:12;112:2;71:107;;;:::o;183:446::-;237:5;290:3;283:4;275:6;271:17;267:27;257:2;;312:5;305;298:20;257:2;345:6;339:13;376:49;392:32;421:2;392:32;:::i;:::-;376:49;:::i;:::-;450:2;441:7;434:19;496:3;489:4;484:2;476:6;472:15;468:26;465:35;462:2;;;517:5;510;503:20;462:2;534:64;595:2;588:4;579:7;575:18;568:4;560:6;556:17;534:64;:::i;:::-;616:7;247:382;-1:-1:-1;;;;247:382:1:o;634:257::-;693:6;746:2;734:9;725:7;721:23;717:32;714:2;;;767:6;759;752:22;714:2;811:9;798:23;830:31;855:5;830:31;:::i;896:212::-;963:6;1016:2;1004:9;995:7;991:23;987:32;984:2;;;1037:6;1029;1022:22;984:2;1065:37;1092:9;1065:37;:::i;1113:436::-;1199:6;1207;1260:2;1248:9;1239:7;1235:23;1231:32;1228:2;;;1281:6;1273;1266:22;1228:2;1309:37;1336:9;1309:37;:::i;:::-;1299:47;;1390:2;1379:9;1375:18;1369:25;1417:18;1409:6;1406:30;1403:2;;;1454:6;1446;1439:22;1403:2;1482:61;1535:7;1526:6;1515:9;1511:22;1482:61;:::i;:::-;1472:71;;;1218:331;;;;;:::o;2422:718::-;2491:6;2544:2;2532:9;2523:7;2519:23;2515:32;2512:2;;;2565:6;2557;2550:22;2512:2;2610:9;2597:23;2643:18;2635:6;2632:30;2629:2;;;2680:6;2672;2665:22;2629:2;2708:22;;2761:4;2753:13;;2749:27;-1:-1:-1;2739:2:1;;2795:6;2787;2780:22;2739:2;2836;2823:16;2861:49;2877:32;2906:2;2877:32;:::i;2861:49::-;2933:2;2926:5;2919:17;2973:7;2968:2;2963;2959;2955:11;2951:20;2948:33;2945:2;;;2999:6;2991;2984:22;2945:2;3059;3054;3050;3046:11;3041:2;3034:5;3030:14;3017:45;3082:14;;;3098:2;3078:23;3071:39;;;;-1:-1:-1;3086:5:1;2502:638;-1:-1:-1;;2502:638:1:o;3145:357::-;3225:6;3278:2;3266:9;3257:7;3253:23;3249:32;3246:2;;;3299:6;3291;3284:22;3246:2;3337:9;3331:16;3370:18;3362:6;3359:30;3356:2;;;3407:6;3399;3392:22;3356:2;3435:61;3488:7;3479:6;3468:9;3464:22;3435:61;:::i;3507:190::-;3566:6;3619:2;3607:9;3598:7;3594:23;3590:32;3587:2;;;3640:6;3632;3625:22;3587:2;-1:-1:-1;3668:23:1;;3577:120;-1:-1:-1;3577:120:1:o;3702:194::-;3772:6;3825:2;3813:9;3804:7;3800:23;3796:32;3793:2;;;3846:6;3838;3831:22;3793:2;-1:-1:-1;3874:16:1;;3783:113;-1:-1:-1;3783:113:1:o;3901:258::-;3969:6;3977;4030:2;4018:9;4009:7;4005:23;4001:32;3998:2;;;4051:6;4043;4036:22;3998:2;-1:-1:-1;;4079:23:1;;;4149:2;4134:18;;;4121:32;;-1:-1:-1;3988:171:1:o;4164:258::-;4206:3;4244:5;4238:12;4271:6;4266:3;4259:19;4287:63;4343:6;4336:4;4331:3;4327:14;4320:4;4313:5;4309:16;4287:63;:::i;:::-;4404:2;4383:15;-1:-1:-1;;4379:29:1;4370:39;;;;4411:4;4366:50;;4214:208;-1:-1:-1;;4214:208:1:o;4427:276::-;4558:3;4596:6;4590:13;4612:53;4658:6;4653:3;4646:4;4638:6;4634:17;4612:53;:::i;:::-;4681:16;;;;;4566:137;-1:-1:-1;;4566:137:1:o;5854:635::-;6025:2;6077:21;;;6147:13;;6050:18;;;6169:22;;;5996:4;;6025:2;6248:15;;;;6222:2;6207:18;;;5996:4;6294:169;6308:6;6305:1;6302:13;6294:169;;;6369:13;;6357:26;;6438:15;;;;6403:12;;;;6330:1;6323:9;6294:169;;;-1:-1:-1;6480:3:1;;6005:484;-1:-1:-1;;;;;;6005:484:1:o;7426:220::-;7575:2;7564:9;7557:21;7538:4;7595:45;7636:2;7625:9;7621:18;7613:6;7595:45;:::i;7651:362::-;7856:2;7845:9;7838:21;7819:4;7876:45;7917:2;7906:9;7902:18;7894:6;7876:45;:::i;:::-;7952:2;7937:18;;7930:34;;;;-1:-1:-1;7995:2:1;7980:18;7973:34;7868:53;7828:185;-1:-1:-1;7828:185:1:o;8425:347::-;8627:2;8609:21;;;8666:2;8646:18;;;8639:30;8705:25;8700:2;8685:18;;8678:53;8763:2;8748:18;;8599:173::o;9129:356::-;9331:2;9313:21;;;9350:18;;;9343:30;9409:34;9404:2;9389:18;;9382:62;9476:2;9461:18;;9303:182::o;10388:275::-;10459:2;10453:9;10524:2;10505:13;;-1:-1:-1;;10501:27:1;10489:40;;10559:18;10544:34;;10580:22;;;10541:62;10538:2;;;10606:18;;:::i;:::-;10642:2;10635:22;10433:230;;-1:-1:-1;10433:230:1:o;10668:187::-;10717:4;10750:18;10742:6;10739:30;10736:2;;;10772:18;;:::i;:::-;-1:-1:-1;10838:2:1;10817:15;-1:-1:-1;;10813:29:1;10844:4;10809:40;;10726:129::o;10860:128::-;10900:3;10931:1;10927:6;10924:1;10921:13;10918:2;;;10937:18;;:::i;:::-;-1:-1:-1;10973:9:1;;10908:80::o;10993:217::-;11033:1;11059;11049:2;;-1:-1:-1;;;11084:31:1;;11138:4;11135:1;11128:15;11166:4;11091:1;11156:15;11049:2;-1:-1:-1;11195:9:1;;11039:171::o;11215:168::-;11255:7;11321:1;11317;11313:6;11309:14;11306:1;11303:21;11298:1;11291:9;11284:17;11280:45;11277:2;;;11328:18;;:::i;:::-;-1:-1:-1;11368:9:1;;11267:116::o;11388:125::-;11428:4;11456:1;11453;11450:8;11447:2;;;11461:18;;:::i;:::-;-1:-1:-1;11498:9:1;;11437:76::o;11518:258::-;11590:1;11600:113;11614:6;11611:1;11608:13;11600:113;;;11690:11;;;11684:18;11671:11;;;11664:39;11636:2;11629:10;11600:113;;;11731:6;11728:1;11725:13;11722:2;;;-1:-1:-1;;11766:1:1;11748:16;;11741:27;11571:205::o;11781:380::-;11860:1;11856:12;;;;11903;;;11924:2;;11978:4;11970:6;11966:17;11956:27;;11924:2;12031;12023:6;12020:14;12000:18;11997:38;11994:2;;;12077:10;12072:3;12068:20;12065:1;12058:31;12112:4;12109:1;12102:15;12140:4;12137:1;12130:15;12166:135;12205:3;-1:-1:-1;;12226:17:1;;12223:2;;;12246:18;;:::i;:::-;-1:-1:-1;12293:1:1;12282:13;;12213:88::o;12306:127::-;12367:10;12362:3;12358:20;12355:1;12348:31;12398:4;12395:1;12388:15;12422:4;12419:1;12412:15;12438:127;12499:10;12494:3;12490:20;12487:1;12480:31;12530:4;12527:1;12520:15;12554:4;12551:1;12544:15;12570:131;-1:-1:-1;;;;;12645:31:1;;12635:42;;12625:2;;12691:1;12688;12681:12
Swarm Source
ipfs://cc040d299963d418263bb2546efb47ef480dc5f779a9d89e7c1e258dc2ecbd43
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.