[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"IMPISH_STAKING_EMISSION_PER_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SPIRALBITS_PER_SECOND_PER_CRYSTAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SPIRALBITS_PER_SECOND_PER_RW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SPIRALBITS_PER_SECOND_PER_SPIRAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SPIRALBITS_STAKING_EMISSION_PER_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"spiralTokenId","type":"uint256"}],"name":"claimSpiralWin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"crystalTargetSyms","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"crystals","outputs":[{"internalType":"contract ImpishCrystal","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"epochs","outputs":[{"internalType":"uint32","name":"epochDurationSec","type":"uint32"},{"internalType":"uint96","name":"totalSpiralBitsStaked","type":"uint96"},{"internalType":"uint96","name":"totalImpishStaked","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"contractCrystalTokenIds","type":"uint32[]"},{"internalType":"bool","name":"claim","type":"bool"}],"name":"harvestCrystals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"impish","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"impishspiral","outputs":[{"internalType":"contract ImpishSpiral","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_crystals","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastEpochTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"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":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randomWalkNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"crystalTokenId","type":"uint32"},{"internalType":"uint8","name":"targetSym","type":"uint8"}],"name":"setCrystalTargetSym","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"spiralbits","outputs":[{"internalType":"contract SpiralBits","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeImpish","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"contractTokenIds","type":"uint32[]"},{"internalType":"address","name":"owner","type":"address"}],"name":"stakeNFTsForOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeSpiralBits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakedNFTsAndTokens","outputs":[{"internalType":"uint16","name":"numRWStaked","type":"uint16"},{"internalType":"uint16","name":"numSpiralsStaked","type":"uint16"},{"internalType":"uint16","name":"numGrowingCrystalsStaked","type":"uint16"},{"internalType":"uint16","name":"numFullCrystalsStaked","type":"uint16"},{"internalType":"uint32","name":"lastClaimEpoch","type":"uint32"},{"internalType":"uint96","name":"spiralBitsStaked","type":"uint96"},{"internalType":"uint96","name":"impishStaked","type":"uint96"},{"internalType":"uint96","name":"claimedSpiralBits","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakedTokenOwners","outputs":[{"internalType":"uint256","name":"ownedTokensIndex","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","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":[{"internalType":"bool","name":"claimReward","type":"bool"}],"name":"unstakeImpish","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"contractTokenIds","type":"uint32[]"},{"internalType":"bool","name":"claim","type":"bool"}],"name":"unstakeNFTs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"claimReward","type":"bool"}],"name":"unstakeSpiralBits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]