import { Program } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
import { BasketsProgram } from "../idl/types";

export const PYTH_SPONSORED_FEEDS_STATE_SIZE = 13066;

export interface PythSponsoredFeeds {
    ownAddress: PublicKey,
    updateAuthority: PublicKey,

    numTokens: number,
    mints: PublicKey[],
    feeds: PublicKey[],
    isActive: number[],
}

export async function fetchPythSponsoredFeeds(
    program: Program<BasketsProgram>,
    pythSponsoredFeeds: PublicKey
): Promise<PythSponsoredFeeds> {
    return await program.account.pythSponsoredFeeds.fetch(pythSponsoredFeeds);
}

export interface PoolInfo {
    liquidity: number,
    poolType: number,
    pool: string,
    baseMint: string,
    quoteMint: string,
    baseTokenAccount: string,
    quoteTokenAccount: string,
    baseBalance: number,
    quoteBalance: number,
    baseDecimals: number,
    quoteDecimals: number,
}
