Class PoolConfig

Constructors

  • Parameters

    • programId: PublicKey
    • perpComposibilityProgramId: PublicKey
    • fbNftRewardProgramId: PublicKey
    • cluster: Cluster
    • poolName: string
    • poolAddress: PublicKey
    • stakedLpTokenMint: PublicKey
    • compoundingTokenMint: PublicKey
    • stakedLpVault: PublicKey
    • compoundingLpVault: PublicKey
    • lpDecimals: number
    • compoundingLpTokenSymbol: string
    • stakedLpTokenSymbol: string
    • perpetuals: PublicKey
    • transferAuthority: PublicKey
    • tokenMint: PublicKey
    • tokenVault: PublicKey
    • tokenVaultTokenAccount: PublicKey
    • rebateVault: PublicKey
    • rebateTokenAccount: PublicKey
    • revenueTokenAccount: PublicKey
    • protocolVault: PublicKey
    • protocolTokenAccount: PublicKey
    • multisig: PublicKey
    • addressLookupTableAddresses: PublicKey[]
    • pusherAddressLookupTableAddress: PublicKey
    • backupOracle: PublicKey
    • nftCollectionAddress: PublicKey
    • rewardDistributionProgram: {
          programId: PublicKey;
          rewardMint: PublicKey;
          rewardTokenAccount: PublicKey;
          rewardVault: PublicKey;
          transferAuthority: PublicKey;
      }
      • programId: PublicKey
      • rewardMint: PublicKey
      • rewardTokenAccount: PublicKey
      • rewardVault: PublicKey
      • transferAuthority: PublicKey
    • tokens: Token[]
    • custodies: CustodyConfig[]
    • markets: MarketConfig[]
    • marketsDeprecated: MarketConfig[]

    Returns PoolConfig

Properties

addressLookupTableAddresses: PublicKey[]
backupOracle: PublicKey
cluster: Cluster
compoundingLpTokenSymbol: string
compoundingLpVault: PublicKey
compoundingTokenMint: PublicKey
custodies: CustodyConfig[]
fbNftRewardProgramId: PublicKey
lpDecimals: number
markets: MarketConfig[]
marketsDeprecated: MarketConfig[]
multisig: PublicKey
nftCollectionAddress: PublicKey
perpComposibilityProgramId: PublicKey
perpetuals: PublicKey
poolAddress: PublicKey
poolName: string
programId: PublicKey
protocolTokenAccount: PublicKey
protocolVault: PublicKey
pusherAddressLookupTableAddress: PublicKey
rebateTokenAccount: PublicKey
rebateVault: PublicKey
revenueTokenAccount: PublicKey
rewardDistributionProgram: {
    programId: PublicKey;
    rewardMint: PublicKey;
    rewardTokenAccount: PublicKey;
    rewardVault: PublicKey;
    transferAuthority: PublicKey;
}

Type declaration

  • programId: PublicKey
  • rewardMint: PublicKey
  • rewardTokenAccount: PublicKey
  • rewardVault: PublicKey
  • transferAuthority: PublicKey
stakedLpTokenMint: PublicKey
stakedLpTokenSymbol: string
stakedLpVault: PublicKey
tokenMint: PublicKey
tokenVault: PublicKey
tokenVaultTokenAccount: PublicKey
tokens: Token[]
transferAuthority: PublicKey

