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);
}