Copy interface IGen0Airdrop {
event CrystalAirdrop ( address indexed owner, uint256 crystalId, uint256 createdBlock);
event CrystalOpen ( address indexed owner, uint256 crystalId, uint256 heroId);
function airdropCrystal ( address _recipient );
function crystals ( uint256 ) view returns ( address owner , uint256 summonerId , uint256 assistantId , uint16 generation , uint256 createdBlock , uint256 heroId , uint8 summonerTears , uint8 assistantTears , address bonusItem , uint32 maxSummons , uint32 firstName , uint32 lastName , uint8 shinyStyle);
function enabled () view returns ( bool );
function extractNumber ( uint256 randomNumber , uint256 digits , uint256 offset) pure returns ( uint256 result);
function getCrystal ( uint256 _crystalId ) view returns (tuple( address owner , uint256 summonerId , uint256 assistantId , uint16 generation , uint256 createdBlock , uint256 heroId , uint8 summonerTears , uint8 assistantTears , address bonusItem , uint32 maxSummons , uint32 firstName , uint32 lastName , uint8 shinyStyle));
function getUserCrystals ( address _address ) view returns ( uint256 []);
function open ( uint256 _crystalId ) returns ( uint256 );
function userCrystals ( address , uint256 ) view returns ( uint256 );
function vrf ( uint256 blockNumber) view returns ( bytes32 result);
}