Methods

  • Parameters

    • pubkey: PublicKey

    Returns boolean

  • Parameters

    • custodyId: number

    Returns PublicKey

  • Parameters

    • custodyAccountPk: Address

    Returns number

  • Parameters

    • targetCustody: PublicKey
    • collateralCustody: PublicKey
    • side: Side

    Returns PublicKey

  • Parameters

    • owner: PublicKey
    • targetCustody: PublicKey
    • collateralCustody: PublicKey
    • side: Side

    Returns PublicKey

  • Parameters

    • owner: PublicKey
    • marketAccount: PublicKey

    Returns PublicKey

  • Parameters

    • owner: PublicKey
    • targetCustody: PublicKey
    • collateralCustody: PublicKey
    • side: Side

    Returns PublicKey

  • Parameters

    • owner: PublicKey
    • marketAccount: PublicKey

    Returns PublicKey

  • Parameters

    • poolConfig: {
          addressLookupTableAddresses: string[];
          backupOracle: string;
          cluster: string;
          compoundingLpTokenSymbol: string;
          compoundingLpVault: string;
          compoundingTokenMint: string;
          custodies: {
              custodyAccount: string;
              custodyId: number;
              decimals: number;
              extOracleAddress: string;
              intOracleAddress: string;
              isStable: boolean;
              isVirtual: boolean;
              lazerId: number;
              mintKey: string;
              pythPriceId: string;
              pythTicker: string;
              symbol: string;
              tokenAccount: string;
              tokenPrecision: number;
              usdPrecision: number;
          }[];
          fbNftRewardProgramId: string;
          lpDecimals: number;
          markets: {
              collateralCustody: string;
              collateralCustodyId: number;
              collateralMint: string;
              degenMaxLev: number;
              degenMinLev: number;
              marketAccount: string;
              marketCorrelation: boolean;
              marketId: number;
              maxLev: number;
              pool: string;
              side: string;
              targetCustody: string;
              targetCustodyId: number;
              targetMint: string;
          }[];
          marketsDeprecated?: undefined;
          metadataAccount: string;
          multisig: string;
          nftCollectionAddress: string;
          perpComposibilityProgramId: string;
          perpetuals: string;
          poolAddress: string;
          poolName: string;
          programId: string;
          protocolTokenAccount: string;
          protocolVault: string;
          pusherAddressLookupTableAddress: string;
          rebateTokenAccount: string;
          rebateVault: string;
          revenueTokenAccount: string;
          rewardDistributionProgram: {
              programId: string;
              rewardMint: string;
              rewardTokenAccount: string;
              rewardVault: string;
              transferAuthority: string;
          };
          stakedLpTokenMint: string;
          stakedLpTokenSymbol: string;
          stakedLpVault: string;
          tokenMint: string;
          tokenVault: string;
          tokenVaultTokenAccount: string;
          tokens: {
              decimals: number;
              isStable: boolean;
              isToken2022: boolean;
              isVirtual: boolean;
              lazerId: number;
              mintKey: string;
              pythPriceId: string;
              pythTicker: string;
              symbol: string;
              tokenPrecision: number;
              usdPrecision: number;
          }[];
          transferAuthority: string;
      } | {
          addressLookupTableAddresses: string[];
          backupOracle: string;
          cluster: string;
          compoundingLpTokenSymbol: string;
          compoundingLpVault: string;
          compoundingTokenMint: string;
          custodies: {
              custodyAccount: string;
              custodyId: number;
              decimals: number;
              extOracleAddress: string;
              intOracleAddress: string;
              isStable: boolean;
              isVirtual: boolean;
              lazerId: number;
              mintKey: string;
              pythPriceId: string;
              pythTicker: string;
              symbol: string;
              tokenAccount: string;
              tokenPrecision: number;
              usdPrecision: number;
          }[];
          fbNftRewardProgramId: string;
          lpDecimals: number;
          markets: {
              collateralCustody: string;
              collateralCustodyId: number;
              collateralMint: string;
              degenMaxLev: number;
              degenMinLev: number;
              marketAccount: string;
              marketCorrelation: boolean;
              marketId: number;
              maxLev: number;
              pool: string;
              side: string;
              targetCustody: string;
              targetCustodyId: number;
              targetMint: string;
          }[];
          marketsDeprecated: {
              collateralCustody: string;
              collateralCustodyId: number;
              collateralMint: string;
              degenMaxLev: number;
              degenMinLev: number;
              marketAccount: string;
              marketCorrelation: boolean;
              marketId: number;
              maxLev: number;
              pool: string;
              side: string;
              targetCustody: string;
              targetCustodyId: number;
              targetMint: string;
          }[];
          metadataAccount: string;
          multisig: string;
          nftCollectionAddress: string;
          perpComposibilityProgramId: string;
          perpetuals: string;
          poolAddress: string;
          poolName: string;
          programId: string;
          protocolTokenAccount: string;
          protocolVault: string;
          pusherAddressLookupTableAddress: string;
          rebateTokenAccount: string;
          rebateVault: string;
          revenueTokenAccount: string;
          rewardDistributionProgram: {
              programId: string;
              rewardMint: string;
              rewardTokenAccount: string;
              rewardVault: string;
              transferAuthority: string;
          };
          stakedLpTokenMint: string;
          stakedLpTokenSymbol: string;
          stakedLpVault: string;
          tokenMint: string;
          tokenVault: string;
          tokenVaultTokenAccount: string;
          tokens: {
              decimals: number;
              isStable: boolean;
              isToken2022: boolean;
              isVirtual: boolean;
              lazerId: number;
              mintKey: string;
              pythPriceId: string;
              pythTicker: string;
              symbol: string;
              tokenPrecision: number;
              usdPrecision: number;
          }[];
          transferAuthority: string;
      }

    Returns PoolConfig