import type { AnchorTypes } from "@saberhq/anchor-contrib"; import * as QUEST_POOL_TYPES from "./idl/quest_pool"; import { PublicKey } from "@solana/web3.js"; export const QUEST_POOL_PROGRAM_ID = new PublicKey( "q1yEkaNeJ9iRXE7BJejSMkT3PF7HsaL1Eu6em9sQYCw" ); export const QUEST_ENTRY_SEED = "stake-entry"; export const QUEST_POOL_SEED = "stake-pool"; export const EXTENDED_QUEST_ENTRY_SEED = "extended-stake-entry"; export const EXTENDED_QUEST_POOL_SEED = "extended-stake-pool"; export const STAKER_OFFSET = 113; export const CRANK_PUB_KEY = new PublicKey( "crkdpVWjHWdggGgBuSyAqSmZUmAjYLzD435tcLDRLXr" ); export const QUEST_POOL_IDL = QUEST_POOL_TYPES.IDL; export type QUEST_POOL_PROGRAM = QUEST_POOL_TYPES.QuestPool; export type QuestPoolTypes = AnchorTypes< QUEST_POOL_PROGRAM, { questEntry: QuestEntryData; } >; export type TokenManagerError = QuestPoolTypes["Error"]; type Accounts = QuestPoolTypes["Accounts"]; export type QuestEntryData = Accounts["stakeEntry"]; export type ExtendedQuestEntryData = Accounts["extendedStakeEntry"]; export type QuestPoolData = Accounts["stakePool"]; export type ExtendedQuestPoolData = Accounts["extendedStakePool"]; export type AccountData = { pubkey: PublicKey; parsed: T; }; export type ExtendedAccountData = { pubkey: PublicKey; parsed: T; extended: AccountData; };