Contract
0x392bbcceda72b0d6a03009dcc90395dd961a6c5a
2
Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
DBF_NFT_Staking
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2022-08-18 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; function toString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } interface IERC721Receiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } contract ERC721Holder is IERC721Receiver { function onERC721Received( address, address, uint256, bytes memory ) public virtual override returns (bytes4) { return this.onERC721Received.selector; } } interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } interface IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } interface IERC721Metadata is IERC721 { /** * @dev Returns the token collection name. */ function name() external view returns (string memory); /** * @dev Returns the token collection symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. */ function tokenURI(uint256 tokenId) external view returns (string memory); } contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { using Address for address; using Strings for uint256; // Token name string private _name; // Token symbol string private _symbol; // Mapping from token ID to owner address mapping(uint256 => address) private _owners; // Mapping owner address to token count mapping(address => uint256) private _balances; // Mapping from token ID to approved address mapping(uint256 => address) private _tokenApprovals; // Mapping from owner to operator approvals mapping(address => mapping(address => bool)) private _operatorApprovals; /** * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } /** * @dev See {IERC721-balanceOf}. */ function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } /** * @dev See {IERC721-ownerOf}. */ function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } /** * @dev See {IERC721Metadata-name}. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev See {IERC721Metadata-symbol}. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev See {IERC721Metadata-tokenURI}. */ function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } /** * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each * token will be the concatenation of the `baseURI` and the `tokenId`. Empty * by default, can be overriden in child contracts. */ function _baseURI() internal view virtual returns (string memory) { return ""; } /** * @dev See {IERC721-approve}. */ function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } /** * @dev See {IERC721-getApproved}. */ function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } /** * @dev See {IERC721-setApprovalForAll}. */ function setApprovalForAll(address operator, bool approved) public virtual override { _setApprovalForAll(_msgSender(), operator, approved); } /** * @dev See {IERC721-isApprovedForAll}. */ function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } /** * @dev See {IERC721-transferFrom}. */ function transferFrom( address from, address to, uint256 tokenId ) public virtual override { //solhint-disable-next-line max-line-length require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } /** * @dev Returns whether `tokenId` exists. * * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. * * Tokens start existing when they are minted (`_mint`), * and stop existing when they are burned (`_burn`). */ function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } /** * @dev Returns whether `spender` is allowed to manage `tokenId`. * * Requirements: * * - `tokenId` must exist. */ function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } /** * @dev Safely mints `tokenId` and transfers it to `to`. * * Requirements: * * - `tokenId` must not exist. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function _safeMint(address to, uint256 tokenId) internal virtual { _safeMint(to, tokenId, ""); } /** * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. */ function _safeMint( address to, uint256 tokenId, bytes memory _data ) internal virtual { _mint(to, tokenId); require( _checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer" ); } /** * @dev Mints `tokenId` and transfers it to `to`. * * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible * * Requirements: * * - `tokenId` must not exist. * - `to` cannot be the zero address. * * Emits a {Transfer} event. */ function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); _afterTokenTransfer(address(0), to, tokenId); } /** * @dev Destroys `tokenId`. * The approval is cleared when the token is burned. * * Requirements: * * - `tokenId` must exist. * * Emits a {Transfer} event. */ function _burn(uint256 tokenId) internal virtual { address owner = ERC721.ownerOf(tokenId); _beforeTokenTransfer(owner, address(0), tokenId); // Clear approvals _approve(address(0), tokenId); _balances[owner] -= 1; delete _owners[tokenId]; emit Transfer(owner, address(0), tokenId); _afterTokenTransfer(owner, address(0), tokenId); } /** * @dev Transfers `tokenId` from `from` to `to`. * As opposed to {transferFrom}, this imposes no restrictions on msg.sender. * * Requirements: * * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * * Emits a {Transfer} event. */ function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer from incorrect owner"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); // Clear approvals from the previous owner _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); _afterTokenTransfer(from, to, tokenId); } /** * @dev Approve `to` to operate on `tokenId` * * Emits a {Approval} event. */ function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); } /** * @dev Approve `operator` to operate on all of `owner` tokens * * Emits a {ApprovalForAll} event. */ function _setApprovalForAll( address owner, address operator, bool approved ) internal virtual { require(owner != operator, "ERC721: approve to caller"); _operatorApprovals[owner][operator] = approved; emit ApprovalForAll(owner, operator, approved); } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` 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 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract DBF_NFT_Staking is Ownable, ERC721Holder { IERC20 internal R_Token; ERC721 internal NFT; bool public paused = true; uint256 public rvalue = 15740740740741; uint256 public totalStaked = 0; uint256 public uAdr = 0; uint256 public pending = 0; struct DataBase { address _user; uint256 _TokenId; uint256 _IsStaked; uint256 _StakedTime; uint256 _lastClaimed; } struct ClaimDataBase { uint256 _bonusToClaim; } mapping (address => DataBase[]) public userRecord; mapping (address => ClaimDataBase) public claimRecord; mapping (uint256 => address) public accountIndex; mapping (address => uint256) public accountIDs; mapping (uint256 => uint256) public stakedIndex; constructor(address _nftAdr, address _token) { R_Token = IERC20(_token); NFT = ERC721(_nftAdr); } function setRval(uint256 _rval) public onlyOwner { rvalue = _rval; } function distribute() public onlyOwner { uint256 monthlyRewards = ((rvalue * 10000) * 2678400); uint256 scBal = ((R_Token.balanceOf(address(this))) - pending); uint256 leftToDist = 0; if (scBal > monthlyRewards) { leftToDist = (scBal - monthlyRewards); } if (leftToDist > 0) { uint256 perNFT = (leftToDist / 2) / totalStaked; for(uint i = 0; i < uAdr; i++) { if (stakedIndex[i] > 0) { claimRecord[accountIndex[i]]._bonusToClaim += (perNFT * stakedIndex[i]); pending += (perNFT * stakedIndex[i]); } } burn(leftToDist / 2); } } function backupDist() public onlyOwner { uint256 monthlyRewards = (rvalue * 10000) * 2678400; uint256 scBal = ((R_Token.balanceOf(address(this))) - pending); uint256 leftToDist = 0; if (scBal > monthlyRewards) { leftToDist = (scBal - monthlyRewards); } if (leftToDist > 0) { leftToDist = (leftToDist / 2); R_Token.transfer(msg.sender,leftToDist); burn(leftToDist); } } function checkBonus() public view returns (uint256) { if (claimRecord[msg.sender]._bonusToClaim > 0) { return claimRecord[msg.sender]._bonusToClaim; } else { return 0; } } function claimBonus() public { uint256 bonus = claimRecord[msg.sender]._bonusToClaim; require(bonus > 0, "You have no bonus left to claim!"); require(R_Token.balanceOf(address(this)) >= bonus, "Oops, nothing left in the reward pool"); claimRecord[msg.sender]._bonusToClaim = 0; pending -= bonus; R_Token.transfer(msg.sender,bonus); } function viewAccounts(uint256 from, uint256 to) public view returns (address[] memory) { address[] memory theAccounts = new address[](to - from); uint x = 0; for (uint i = from-1; i < to; i++) { if (stakedIndex[i] > 0) { theAccounts[x] = accountIndex[i]; x++; } } return theAccounts; } function stake(uint256[] calldata _tokenIds) public { for(uint i =0; i < _tokenIds.length; i++) { stakeSingle(_tokenIds[i]); } } function stakeSingle(uint _tokenId) public { require(!paused,"Staking is Currently Paused!!"); address account = msg.sender; NFT.safeTransferFrom(account, address(this) , _tokenId,""); uint userRegistery = getlength(account); bool swipper; if(userRegistery > 0) { DataBase[] storage update = userRecord[account]; uint i = 0; while(i < userRegistery) { if(userRecord[account][i]._TokenId == _tokenId) { update[i]._IsStaked = 1; update[i]._StakedTime = block.timestamp; update[i]._lastClaimed = block.timestamp; swipper = true; break; } i++; } } if(!swipper) { userRecord[account].push( DataBase({ _user: account, _TokenId: _tokenId, _IsStaked: 1, _StakedTime: block.timestamp, _lastClaimed: block.timestamp }) ); } totalStaked += 1; if (accountIDs[account] == 0) { accountIndex[uAdr] = account; stakedIndex[uAdr] += 1; accountIDs[account] = uAdr; uAdr += 1; } else { stakedIndex[accountIDs[account]] += 1; } } function claimReward() public { require(!paused,"Staking is Currently Paused!!"); address account = msg.sender; uint256 totalSecondsCount; uint userRegistery = getlength(account); if(userRegistery > 0) { DataBase[] storage update = userRecord[account]; uint i = 0; while(i < userRegistery) { uint256 second = 0; if(update[i]._IsStaked == 1) { second = block.timestamp - update[i]._lastClaimed; totalSecondsCount += second; update[i]._lastClaimed = block.timestamp; } i++; } } else{ revert("Error: No Record Found!!"); } uint256 subtotalReward = rvalue * totalSecondsCount; if(subtotalReward > 0) { R_Token.transfer(account,subtotalReward); } else { revert("Please Wait till the reward Get Generated!!"); } } function unstake(uint256[] calldata _tokenIds) public { for(uint i =0; i < _tokenIds.length; i++) { unstakeSingle(_tokenIds[i]); } } function unstakeSingle(uint _tokenId) public { require(!paused,"Staking is Currently Paused!!"); address account = msg.sender; uint userRegistery = getlength(account); uint[] memory checkIds = getStakeNftId(account); uint i; bool found; uint totalNftReward; while(i < userRegistery) { if(checkIds[i] == _tokenId) { found = true; break; } i++; } if(found) { if(userRegistery > 0) { DataBase[] storage update = userRecord[account]; uint j = 0; while(j < userRegistery) { uint256 second = 0; if(update[j]._TokenId == _tokenId) { second = block.timestamp - update[j]._lastClaimed; totalNftReward += second; update[j]._lastClaimed = block.timestamp; update[j]._IsStaked = 0; break; } j++; } } totalStaked -= 1; stakedIndex[accountIDs[account]] -= 1; uint256 totalRewardonNft = rvalue * totalNftReward; R_Token.transfer(account,totalRewardonNft); NFT.transferFrom(address(this),account, _tokenId); } else{ revert("Error: No Record Found!!"); } } function checkReward(address _adr) public view returns (uint256) { address account = _adr; uint256 totalSecondsCount; uint userRegistery = getlength(account); if(userRegistery > 0) { DataBase[] storage update = userRecord[account]; uint i = 0; while(i < userRegistery) { uint256 second = 0; if(update[i]._IsStaked == 1) { second = block.timestamp - update[i]._lastClaimed; totalSecondsCount += second; } i++; } } uint256 subtotalReward = rvalue * totalSecondsCount; if(subtotalReward > 0) { return subtotalReward; } else { return 0; } } function getStakeNftId(address _adr) public view returns (uint256[] memory) { address account = _adr; uint userRegistery = getlength(account); uint256[] memory ownedTokenIds = new uint256[](userRegistery); if(userRegistery > 0) { DataBase[] storage rec = userRecord[account]; uint i = 0; while(i < userRegistery) { if(rec[i]._IsStaked == 1) { ownedTokenIds[i] = rec[i]._TokenId; } i++; } } else { revert("Error: No Record Found!!"); } return ownedTokenIds; } function getlength(address _adr) internal view returns (uint) { return userRecord[_adr].length; } function rescueTokens(address _adr) public onlyOwner { IERC20(_adr).transfer(msg.sender,IERC20(_adr).balanceOf(address(this))); } function rescueNft(uint _id,address recipient) public onlyOwner { NFT.transferFrom(address(this),recipient, _id); } function setPaused(bool _status) public onlyOwner { paused = _status; } function burn(uint256 amount) public onlyOwner { address deadAdd = 0x000000000000000000000000000000000000dEaD; R_Token.transfer(deadAdd,amount); } }
[{"inputs":[{"internalType":"address","name":"_nftAdr","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"backupDist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"checkReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimRecord","outputs":[{"internalType":"uint256","name":"_bonusToClaim","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"getStakeNftId","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pending","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueNft","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rvalue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rval","type":"uint256"}],"name":"setRval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"stakeSingle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakedIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uAdr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"unstakeSingle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userRecord","outputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_TokenId","type":"uint256"},{"internalType":"uint256","name":"_IsStaked","type":"uint256"},{"internalType":"uint256","name":"_StakedTime","type":"uint256"},{"internalType":"uint256","name":"_lastClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"from","type":"uint256"},{"internalType":"uint256","name":"to","type":"uint256"}],"name":"viewAccounts","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526002805460ff60a01b1916600160a01b179055650e50ed42a6856003556000600481905560058190556006553480156200003d57600080fd5b50604051620022db380380620022db83398101604081905262000060916200011a565b620000746200006e620000a9565b620000ad565b600180546001600160a01b039283166001600160a01b0319918216179091556002805493909216921691909117905562000151565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200011557600080fd5b919050565b600080604083850312156200012d578182fd5b6200013883620000fd565b91506200014860208401620000fd565b90509250929050565b61217a80620001616000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c80637b86a66e1161010f578063b88a802f116100a2578063e20ccec311610071578063e20ccec3146103e6578063e449f341146103ee578063e4fc6b6d14610401578063f2fde38b14610409576101e4565b8063b88a802f146103a5578063bd542f95146103ad578063c0bd1fc8146103c0578063c3c90e64146103d3576101e4565b80639384f418116100de5780639384f4181461036f57806395808366146103825780639669f64e1461038a578063b643191e14610392576101e4565b80637b86a66e146103395780637e7031fb1461034c578063817b1cd21461035f5780638da5cb5b14610367576101e4565b806342966c68116101875780635c975abb116101565780635c975abb146102e7578063622d62e0146102fc5780636ca2981114610311578063715018a614610331576101e4565b806342966c68146102955780634d8d773e146102a857806350635394146102bb5780635b89c6cd146102c3576101e4565b806316c38b3c116101c357806316c38b3c1461023a57806329676c3b1461024d578063350825ba1461025557806336f9825f14610275576101e4565b8062ae3bf8146101e95780630fbf0a93146101fe578063150b7a0214610211575b600080fd5b6101fc6101f7366004611b31565b61041c565b005b6101fc61020c366004611c50565b61055d565b61022461021f366004611b52565b6105ae565b6040516102319190611eb5565b60405180910390f35b6101fc610248366004611cbf565b6105be565b6101fc61061b565b610268610263366004611d52565b6107c5565b6040516102319190611e25565b610288610283366004611cf7565b6108d1565b6040516102319190611d73565b6101fc6102a3366004611cf7565b6108ec565b6101fc6102b6366004611cf7565b6109b1565b6101fc6109f5565b6102d66102d1366004611c27565b610b1b565b604051610231959493929190611df7565b6102ef610b73565b6040516102319190611eaa565b610304610b83565b6040516102319190612078565b61032461031f366004611b31565b610b89565b6040516102319190611e72565b6101fc610cea565b6101fc610347366004611cf7565b610d35565b6101fc61035a366004611cf7565b6110a1565b6103046113d5565b6102886113db565b61030461037d366004611b31565b6113eb565b6103046113fd565b610304611403565b6103046103a0366004611cf7565b611436565b6101fc611448565b6101fc6103bb366004611d27565b611636565b6103046103ce366004611b31565b6116df565b6103046103e1366004611b31565b6116f1565b6103046117f7565b6101fc6103fc366004611c50565b6117fd565b6101fc611849565b6101fc610417366004611b31565b611a3a565b610424611aab565b6001600160a01b03166104356113db565b6001600160a01b0316146104645760405162461bcd60e51b815260040161045b90611fc7565b60405180910390fd5b6040516370a0823160e01b81526001600160a01b0382169063a9059cbb90339083906370a082319061049a903090600401611d73565b60206040518083038186803b1580156104b257600080fd5b505afa1580156104c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ea9190611d0f565b6040518363ffffffff1660e01b8152600401610507929190611dde565b602060405180830381600087803b15801561052157600080fd5b505af1158015610535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105599190611cdb565b5050565b60005b818110156105a95761059783838381811061058b57634e487b7160e01b600052603260045260246000fd5b90506020020135610d35565b806105a1816120ef565b915050610560565b505050565b630a85bd0160e11b949350505050565b6105c6611aab565b6001600160a01b03166105d76113db565b6001600160a01b0316146105fd5760405162461bcd60e51b815260040161045b90611fc7565b60028054911515600160a01b0260ff60a01b19909216919091179055565b610623611aab565b6001600160a01b03166106346113db565b6001600160a01b03161461065a5760405162461bcd60e51b815260040161045b90611fc7565b600060035461271061066c91906120b9565b610679906228de806120b9565b6006546001546040516370a0823160e01b81529293506000926001600160a01b03909116906370a08231906106b2903090600401611d73565b60206040518083038186803b1580156106ca57600080fd5b505afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107029190611d0f565b61070c91906120d8565b90506000828211156107255761072283836120d8565b90505b80156105a957610736600282612099565b60015460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb906107699033908590600401611dde565b602060405180830381600087803b15801561078357600080fd5b505af1158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190611cdb565b506105a9816108ec565b606060006107d384846120d8565b67ffffffffffffffff8111156107f957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610822578160200160208202803683370190505b5090506000806108336001876120d8565b90505b848110156108c7576000818152600b6020526040902054156108b55760008181526009602052604090205483516001600160a01b039091169084908490811061088f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910190910152816108b1816120ef565b9250505b806108bf816120ef565b915050610836565b5090949350505050565b6009602052600090815260409020546001600160a01b031681565b6108f4611aab565b6001600160a01b03166109056113db565b6001600160a01b03161461092b5760405162461bcd60e51b815260040161045b90611fc7565b60015460405163a9059cbb60e01b815261dead916001600160a01b03169063a9059cbb9061095f9084908690600401611dde565b602060405180830381600087803b15801561097957600080fd5b505af115801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a99190611cdb565b6109b9611aab565b6001600160a01b03166109ca6113db565b6001600160a01b0316146109f05760405162461bcd60e51b815260040161045b90611fc7565b600355565b3360009081526008602052604090205480610a225760405162461bcd60e51b815260040161045b90611f47565b6001546040516370a0823160e01b815282916001600160a01b0316906370a0823190610a52903090600401611d73565b60206040518083038186803b158015610a6a57600080fd5b505afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190611d0f565b1015610ac05760405162461bcd60e51b815260040161045b90612033565b33600090815260086020526040812081905560068054839290610ae49084906120d8565b909155505060015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906105079033908590600401611dde565b60076020528160005260406000208181548110610b3757600080fd5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b039093169550909350919085565b600254600160a01b900460ff1681565b60055481565b6060816000610b9782611aaf565b905060008167ffffffffffffffff811115610bc257634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610beb578160200160208202803683370190505b5090508115610cc8576001600160a01b0383166000908152600760205260408120905b83811015610cc157818181548110610c3657634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016002015460011415610caf57818181548110610c7057634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160010154838281518110610ca257634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b80610cb9816120ef565b915050610c0e565b5050610ce0565b60405162461bcd60e51b815260040161045b90611f10565b925050505b919050565b610cf2611aab565b6001600160a01b0316610d036113db565b6001600160a01b031614610d295760405162461bcd60e51b815260040161045b90611fc7565b610d336000611aca565b565b600254600160a01b900460ff1615610d5f5760405162461bcd60e51b815260040161045b90611ffc565b600254604051635c46a7ef60e11b815233916001600160a01b03169063b88d4fde90610d9390849030908790600401611dab565b600060405180830381600087803b158015610dad57600080fd5b505af1158015610dc1573d6000803e3d6000fd5b505050506000610dd082611aaf565b905060008115610f10576001600160a01b0383166000908152600760205260408120905b83811015610f0d576001600160a01b0385166000908152600760205260409020805487919083908110610e3757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600101541415610efb576001828281548110610e7157634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016002018190555042828281548110610ea757634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016003018190555042828281548110610edd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016004018190555060019250610f0d565b80610f05816120ef565b915050610df4565b50505b80610fa2576001600160a01b038381166000818152600760209081526040808320815160a0810183529485528483018a8152600192860183815242606088018181526080890191825284548087018655948852959096209651600590930290960180546001600160a01b0319169290971691909117865551908501559151600284015590516003830155516004909101555b600160046000828254610fb59190612081565b90915550506001600160a01b0383166000908152600a602052604090205461105f5760058054600090815260096020908152604080832080546001600160a01b0319166001600160a01b03891617905592548252600b9052908120805460019290611021908490612081565b9091555050600580546001600160a01b0385166000908152600a6020526040812082905560019291611054908490612081565b9091555061109b9050565b6001600160a01b0383166000908152600a60209081526040808320548352600b9091528120805460019290611095908490612081565b90915550505b50505050565b600254600160a01b900460ff16156110cb5760405162461bcd60e51b815260040161045b90611ffc565b3360006110d782611aaf565b905060006110e483610b89565b905060008060005b8483101561113e578684848151811061111557634e487b7160e01b600052603260045260246000fd5b6020026020010151141561112c576001915061113e565b82611136816120ef565b9350506110ec565b8115610cc857841561127b576001600160a01b0386166000908152600760205260408120905b868110156112785760008983838154811061118f57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600101541415611265578282815481106111c757634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040154426111e491906120d8565b90506111f08185612081565b93504283838154811061121357634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040181905550600083838154811061124a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600502016002018190555050611278565b8161126f816120ef565b92505050611164565b50505b60016004600082825461128e91906120d8565b90915550506001600160a01b0386166000908152600a60209081526040808320548352600b90915281208054600192906112c99084906120d8565b90915550506003546000906112df9083906120b9565b60015460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb90611312908a908590600401611dde565b602060405180830381600087803b15801561132c57600080fd5b505af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611cdb565b506002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd906113999030908b908d90600401611d87565b600060405180830381600087803b1580156113b357600080fd5b505af11580156113c7573d6000803e3d6000fd5b505050505050505050505050565b60045481565b6000546001600160a01b03165b90565b600a6020526000908152604090205481565b60035481565b336000908152600860205260408120541561142e5750336000908152600860205260409020546113e8565b5060006113e8565b600b6020526000908152604090205481565b600254600160a01b900460ff16156114725760405162461bcd60e51b815260040161045b90611ffc565b3360008061147f83611aaf565b90508015610cc8576001600160a01b0383166000908152600760205260408120905b8281101561157a5760008282815481106114cb57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160020154600114156115675782828154811061150557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600401544261152291906120d8565b905061152e8186612081565b94504283838154811061155157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060050201600401819055505b81611571816120ef565b925050506114a1565b505060008260035461158c91906120b9565b9050801561161e5760015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906115c69087908590600401611dde565b602060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116189190611cdb565b5061109b565b60405162461bcd60e51b815260040161045b90611f7c565b61163e611aab565b6001600160a01b031661164f6113db565b6001600160a01b0316146116755760405162461bcd60e51b815260040161045b90611fc7565b6002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd906116a990309085908790600401611d87565b600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b505050505050565b60086020526000908152604090205481565b60008181806116ff83611aaf565b905080156117c7576001600160a01b0383166000908152600760205260408120905b828110156117c457600082828154811061174b57634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160020154600114156117b15782828154811061178557634e487b7160e01b600052603260045260246000fd5b906000526020600020906005020160040154426117a291906120d8565b90506117ae8186612081565b94505b816117bb816120ef565b92505050611721565b50505b6000826003546117d791906120b9565b905080156117ea579350610ce592505050565b6000945050505050610ce5565b60065481565b60005b818110156105a95761183783838381811061182b57634e487b7160e01b600052603260045260246000fd5b905060200201356110a1565b80611841816120ef565b915050611800565b611851611aab565b6001600160a01b03166118626113db565b6001600160a01b0316146118885760405162461bcd60e51b815260040161045b90611fc7565b600060035461271061189a91906120b9565b6118a7906228de806120b9565b6006546001546040516370a0823160e01b81529293506000926001600160a01b03909116906370a08231906118e0903090600401611d73565b60206040518083038186803b1580156118f857600080fd5b505afa15801561190c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119309190611d0f565b61193a91906120d8565b90506000828211156119535761195083836120d8565b90505b80156105a95760045460009061196a600284612099565b6119749190612099565b905060005b600554811015611a2b576000818152600b602052604090205415611a19576000818152600b60205260409020546119b090836120b9565b6000828152600960209081526040808320546001600160a01b031683526008909152812080549091906119e4908490612081565b90915550506000818152600b6020526040902054611a0290836120b9565b60066000828254611a139190612081565b90915550505b80611a23816120ef565b915050611979565b5061109b6102a3600284612099565b611a42611aab565b6001600160a01b0316611a536113db565b6001600160a01b031614611a795760405162461bcd60e51b815260040161045b90611fc7565b6001600160a01b038116611a9f5760405162461bcd60e51b815260040161045b90611eca565b611aa881611aca565b50565b3390565b6001600160a01b031660009081526007602052604090205490565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610ce557600080fd5b600060208284031215611b42578081fd5b611b4b82611b1a565b9392505050565b60008060008060808587031215611b67578283fd5b611b7085611b1a565b9350611b7e60208601611b1a565b925060408501359150606085013567ffffffffffffffff80821115611ba1578283fd5b818701915087601f830112611bb4578283fd5b813581811115611bc657611bc6612120565b604051601f8201601f19908116603f01168101908382118183101715611bee57611bee612120565b816040528281528a6020848701011115611c06578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215611c39578182fd5b611c4283611b1a565b946020939093013593505050565b60008060208385031215611c62578182fd5b823567ffffffffffffffff80821115611c79578384fd5b818501915085601f830112611c8c578384fd5b813581811115611c9a578485fd5b8660208083028501011115611cad578485fd5b60209290920196919550909350505050565b600060208284031215611cd0578081fd5b8135611b4b81612136565b600060208284031215611cec578081fd5b8151611b4b81612136565b600060208284031215611d08578081fd5b5035919050565b600060208284031215611d20578081fd5b5051919050565b60008060408385031215611d39578182fd5b82359150611d4960208401611b1a565b90509250929050565b60008060408385031215611d64578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039384168152919092166020820152604081019190915260806060820181905260009082015260a00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b6020808252825182820181905260009190848201906040850190845b81811015611e665783516001600160a01b031683529284019291840191600101611e41565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611e6657835183529284019291840191600101611e8e565b901515815260200190565b6001600160e01b031991909116815260200190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526018908201527f4572726f723a204e6f205265636f726420466f756e6421210000000000000000604082015260600190565b6020808252818101527f596f752068617665206e6f20626f6e7573206c65667420746f20636c61696d21604082015260600190565b6020808252602b908201527f506c6561736520576169742074696c6c2074686520726577617264204765742060408201526a47656e657261746564212160a81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f5374616b696e672069732043757272656e746c79205061757365642121000000604082015260600190565b60208082526025908201527f4f6f70732c206e6f7468696e67206c65667420696e2074686520726577617264604082015264081c1bdbdb60da1b606082015260800190565b90815260200190565b600082198211156120945761209461210a565b500190565b6000826120b457634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120d3576120d361210a565b500290565b6000828210156120ea576120ea61210a565b500390565b60006000198214156121035761210361210a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114611aa857600080fdfea2646970667358221220ae86e86dbe833836dc04226780af1a045b5c922171e6bf958bc847be7ab35c2e64736f6c63430008010033000000000000000000000000da9d418c4b8ac59a6ec92cdfdd514f75a0f44e18000000000000000000000000a2ae6273dd65f9fa76c3d383ede9c1261e025dac
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000da9d418c4b8ac59a6ec92cdfdd514f75a0f44e18000000000000000000000000a2ae6273dd65f9fa76c3d383ede9c1261e025dac
-----Decoded View---------------
Arg [0] : _nftAdr (address): 0xda9d418c4b8ac59a6ec92cdfdd514f75a0f44e18
Arg [1] : _token (address): 0xa2ae6273dd65f9fa76c3d383ede9c1261e025dac
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000da9d418c4b8ac59a6ec92cdfdd514f75a0f44e18
Arg [1] : 000000000000000000000000a2ae6273dd65f9fa76c3d383ede9c1261e025dac
Deployed ByteCode Sourcemap
21688:10072:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31193:143;;;;;;:::i;:::-;;:::i;:::-;;25041:173;;;;;;:::i;:::-;;:::i;6618:207::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31481:85;;;;;;:::i;:::-;;:::i;23476:477::-;;;:::i;24625:408::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22345:48::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;31572:185::-;;;;;;:::i;:::-;;:::i;22634:73::-;;;;;;:::i;:::-;;:::i;24225:392::-;;;:::i;22229:49::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;21805:25::-;;;:::i;:::-;;;;;;;:::i;21925:23::-;;;:::i;:::-;;;;;;;:::i;30381:681::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2222:103::-;;;:::i;25222:1509::-;;;;;;:::i;:::-;;:::i;27992:1546::-;;;;;;:::i;:::-;;:::i;21888:30::-;;;:::i;1999:87::-;;;:::i;22400:46::-;;;;;;:::i;:::-;;:::i;21843:38::-;;;:::i;23961:256::-;;;:::i;22453:47::-;;;;;;:::i;:::-;;:::i;26743:1056::-;;;:::i;31344:129::-;;;;;;:::i;:::-;;:::i;22285:53::-;;;;;;:::i;:::-;;:::i;29550:823::-;;;;;;:::i;:::-;;:::i;21955:26::-;;;:::i;27807:177::-;;;;;;:::i;:::-;;:::i;22715:753::-;;;:::i;2333:201::-;;;;;;:::i;:::-;;:::i;31193:143::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;;;;;;;;;31290:37:::1;::::0;-1:-1:-1;;;31290:37:0;;-1:-1:-1;;;;;31257:21:0;::::1;::::0;::::1;::::0;31279:10:::1;::::0;31257:21;;31290:22:::1;::::0;:37:::1;::::0;31321:4:::1;::::0;31290:37:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31257:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;31193:143:::0;:::o;25041:173::-;25108:6;25104:103;25119:20;;;25104:103;;;25170:25;25182:9;;25192:1;25182:12;;;;;-1:-1:-1;;;25182:12:0;;;;;;;;;;;;;;;25170:11;:25::i;:::-;25141:3;;;;:::i;:::-;;;;25104:103;;;;25041:173;;:::o;6618:207::-;-1:-1:-1;;;6618:207:0;;;;;;:::o;31481:85::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;31542:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;31542:16:0::1;-1:-1:-1::0;;;;31542:16:0;;::::1;::::0;;;::::1;::::0;;31481:85::o;23476:477::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;23526:22:::1;23552:6;;23561:5;23552:14;;;;:::i;:::-;23551:26;::::0;23570:7:::1;23551:26;:::i;:::-;23642:7;::::0;23606::::1;::::0;:32:::1;::::0;-1:-1:-1;;;23606:32:0;;23526:51;;-1:-1:-1;23588:13:0::1;::::0;-1:-1:-1;;;;;23606:7:0;;::::1;::::0;:17:::1;::::0;:32:::1;::::0;23632:4:::1;::::0;23606:32:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23605:44;;;;:::i;:::-;23588:62;;23661:18;23706:14;23698:5;:22;23694:70;;;23738:22;23746:14:::0;23738:5;:22:::1;:::i;:::-;23724:37;;23694:70;23778:14:::0;;23774:172:::1;;23834:14;23847:1;23834:10:::0;:14:::1;:::i;:::-;23864:7;::::0;:39:::1;::::0;-1:-1:-1;;;23864:39:0;;23820:29;;-1:-1:-1;;;;;;23864:7:0::1;::::0;:16:::1;::::0;:39:::1;::::0;23881:10:::1;::::0;23820:29;;23864:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23918:16;23923:10;23918:4;:16::i;24625:408::-:0;24694:16;24723:28;24768:9;24773:4;24768:2;:9;:::i;:::-;24754:24;;;;;;-1:-1:-1;;;24754:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24754:24:0;-1:-1:-1;24723:55:0;-1:-1:-1;24789:6:0;;24824;24829:1;24824:4;:6;:::i;:::-;24815:15;;24810:187;24836:2;24832:1;:6;24810:187;;;24881:1;24864:14;;;:11;:14;;;;;;:18;24860:126;;24933:15;;;;:12;:15;;;;;;24916:14;;-1:-1:-1;;;;;24933:15:0;;;;24916:11;;24928:1;;24916:14;;;;-1:-1:-1;;;24916:14:0;;;;;;;;;-1:-1:-1;;;;;24916:32:0;;;:14;;;;;;;;;;;:32;24967:3;;;;:::i;:::-;;;;24860:126;24840:3;;;;:::i;:::-;;;;24810:187;;;-1:-1:-1;25014:11:0;;24625:408;-1:-1:-1;;;;24625:408:0:o;22345:48::-;;;;;;;;;;;;-1:-1:-1;;;;;22345:48:0;;:::o;31572:185::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;31717:7:::1;::::0;:32:::1;::::0;-1:-1:-1;;;31717:32:0;;31656:42:::1;::::0;-1:-1:-1;;;;;31717:7:0::1;::::0;:16:::1;::::0;:32:::1;::::0;31656:42;;31742:6;;31717:32:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22634:73::-:0;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;22688:6:::1;:14:::0;22634:73::o;24225:392::-;24293:10;24265:13;24281:23;;;:11;:23;;;;;:37;24337:9;24329:54;;;;-1:-1:-1;;;24329:54:0;;;;;;;:::i;:::-;24402:7;;:32;;-1:-1:-1;;;24402:32:0;;24438:5;;-1:-1:-1;;;;;24402:7:0;;:17;;:32;;24428:4;;24402:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;24394:91;;;;-1:-1:-1;;;24394:91:0;;;;;;;:::i;:::-;24508:10;24536:1;24496:23;;;:11;:23;;;;;:41;;;24548:7;:16;;24559:5;;24536:1;24548:16;;24559:5;;24548:16;:::i;:::-;;;;-1:-1:-1;;24575:7:0;;:34;;-1:-1:-1;;;24575:34:0;;-1:-1:-1;;;;;24575:7:0;;;;:16;;:34;;24592:10;;24603:5;;24575:34;;;:::i;22229:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22229:49:0;;;;-1:-1:-1;22229:49:0;;-1:-1:-1;22229:49:0;;;:::o;21805:25::-;;;-1:-1:-1;;;21805:25:0;;;;;:::o;21925:23::-;;;;:::o;30381:681::-;30439:16;30486:4;30468:15;30522:18;30486:4;30522:9;:18::i;:::-;30501:39;;30551:30;30598:13;30584:28;;;;;;-1:-1:-1;;;30584:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30584:28:0;-1:-1:-1;30551:61:0;-1:-1:-1;30628:17:0;;30625:392;;-1:-1:-1;;;;;30687:19:0;;30662:22;30687:19;;;:10;:19;;;;;;30746:184;30756:13;30752:1;:17;30746:184;;;30793:3;30797:1;30793:6;;;;;;-1:-1:-1;;;30793:6:0;;;;;;;;;;;;;;;;;;;:16;;;30813:1;30793:21;30790:103;;;30858:3;30862:1;30858:6;;;;;;-1:-1:-1;;;30858:6:0;;;;;;;;;;;;;;;;;;;:15;;;30839:13;30853:1;30839:16;;;;;;-1:-1:-1;;;30839:16:0;;;;;;;;;;;;;;:34;;;;;30790:103;30911:3;;;;:::i;:::-;;;;30746:184;;;30625:392;;;;;30971:34;;-1:-1:-1;;;30971:34:0;;;;;;;:::i;30625:392::-;31036:13;-1:-1:-1;;;30381:681:0;;;;:::o;2222:103::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;2287:30:::1;2314:1;2287:18;:30::i;:::-;2222:103::o:0;25222:1509::-;25285:6;;-1:-1:-1;;;25285:6:0;;;;25284:7;25276:48;;;;-1:-1:-1;;;25276:48:0;;;;;;;:::i;:::-;25374:3;;:58;;-1:-1:-1;;;25374:58:0;;25353:10;;-1:-1:-1;;;;;25374:3:0;;:20;;:58;;25353:10;;25412:4;;25420:8;;25374:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25443:18;25464;25474:7;25464:9;:18::i;:::-;25443:39;-1:-1:-1;25493:12:0;25519:17;;25516:520;;-1:-1:-1;;;;;25581:19:0;;25553:25;25581:19;;;:10;:19;;;;;;25640:385;25650:13;25646:1;:17;25640:385;;;-1:-1:-1;;;;;25687:19:0;;;;;;:10;:19;;;;;:22;;25722:8;;25687:19;25707:1;;25687:22;;;;-1:-1:-1;;;25687:22:0;;;;;;;;;;;;;;;;;;;:31;;;:43;25684:304;;;25777:1;25755:6;25762:1;25755:9;;;;;;-1:-1:-1;;;25755:9:0;;;;;;;;;;;;;;;;;;;:19;;:23;;;;25825:15;25801:6;25808:1;25801:9;;;;;;-1:-1:-1;;;25801:9:0;;;;;;;;;;;;;;;;;;;:21;;:39;;;;25888:15;25863:6;25870:1;25863:9;;;;;;-1:-1:-1;;;25863:9:0;;;;;;;;;;;;;;;;;;;:22;;:40;;;;25936:4;25926:14;;25963:5;;25684:304;26006:3;;;;:::i;:::-;;;;25640:385;;;25516:520;;;26050:7;26046:343;;-1:-1:-1;;;;;26074:19:0;;;;;;;:10;:19;;;;;;;;26117:245;;;;;;;;;;;;;;;;26238:1;26117:245;;;;;;26275:15;26117:245;;;;;;;;;;;;26074:303;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;26074:303:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26046:343;26416:1;26401:11;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;26432:19:0;;;;;;:10;:19;;;;;;26428:296;;26495:4;;;26482:18;;;;:12;:18;;;;;;;;:28;;-1:-1:-1;;;;;;26482:28:0;-1:-1:-1;;;;;26482:28:0;;;;;26537:4;;26525:17;;:11;:17;;;;;:22;;-1:-1:-1;;26482:18:0;26525:22;;-1:-1:-1;;26525:22:0;:::i;:::-;;;;-1:-1:-1;;26584:4:0;;;-1:-1:-1;;;;;26562:19:0;;;;;;:10;:19;;;;;:26;;;26611:1;;26584:4;26603:9;;26611:1;;26603:9;:::i;:::-;;;;-1:-1:-1;26428:296:0;;-1:-1:-1;26428:296:0;;-1:-1:-1;;;;;26687:19:0;;26675:32;26687:19;;;:10;:19;;;;;;;;;26675:32;;:11;:32;;;;;:37;;26711:1;;26675:32;:37;;26711:1;;26675:37;:::i;:::-;;;;-1:-1:-1;;26428:296:0;25222:1509;;;;:::o;27992:1546::-;28057:6;;-1:-1:-1;;;28057:6:0;;;;28056:7;28048:48;;;;-1:-1:-1;;;28048:48:0;;;;;;;:::i;:::-;28125:10;28107:15;28167:18;28125:10;28167:9;:18::i;:::-;28146:39;;28196:22;28221;28235:7;28221:13;:22::i;:::-;28196:47;;28254:6;28271:10;28292:19;28322:168;28332:13;28328:1;:17;28322:168;;;28380:8;28365;28374:1;28365:11;;;;;;-1:-1:-1;;;28365:11:0;;;;;;;;;;;;;;;:23;28362:99;;;28417:4;28409:12;;28440:5;;28362:99;28475:3;;;;:::i;:::-;;;;28322:168;;;28505:5;28502:1019;;;28532:17;;28529:621;;-1:-1:-1;;;;;28598:19:0;;28570:25;28598:19;;;:10;:19;;;;;;28665:470;28675:13;28671:1;:17;28665:470;;;28713:14;28779:8;28757:6;28764:1;28757:9;;;;;;-1:-1:-1;;;28757:9:0;;;;;;;;;;;;;;;;;;;:18;;;:30;28754:336;;;28843:6;28850:1;28843:9;;;;;;-1:-1:-1;;;28843:9:0;;;;;;;;;;;;;;;;;;;:22;;;28825:15;:40;;;;:::i;:::-;28816:49;-1:-1:-1;28892:24:0;28816:49;28892:24;;:::i;:::-;;;28969:15;28943:6;28950:1;28943:9;;;;;;-1:-1:-1;;;28943:9:0;;;;;;;;;;;;;;;;;;;:22;;:41;;;;29033:1;29011:6;29018:1;29011:9;;;;;;-1:-1:-1;;;29011:9:0;;;;;;;;;;;;;;;;;;;:19;;:23;;;;29061:5;;;28754:336;29112:3;;;;:::i;:::-;;;;28665:470;;;;28529:621;;;29193:1;29178:11;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;29221:19:0;;29209:32;29221:19;;;:10;:19;;;;;;;;;29209:32;;:11;:32;;;;;:37;;29245:1;;29209:32;:37;;29245:1;;29209:37;:::i;:::-;;;;-1:-1:-1;;29290:6:0;;29263:24;;29290:23;;29299:14;;29290:23;:::i;:::-;29328:7;;:42;;-1:-1:-1;;;29328:42:0;;29263:50;;-1:-1:-1;;;;;;29328:7:0;;:16;;:42;;29345:7;;29263:50;;29328:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;29385:3:0;;:49;;-1:-1:-1;;;29385:49:0;;-1:-1:-1;;;;;29385:3:0;;;;:16;;:49;;29410:4;;29416:7;;29425:8;;29385:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28502:1019;27992:1546;;;;;;;:::o;21888:30::-;;;;:::o;1999:87::-;2045:7;2072:6;-1:-1:-1;;;;;2072:6:0;1999:87;;:::o;22400:46::-;;;;;;;;;;;;;:::o;21843:38::-;;;;:::o;23961:256::-;24040:10;24004:7;24028:23;;;:11;:23;;;;;:37;:41;24024:186;;-1:-1:-1;24114:10:0;24102:23;;;;:11;:23;;;;;:37;24095:44;;24024:186;-1:-1:-1;24197:1:0;24190:8;;22453:47;;;;;;;;;;;;;:::o;26743:1056::-;26793:6;;-1:-1:-1;;;26793:6:0;;;;26792:7;26784:48;;;;-1:-1:-1;;;26784:48:0;;;;;;;:::i;:::-;26861:10;26843:15;;26939:18;26861:10;26939:9;:18::i;:::-;26918:39;-1:-1:-1;26971:17:0;;26968:563;;-1:-1:-1;;;;;27033:19:0;;27005:25;27033:19;;;:10;:19;;;;;;27092:353;27102:13;27098:1;:17;27092:353;;;27136:14;27176:6;27183:1;27176:9;;;;;;-1:-1:-1;;;27176:9:0;;;;;;;;;;;;;;;;;;;:19;;;27199:1;27176:24;27173:235;;;27252:6;27259:1;27252:9;;;;;;-1:-1:-1;;;27252:9:0;;;;;;;;;;;;;;;;;;;:22;;;27234:15;:40;;;;:::i;:::-;27225:49;-1:-1:-1;27297:27:0;27225:49;27297:27;;:::i;:::-;;;27373:15;27347:6;27354:1;27347:9;;;;;;-1:-1:-1;;;27347:9:0;;;;;;;;;;;;;;;;;;;:22;;:41;;;;27173:235;27426:3;;;;:::i;:::-;;;;27092:353;;;;26968:563;;27543:22;27577:17;27568:6;;:26;;;;:::i;:::-;27543:51;-1:-1:-1;27608:18:0;;27605:185;;27643:7;;:40;;-1:-1:-1;;;27643:40:0;;-1:-1:-1;;;;;27643:7:0;;;;:16;;:40;;27660:7;;27668:14;;27643:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27605:185;;;27725:53;;-1:-1:-1;;;27725:53:0;;;;;;;:::i;31344:129::-;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;31419:3:::1;::::0;:46:::1;::::0;-1:-1:-1;;;31419:46:0;;-1:-1:-1;;;;;31419:3:0;;::::1;::::0;:16:::1;::::0;:46:::1;::::0;31444:4:::1;::::0;31450:9;;31461:3;;31419:46:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;31344:129:::0;;:::o;22285:53::-;;;;;;;;;;;;;:::o;29550:823::-;29606:7;29644:4;29606:7;;29716:18;29644:4;29716:9;:18::i;:::-;29695:39;-1:-1:-1;29748:17:0;;29745:424;;-1:-1:-1;;;;;29810:19:0;;29782:25;29810:19;;;:10;:19;;;;;;29869:289;29879:13;29875:1;:17;29869:289;;;29913:14;29953:6;29960:1;29953:9;;;;;;-1:-1:-1;;;29953:9:0;;;;;;;;;;;;;;;;;;;:19;;;29976:1;29953:24;29950:171;;;30029:6;30036:1;30029:9;;;;;;-1:-1:-1;;;30029:9:0;;;;;;;;;;;;;;;;;;;:22;;;30011:15;:40;;;;:::i;:::-;30002:49;-1:-1:-1;30074:27:0;30002:49;30074:27;;:::i;:::-;;;29950:171;30139:3;;;;:::i;:::-;;;;29869:289;;;;29745:424;;;30181:22;30215:17;30206:6;;:26;;;;:::i;:::-;30181:51;-1:-1:-1;30246:18:0;;30243:121;;30288:14;-1:-1:-1;30281:21:0;;-1:-1:-1;;;30281:21:0;30243:121;30351:1;30344:8;;;;;;;;21955:26;;;;:::o;27807:177::-;27876:6;27872:105;27887:20;;;27872:105;;;27938:27;27952:9;;27962:1;27952:12;;;;;-1:-1:-1;;;27952:12:0;;;;;;;;;;;;;;;27938:13;:27::i;:::-;27909:3;;;;:::i;:::-;;;;27872:105;;22715:753;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;22765:22:::1;22792:6;;22801:5;22792:14;;;;:::i;:::-;22791:26;::::0;22810:7:::1;22791:26;:::i;:::-;22883:7;::::0;22847::::1;::::0;:32:::1;::::0;-1:-1:-1;;;22847:32:0;;22765:53;;-1:-1:-1;22829:13:0::1;::::0;-1:-1:-1;;;;;22847:7:0;;::::1;::::0;:17:::1;::::0;:32:::1;::::0;22873:4:::1;::::0;22847:32:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22846:44;;;;:::i;:::-;22829:62;;22902:18;22947:14;22939:5;:22;22935:70;;;22979:22;22987:14:::0;22979:5;:22:::1;:::i;:::-;22965:37;;22935:70;23019:14:::0;;23015:446:::1;;23097:11;::::0;23061:14:::1;::::0;23079::::1;23092:1;23079:10:::0;:14:::1;:::i;:::-;23078:30;;;;:::i;:::-;23061:47;;23127:6;23123:292;23143:4;;23139:1;:8;23123:292;;;23207:1;23190:14:::0;;;:11:::1;:14;::::0;;;;;:18;23186:214:::1;;23306:14;::::0;;;:11:::1;:14;::::0;;;;;23297:23:::1;::::0;:6;:23:::1;:::i;:::-;23250:28;23262:15:::0;;;:12:::1;:15;::::0;;;;;;;;-1:-1:-1;;;;;23262:15:0::1;23250:28:::0;;:11:::1;:28:::0;;;;;:71;;:28;;;:71:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;23365:14:0::1;::::0;;;:11:::1;:14;::::0;;;;;23356:23:::1;::::0;:6;:23:::1;:::i;:::-;23344:7;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;23186:214:0::1;23149:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23123:292;;;-1:-1:-1::0;23429:20:0::1;23434:14;23447:1;23434:10:::0;:14:::1;:::i;2333:201::-:0;2145:12;:10;:12::i;:::-;-1:-1:-1;;;;;2134:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2134:23:0;;2126:68;;;;-1:-1:-1;;;2126:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2422:22:0;::::1;2414:73;;;;-1:-1:-1::0;;;2414:73:0::1;;;;;;;:::i;:::-;2498:28;2517:8;2498:18;:28::i;:::-;2333:201:::0;:::o;1545:98::-;1625:10;1545:98;:::o;31074:111::-;-1:-1:-1;;;;;31154:16:0;31130:4;31154:16;;;:10;:16;;;;;:23;;31074:111::o;2542:191::-;2616:16;2635:6;;-1:-1:-1;;;;;2652:17:0;;;-1:-1:-1;;;;;;2652:17:0;;;;;;2685:40;;2635:6;;;;;;;2685:40;;2616:16;2685:40;2542:191;;:::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:1187::-;;;;;569:3;557:9;548:7;544:23;540:33;537:2;;;591:6;583;576:22;537:2;619:31;640:9;619:31;:::i;:::-;609:41;;669:40;705:2;694:9;690:18;669:40;:::i;:::-;659:50;;756:2;745:9;741:18;728:32;718:42;;811:2;800:9;796:18;783:32;834:18;875:2;867:6;864:14;861:2;;;896:6;888;881:22;861:2;939:6;928:9;924:22;914:32;;984:7;977:4;973:2;969:13;965:27;955:2;;1011:6;1003;996:22;955:2;1052;1039:16;1074:2;1070;1067:10;1064:2;;;1080:18;;:::i;:::-;1155:2;1149:9;1123:2;1209:13;;-1:-1:-1;;1205:22:1;;;1229:2;1201:31;1197:40;1185:53;;;1253:18;;;1273:22;;;1250:46;1247:2;;;1299:18;;:::i;:::-;1339:10;1335:2;1328:22;1374:2;1366:6;1359:18;1414:7;1409:2;1404;1400;1396:11;1392:20;1389:33;1386:2;;;1440:6;1432;1425:22;1386:2;1501;1496;1492;1488:11;1483:2;1475:6;1471:15;1458:46;1524:15;;;1541:2;1520:24;1513:40;;;;527:1057;;;;-1:-1:-1;527:1057:1;;-1:-1:-1;;;;527:1057:1:o;1589:266::-;;;1718:2;1706:9;1697:7;1693:23;1689:32;1686:2;;;1739:6;1731;1724:22;1686:2;1767:31;1788:9;1767:31;:::i;:::-;1757:41;1845:2;1830:18;;;;1817:32;;-1:-1:-1;;;1676:179:1:o;1860:666::-;;;2007:2;1995:9;1986:7;1982:23;1978:32;1975:2;;;2028:6;2020;2013:22;1975:2;2073:9;2060:23;2102:18;2143:2;2135:6;2132:14;2129:2;;;2164:6;2156;2149:22;2129:2;2207:6;2196:9;2192:22;2182:32;;2252:7;2245:4;2241:2;2237:13;2233:27;2223:2;;2279:6;2271;2264:22;2223:2;2324;2311:16;2350:2;2342:6;2339:14;2336:2;;;2371:6;2363;2356:22;2336:2;2430:7;2425:2;2419;2411:6;2407:15;2403:2;2399:24;2395:33;2392:46;2389:2;;;2456:6;2448;2441:22;2389:2;2492;2484:11;;;;;2514:6;;-1:-1:-1;1965:561:1;;-1:-1:-1;;;;1965:561:1:o;2531:253::-;;2640:2;2628:9;2619:7;2615:23;2611:32;2608:2;;;2661:6;2653;2646:22;2608:2;2705:9;2692:23;2724:30;2748:5;2724:30;:::i;2789:257::-;;2909:2;2897:9;2888:7;2884:23;2880:32;2877:2;;;2930:6;2922;2915:22;2877:2;2967:9;2961:16;2986:30;3010:5;2986:30;:::i;3051:190::-;;3163:2;3151:9;3142:7;3138:23;3134:32;3131:2;;;3184:6;3176;3169:22;3131:2;-1:-1:-1;3212:23:1;;3121:120;-1:-1:-1;3121:120:1:o;3246:194::-;;3369:2;3357:9;3348:7;3344:23;3340:32;3337:2;;;3390:6;3382;3375:22;3337:2;-1:-1:-1;3418:16:1;;3327:113;-1:-1:-1;3327:113:1:o;3445:266::-;;;3574:2;3562:9;3553:7;3549:23;3545:32;3542:2;;;3595:6;3587;3580:22;3542:2;3636:9;3623:23;3613:33;;3665:40;3701:2;3690:9;3686:18;3665:40;:::i;:::-;3655:50;;3532:179;;;;;:::o;3716:258::-;;;3845:2;3833:9;3824:7;3820:23;3816:32;3813:2;;;3866:6;3858;3851:22;3813:2;-1:-1:-1;;3894:23:1;;;3964:2;3949:18;;;3936:32;;-1:-1:-1;3803:171:1:o;3979:203::-;-1:-1:-1;;;;;4143:32:1;;;;4125:51;;4113:2;4098:18;;4080:102::o;4187:375::-;-1:-1:-1;;;;;4445:15:1;;;4427:34;;4497:15;;;;4492:2;4477:18;;4470:43;4544:2;4529:18;;4522:34;;;;4377:2;4362:18;;4344:218::o;4567:558::-;-1:-1:-1;;;;;4890:15:1;;;4872:34;;4942:15;;;;4937:2;4922:18;;4915:43;4989:2;4974:18;;4967:34;;;;5037:3;5032:2;5017:18;;5010:31;;;4567:558;5057:19;;;5050:33;4852:3;5100:19;;4824:301::o;5130:274::-;-1:-1:-1;;;;;5322:32:1;;;;5304:51;;5386:2;5371:18;;5364:34;5292:2;5277:18;;5259:145::o;5409:489::-;-1:-1:-1;;;;;5686:32:1;;;;5668:51;;5750:2;5735:18;;5728:34;;;;5793:2;5778:18;;5771:34;;;;5836:2;5821:18;;5814:34;5879:3;5864:19;;5857:35;5655:3;5640:19;;5622:276::o;5903:661::-;6074:2;6126:21;;;6196:13;;6099:18;;;6218:22;;;5903:661;;6074:2;6297:15;;;;6271:2;6256:18;;;5903:661;6343:195;6357:6;6354:1;6351:13;6343:195;;;6422:13;;-1:-1:-1;;;;;6418:39:1;6406:52;;6513:15;;;;6478:12;;;;6454:1;6372:9;6343:195;;;-1:-1:-1;6555:3:1;;6054:510;-1:-1:-1;;;;;;6054:510:1:o;6569:635::-;6740:2;6792:21;;;6862:13;;6765:18;;;6884:22;;;6569:635;;6740:2;6963:15;;;;6937:2;6922:18;;;6569:635;7009:169;7023:6;7020:1;7017:13;7009:169;;;7084:13;;7072:26;;7153:15;;;;7118:12;;;;7045:1;7038:9;7009:169;;7209:187;7374:14;;7367:22;7349:41;;7337:2;7322:18;;7304:92::o;7401:202::-;-1:-1:-1;;;;;;7563:33:1;;;;7545:52;;7533:2;7518:18;;7500:103::o;7608:402::-;7810:2;7792:21;;;7849:2;7829:18;;;7822:30;7888:34;7883:2;7868:18;;7861:62;-1:-1:-1;;;7954:2:1;7939:18;;7932:36;8000:3;7985:19;;7782:228::o;8015:348::-;8217:2;8199:21;;;8256:2;8236:18;;;8229:30;8295:26;8290:2;8275:18;;8268:54;8354:2;8339:18;;8189:174::o;8368:356::-;8570:2;8552:21;;;8589:18;;;8582:30;8648:34;8643:2;8628:18;;8621:62;8715:2;8700:18;;8542:182::o;8729:407::-;8931:2;8913:21;;;8970:2;8950:18;;;8943:30;9009:34;9004:2;8989:18;;8982:62;-1:-1:-1;;;9075:2:1;9060:18;;9053:41;9126:3;9111:19;;8903:233::o;9141:356::-;9343:2;9325:21;;;9362:18;;;9355:30;9421:34;9416:2;9401:18;;9394:62;9488:2;9473:18;;9315:182::o;9502:353::-;9704:2;9686:21;;;9743:2;9723:18;;;9716:30;9782:31;9777:2;9762:18;;9755:59;9846:2;9831:18;;9676:179::o;9860:401::-;10062:2;10044:21;;;10101:2;10081:18;;;10074:30;10140:34;10135:2;10120:18;;10113:62;-1:-1:-1;;;10206:2:1;10191:18;;10184:35;10251:3;10236:19;;10034:227::o;10266:177::-;10412:25;;;10400:2;10385:18;;10367:76::o;10448:128::-;;10519:1;10515:6;10512:1;10509:13;10506:2;;;10525:18;;:::i;:::-;-1:-1:-1;10561:9:1;;10496:80::o;10581:217::-;;10647:1;10637:2;;-1:-1:-1;;;10672:31:1;;10726:4;10723:1;10716:15;10754:4;10679:1;10744:15;10637:2;-1:-1:-1;10783:9:1;;10627:171::o;10803:168::-;;10909:1;10905;10901:6;10897:14;10894:1;10891:21;10886:1;10879:9;10872:17;10868:45;10865:2;;;10916:18;;:::i;:::-;-1:-1:-1;10956:9:1;;10855:116::o;10976:125::-;;11044:1;11041;11038:8;11035:2;;;11049:18;;:::i;:::-;-1:-1:-1;11086:9:1;;11025:76::o;11106:135::-;;-1:-1:-1;;11166:17:1;;11163:2;;;11186:18;;:::i;:::-;-1:-1:-1;11233:1:1;11222:13;;11153:88::o;11246:127::-;11307:10;11302:3;11298:20;11295:1;11288:31;11338:4;11335:1;11328:15;11362:4;11359:1;11352:15;11378:127;11439:10;11434:3;11430:20;11427:1;11420:31;11470:4;11467:1;11460:15;11494:4;11491:1;11484:15;11510:120;11598:5;11591:13;11584:21;11577:5;11574:32;11564:2;;11620:1;11617;11610:12
Swarm Source
ipfs://ae86e86dbe833836dc04226780af1a045b5c922171e6bf958bc847be7ab35c2e
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.