Class PerpetualsClient

Constructors

Properties

Methods

addCollateral addCompoundingLiquidity addCustody addCustodyToken22 addInternalOracle addLiquidity addLiquidityAndStake addMarket addPool addReferral adjustTokenRatios cancelAllTriggerOrders cancelTriggerOrder cancelUnstakeTokenRequest checkIfPriceStaleOrCustom closeAndSwap closePosition collectRebate collectRevenue collectStakeFees collectTokenReward compoundingFee createWhitelist decreaseSize depositStake depositTokenStake distributeTokenReward editCustody editLimitOrder editTriggerOrder executeLimitOrder executeLimitWithSwap executeTriggerOrder executeTriggerWithSwap findProgramAddress findProgramAddressFromProgramId forceSettleOrder forceSettlePosition getAccountDiscriminator getAddCollateralQuote getAddCompoundingLiquidityAmountAndFeeView getAddLiquidityAmountAndFeeSync getAddLiquidityAmountAndFeeView getAllActivePositions getAllActivePositionsByMarket getAllOrderAccounts getAllPositions getAllPositionsByMarket getApyPercentageUi getAssetsUnderManagement getAssetsUnderManagementUsdContractHelper getAssetsUnderManagementUsdSync getAveragePriceSync getBorrowRateSync getClosePositionQuote getCollateralAmountWithFeeFromLeverageAndSize getCollateralAmountWithSwapSync getCompoundingLPTokenPrice getCompoundingTokenDataView getCumulativeLockFeeSync getCustodyKey getCustodyTokenAccountKey getDecreaseSizeCollateralAndFeeSync getEntryPriceAndFeeSyncV2 getEntryPriceUsdSync getEstimateProfitLossforTpSlEntry getExitFeeSync getExitOraclePriceSync getExitPriceAndFeeSync getFeeDiscount getFeeHelper getFinalCloseAmountUsdSync getIndexPriceAtParticularTime getLeverageAtAmountEntryWithSwapSync getLeverageContractHelper getLeverageSync getLiquidationPriceContractHelper getLiquidationPriceSync getLiquidationPriceView getLiquidationPriceWithOrder getLiquidationStateView getLockFeeAndUnsettledUsdForPosition getLockedUsd getLpTokenPriceView getMarketPk getMaxAddableCollateralSync getMaxProfitPriceSync getMaxWithdrawableAmountSync getMaxWithdrawableAmountSyncInternal getMinAndMaxOraclePriceSync getMinAndMaxPriceSync getNewRatioHelper getOpenPositionQuote getOrLoadAddressLookupTable getOrderAccount getOrderAccountKey getPerpetuals getPnlContractHelper getPnlSync getPool getPoolCompoundingTokenKey getPoolKey getPoolLpTokenKey getPools getPosition getPositionData getPositionKey getPositionMetrics getPositionsMetricsBatch getPriceAfterSlippage getRemoveCollateralQuote getRemoveCompoundingLiquidityAmountAndFeeView getRemoveLiquidityAmountAndFeeSync getRemoveLiquidityAmountAndFeeView getSizeAmountFromLeverageAndCollateral getSizeAmountWithSwapSync getStakedLpTokenPrice getSwapAmountAndFeesSync getTokenStakeAccount getTradeSpread getTriggerPriceFromPnlSync getTriggerPriceFromRoiSync getUserClaimableRevenueAmount getUserOrderAccount getUserOrderAccounts getUserOrderAccountsMultiPool getUserPosition getUserPositions getUserPositionsMultiPool getUserUnstakingStatus increaseSize init initCompounding initRebateVault initRevenueTokenAccount initStake initTokenVault liquidate loadAddressLookupTable log migrateFlp migrateMarketOrder migrateMarketPosition migrateStake moveProtocolFees openPosition placeLimitOrder placeTriggerOrder prettyPrint protocolWithdrawFees refreshOrdersStatus refreshPositionsStatus refreshStakeWithAllFlpStakeAccounts refreshStakeWithTokenStake refreshTokenStake reimburse removeCollateral removeCollateralAndSwap removeCompoundingLiquidity removeCustody removeLiquidity removeMarket removePool renameFlp resizeInternalOracle resizeTokenStake sendTransaction sendTransactionV3 setAdminSigners setCustody setCustodyTokenMultiplier setFeeShareBps setInternalLazerPriceBatch setInternalOracleEmaPriceBatch setInternalOraclePriceBatch setLpTokenPrice setMarket setPermissions setPerpetualsConfig setPoolConfig setPositionPriceImpact setPrioritizationFee setProtocolFeeShareBps setTokenReward setTokenStakeLevel setTokenVaultConfig setWhitelistConfig settleRebates swap swapAndAddCollateral swapAndOpen swapFeeInternal unstakeInstant unstakeRequest unstakeTokenRequest withdrawInstantFee withdrawStake withdrawToken withdrawUnclaimedTokens

Constructors

  • Parameters

    • provider: AnchorProvider
    • programId: PublicKey
    • composabilityProgramId: PublicKey
    • fbNftRewardProgramId: PublicKey
    • rewardDistributionProgramId: PublicKey
    • opts: PerpClientOptions
    • useExtOracleAccount: boolean = false

    Returns PerpetualsClient

Properties

admin: PublicKey
authority: {
    bump: number;
    publicKey: PublicKey;
}

Type declaration

  • bump: number
  • publicKey: PublicKey
eventAuthority: {
    bump: number;
    publicKey: PublicKey;
}

Type declaration

  • bump: number
  • publicKey: PublicKey
minimumBalanceForRentExemptAccountLamports: number
multisig: {
    bump: number;
    publicKey: PublicKey;
}

Type declaration

  • bump: number
  • publicKey: PublicKey
perpetuals: {
    bump: number;
    publicKey: PublicKey;
}

Type declaration

  • bump: number
  • publicKey: PublicKey
poolAddressLookupTables: Map<string, AddressLookupTableAccount> = ...
poolPusherAddressLookupTables: Map<string, AddressLookupTableAccount> = ...
postSendTxCallback?: ((__namedParameters) => void)

Type declaration

    • (__namedParameters): void
    • Parameters

      • __namedParameters: {
            txid: any;
        }
        • txid: any

      Returns void

prioritizationFee: number
program: Program<Perpetuals>
programId: PublicKey
provider: AnchorProvider
pusherAddressLookupTables: AddressLookupTableAccount
txConfirmationCommitment: Commitment
useExtOracleAccount: boolean
viewHelper: ViewHelper

Methods

  • Parameters

    • collateralWithFee: BN
    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • positionPubKey: PublicKey
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • amountIn: BN
    • minCompoundingAmountOut: BN
    • inTokenSymbol: string
    • rewardTokenMint: PublicKey
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined
    • userPublicKey: PublicKey = undefined
    • enableHeapSizeIx: boolean = true
    • isWhitelistedUser: boolean = false
    • includeRemainingAccounts: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • tokenMint: PublicKey
    • tokenAccountSpace: BN
    • token22: boolean

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • exponent: number
    • lazerFeedId: number
    • tokenMint: PublicKey
    • intOracleAccount: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • payTokenSymbol: string
    • tokenAmountIn: BN
    • minLpAmountOut: BN
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined
    • isWhitelistedUser: boolean = false
    • includeRemainingAccounts: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • inputSymbol: string
    • amountIn: BN
    • minLpAmountOut: BN
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined
    • userPublicKey: PublicKey = undefined
    • isWhitelistedUser: boolean = false
    • includeRemainingAccounts: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • targetCustody: PublicKey
    • collateralCustody: PublicKey
    • side: Side
    • correlation: boolean
    • maxPayoffBps: BN
    • permissions: MarketPermissions

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • name: string
    • oracleAuthority: PublicKey
    • maxAumUsd: BN
    • permissions: Permissions
    • metadataSymbol: string
    • metadataTitle: string
    • metadataUri: string
    • stakingFeeShareBps: BN
    • vpVolumeFactor: number
    • stakingFeeBoostBps: BN[]
    • minLpPriceUsd: BN
    • maxLpPriceUsd: BN
    • thresholdUsd: BN

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • tokenStakeAccount: PublicKey
    • nftReferralAccount: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • orderId: number
    • isStopLoss: boolean
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • withdrawRequestId: number
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetTokenSymbol: string
    • userOutputTokenSymbol: string
    • collateralTokenSymbol: string
    • priceWithSlippage: ContractOraclePrice
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • marketSymbol: string
    • collateralSymbol: string
    • priceWithSlippage: ContractOraclePrice
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default
    • createUserATA: boolean = true
    • closeUsersWSOLATA: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • rebateSymbol: string
    • poolConfig: PoolConfig
    • createUserATA: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • rewardSymbol: string
    • poolConfig: PoolConfig
    • createUserATA: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • rewardSymbol: string
    • poolConfig: PoolConfig
    • Optional tokenStakeAccount: PublicKey
    • createUserATA: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • poolConfig: PoolConfig
    • createUserATA: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolConfig: PoolConfig
    • rewardTokenSymbol: string = 'USDC'

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • isSwapFeeExempt: boolean
    • isDepositFeeExempt: boolean
    • isWithdrawalFeeExempt: boolean
    • poolAddress: PublicKey
    • owner: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • positionPubKey: PublicKey
    • poolConfig: PoolConfig
    • priceWithSlippage: ContractOraclePrice
    • sizeDelta: BN
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • feePayer: PublicKey
    • depositAmount: BN
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • feePayer: PublicKey
    • depositAmount: BN
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • amount: BN
    • epochCount: number
    • rewardSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • receiveSymbol: string
    • side: Side
    • orderId: number
    • triggerPrice: ContractOraclePrice
    • deltaSizeAmount: BN
    • isStopLoss: boolean
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • userPubkey: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • orderId: number
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • userPubkey: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • reserveSymbol: string
    • side: Side
    • orderId: number
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • orderId: number
    • isStopLoss: boolean
    • privilege: Privilege
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • receivingSymbol: string
    • side: Side
    • orderId: number
    • isStopLoss: boolean
    • privilege: Privilege
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • label: string
    • extraSeeds: any = null

    Returns {
        bump: number;
        publicKey: PublicKey;
    }

    • bump: number
    • publicKey: PublicKey
  • Parameters

    • label: string
    • extraSeeds: any = null
    • programId: PublicKey = ...

    Returns {
        bump: number;
        publicKey: PublicKey;
    }

    • bump: number
    • publicKey: PublicKey
  • Parameters

    • market: PublicKey
    • owner: PublicKey
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • market: PublicKey
    • owner: PublicKey
    • receivingAccount: PublicKey
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • depositCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • userPublicKey: PublicKey = undefined
    • enableBackupOracle: boolean = false
    • whitelist: PublicKey = PublicKey.default

    Returns Promise<{
        amount: BN;
        fee: BN;
    }>

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • depositCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • userPublicKey: PublicKey = undefined
    • enableBackupOracle: boolean = false
    • whitelist: PublicKey = undefined

    Returns Promise<{
        amount: BN;
        error?: string;
        fee: BN;
    }>

  • Returns Promise<ProgramAccount<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>[]>

  • Parameters

    • marketKey: PublicKey

    Returns Promise<ProgramAccount<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>[]>

  • Returns Promise<ProgramAccount<{
        activeOrders: number;
        bump: number;
        executionCount: BN;
        inactiveSl: number;
        inactiveTp: number;
        isActive: boolean;
        isInitialised: boolean;
        limitOrders: any[];
        market: PublicKey;
        openSl: number;
        openTp: number;
        owner: PublicKey;
        padding: BN[];
        referenceTimestamp: BN;
        stopLossOrders: any[];
        takeProfitOrders: any[];
    }>[]>

  • Returns Promise<ProgramAccount<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>[]>

  • Parameters

    • marketKey: PublicKey

    Returns Promise<ProgramAccount<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>[]>

  • Parameters

    • rewardCustodyAccount: CustodyAccount
    • previousSnapShotRewardPerLpStaked: BN
    • lpTokenUsdPrice: BN

    Returns string

  • Parameters

    Returns {
        poolAmountUsd: BN;
        poolEquityUsd: BN;
    }

    • poolAmountUsd: BN
    • poolEquityUsd: BN
  • Parameters

    Returns {
        poolAmountUsd: BN;
        poolEquityUsd: BN;
    }

    • poolAmountUsd: BN
    • poolEquityUsd: BN
  • Parameters

    • price1: BN
    • size1: BN
    • price2: BN
    • size2: BN

    Returns BN

  • Parameters

    • positionPk: PublicKey
    • positionAccount: PositionAccount
    • poolConfig: PoolConfig
    • sizeDeltaUsd: BN = ...
    • privilege: Privilege = ...
    • Optional dispensingCustodyConfig: CustodyConfig
    • discountIndex: number = null
    • triggerPrice: {
          exponent: number;
          price: BN;
      } = null
      • exponent: number
      • price: BN
    • userPublicKey: PublicKey = undefined

    Returns Promise<ClosePositionQuoteData>

  • Parameters

    Returns BN

  • Parameters

    • poolKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • includeRemainingAccounts: boolean = true

    Returns Promise<string>

  • Parameters

    • poolName: string
    • tokenMint: PublicKey

    Returns PublicKey

  • Parameters

    • poolName: string
    • tokenMint: PublicKey

    Returns PublicKey

  • Parameters

    Returns {
        pnlPercentage: BN;
        pnlUsd: BN;
    }

    • pnlPercentage: BN
    • pnlUsd: BN
  • Parameters

    Returns {
        exitFeeAmount: BN;
        exitFeeUsd: BN;
    }

    • exitFeeAmount: BN
    • exitFeeUsd: BN
  • Parameters

    • perpetualsAccount: Perpetuals
    • tokenStakeAccount: TokenStake
    • currentTime: BN

    Returns {
        discountBn: BN;
    }

    • discountBn: BN
  • Parameters

    Returns {
        feeAmount: BN;
        feeBps: BN;
    }

    • feeAmount: BN
    • feeBps: BN
  • Parameters

    Returns {
        closeAmountUsd: BN;
        feesAmountUsd: BN;
    }

    • closeAmountUsd: BN
    • feesAmountUsd: BN
  • Parameters

    • poolConfig: PoolConfig
    • targetPricesAtT1Ui: Number[]
    • targetPricesAtT2Ui: Number[]
    • tokenRatiosAtT2BN: BN[]

    Returns string

  • Parameters

    Returns BN

  • Parameters

    • positionAccount: PublicKey
    • poolName: string
    • tokenMint: PublicKey
    • collateralMint: PublicKey
    • poolConfig: PoolConfig

    Returns Promise<any>

  • Parameters

    • sizeUsd: BN
    • collateralUsd: BN
    • side: Side
    • marketCorrelation: boolean
    • maxPayOffBps: BN

    Returns BN

  • Parameters

    • poolConfig: PoolConfig
    • includeRemainingAccounts: boolean = true

    Returns Promise<any>

  • Parameters

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

    Returns PublicKey

  • Parameters

    Returns {
        maxAddableAmount: BN;
        maxAddableAmountUsd: BN;
    }

    • maxAddableAmount: BN
    • maxAddableAmountUsd: BN
  • Parameters

    Returns {
        maxWithdrawableAmount: BN;
        maxWithdrawableAmountUsd: BN;
    }

    • maxWithdrawableAmount: BN
    • maxWithdrawableAmountUsd: BN
  • Parameters

    Returns {
        diffUsd: BN;
        maxWithdrawableAmount: BN;
        maxWithdrawableAmountUsd: BN;
    }

    • diffUsd: BN
    • maxWithdrawableAmount: BN
    • maxWithdrawableAmountUsd: BN
  • Parameters

    • amountIn: BN
    • leverage: BN
    • marketConfig: MarketConfig
    • poolConfig: PoolConfig
    • privilege: Privilege = ...
    • Optional receivingCustodyConfig: CustodyConfig
    • Optional existingPositionPk: PublicKey
    • discountIndex: number = null
    • limitPrice: {
          exponent: number;
          price: BN;
      } = null
      • exponent: number
      • price: BN
    • userPublicKey: PublicKey = undefined
    • takeProfitPrice: {
          exponent: number;
          price: BN;
      } = null
      • exponent: number
      • price: BN
    • stopLossPrice: {
          exponent: number;
          price: BN;
      } = null
      • exponent: number
      • price: BN

    Returns Promise<OpenPositionQuoteData>

  • Parameters

    Returns Promise<{
        addressLookupTables: AddressLookupTableAccount[];
    }>

  • Parameters

    • orderAccountKey: PublicKey

    Returns Promise<{
        activeOrders: number;
        bump: number;
        executionCount: BN;
        inactiveSl: number;
        inactiveTp: number;
        isActive: boolean;
        isInitialised: boolean;
        limitOrders: any[];
        market: PublicKey;
        openSl: number;
        openTp: number;
        owner: PublicKey;
        padding: BN[];
        referenceTimestamp: BN;
        stopLossOrders: any[];
        takeProfitOrders: any[];
    }>

  • Parameters

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

    Returns PublicKey

  • Parameters

    Returns {
        lossUsd: BN;
        priceImpactUsd: BN;
        profitUsd: BN;
    }

    • lossUsd: BN
    • priceImpactUsd: BN
    • profitUsd: BN
  • Parameters

    Returns {
        lossUsd: BN;
        priceImpactUsd: BN;
        profitUsd: BN;
    }

    • lossUsd: BN
    • priceImpactUsd: BN
    • profitUsd: BN
  • Parameters

    • name: string

    Returns Promise<{
        buffer: BN;
        bump: number;
        compoundingLpPrice: BN;
        compoundingLpVault: PublicKey;
        compoundingLpVaultBump: number;
        compoundingMint: PublicKey;
        compoundingMintBump: number;
        compoundingStats: any;
        custodies: PublicKey[];
        equityUsd: BN;
        feesObligationUsd: BN;
        inceptionTime: BN;
        lastUpdatedTimestamp: BN;
        lpMint: PublicKey;
        lpMintBump: number;
        lpPrice: BN;
        markets: PublicKey[];
        maxAumUsd: BN;
        maxLpPriceUsd: BN;
        minLpPriceUsd: BN;
        name: string;
        oracleAuthority: PublicKey;
        padding: number[];
        permissions: any;
        ratios: any[];
        rawAumUsd: BN;
        rebateObligationUsd: BN;
        rewardCustody: PublicKey;
        stakedLpVault: PublicKey;
        stakedLpVaultBump: number;
        stakingFeeBoostBps: BN[];
        stakingFeeShareBps: BN;
        thresholdUsd: BN;
        totalStaked: any;
        uniqueCustodyCount: number;
        vpVolumeFactor: number;
    }>

  • Returns Promise<{
        buffer: BN;
        bump: number;
        compoundingLpPrice: BN;
        compoundingLpVault: PublicKey;
        compoundingLpVaultBump: number;
        compoundingMint: PublicKey;
        compoundingMintBump: number;
        compoundingStats: any;
        custodies: PublicKey[];
        equityUsd: BN;
        feesObligationUsd: BN;
        inceptionTime: BN;
        lastUpdatedTimestamp: BN;
        lpMint: PublicKey;
        lpMintBump: number;
        lpPrice: BN;
        markets: PublicKey[];
        maxAumUsd: BN;
        maxLpPriceUsd: BN;
        minLpPriceUsd: BN;
        name: string;
        oracleAuthority: PublicKey;
        padding: number[];
        permissions: any;
        ratios: any[];
        rawAumUsd: BN;
        rebateObligationUsd: BN;
        rewardCustody: PublicKey;
        stakedLpVault: PublicKey;
        stakedLpVaultBump: number;
        stakingFeeBoostBps: BN[];
        stakingFeeShareBps: BN;
        thresholdUsd: BN;
        totalStaked: any;
        uniqueCustodyCount: number;
        vpVolumeFactor: number;
    }[]>

  • Parameters

    • postionKey: PublicKey

    Returns Promise<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>

  • Parameters

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

    Returns PublicKey

  • Computes all position metrics in a single pass for UI display. This method consolidates 5 separate SDK calls into one, reducing redundant computation:

    • getLockFeeAndUnsettledUsdForPosition()
    • getExitFeeSync()
    • getPnlSync()
    • getLiquidationPriceSync()
    • getLeverageSync()

    Key optimizations:

    • Single entry/exit price computation (reused across PnL and liquidation)
    • No position cloning (pass by reference since we don't modify)
    • Side computed once (used by PnL and liquidation)
    • Shared fee calculations (lockAndUnsettledFeeUsd used by both PnL display and liquidation)

    Parameters

    Returns PositionMetrics

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • removeTokenCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • userPublicKey: PublicKey = undefined
    • enableBackupOracle: boolean = false
    • whitelist: PublicKey = PublicKey.default

    Returns Promise<{
        amount: BN;
        fee: BN;
    }>

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • removeTokenCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • userPublicKey: PublicKey = undefined
    • enableBackupOracle: boolean = false
    • whitelist: PublicKey = PublicKey.default

    Returns Promise<{
        amount: BN;
        error?: string;
        fee: BN;
    }>

  • Parameters

    Returns BN

  • Parameters

    Returns BN

  • Parameters

    • poolKey: PublicKey
    • POOL_CONFIG: PoolConfig
    • includeRemainingAccounts: boolean = true

    Returns Promise<string>

  • Parameters

    Returns {
        feeIn: BN;
        feeOut: BN;
        minAmountIn: BN;
        minAmountOut: BN;
    }

    • feeIn: BN
    • feeOut: BN
    • minAmountIn: BN
    • minAmountOut: BN
  • Parameters

    • POOL_CONFIG: PoolConfig
    • userPublicKey: PublicKey
    • enableDebuglogs: boolean = false

    Returns Promise<BN>

  • Parameters

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

    Returns Promise<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>

  • Parameters

    Returns Promise<{
        activeOrders: number;
        bump: number;
        executionCount: BN;
        inactiveSl: number;
        inactiveTp: number;
        isActive: boolean;
        isInitialised: boolean;
        limitOrders: LimitOrder[];
        market: PublicKey;
        openSl: number;
        openTp: number;
        owner: PublicKey;
        padding: BN[];
        pubkey: PublicKey;
        referenceTimestamp: BN;
        stopLossOrders: TriggerOrder[];
        takeProfitOrders: TriggerOrder[];
    }[]>

  • Parameters

    Returns Promise<{
        activeOrders: number;
        bump: number;
        executionCount: BN;
        inactiveSl: number;
        inactiveTp: number;
        isActive: boolean;
        isInitialised: boolean;
        limitOrders: LimitOrder[];
        market: PublicKey;
        openSl: number;
        openTp: number;
        owner: PublicKey;
        padding: BN[];
        pubkey: PublicKey;
        referenceTimestamp: BN;
        stopLossOrders: TriggerOrder[];
        takeProfitOrders: TriggerOrder[];
    }[]>

  • Parameters

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

    Returns Promise<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: any;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        referencePrice: any;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }>

  • Parameters

    Returns Promise<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: ContractOraclePrice;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        pubkey: PublicKey;
        referencePrice: ContractOraclePrice;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }[]>

  • Parameters

    Returns Promise<{
        buffer: number[];
        bump: number;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        degenSizeUsd: BN;
        delegate: PublicKey;
        entryPrice: ContractOraclePrice;
        isActive: boolean;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        padding: number[];
        priceImpactSet: number;
        priceImpactUsd: BN;
        pubkey: PublicKey;
        referencePrice: ContractOraclePrice;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        unsettledFeesUsd: BN;
        unsettledValueUsd: BN;
        updateTime: BN;
    }[]>

  • Parameters

    Returns Promise<{
        activeStakeAmount: BN;
        requests: {
            lockedAmount: BN;
            requestId: number;
            timeRemaining: BN;
            totalAmount: BN;
            withdrawableAmount: BN;
        }[];
        revenueEligibleAmount: BN;
        totalLocked: BN;
        totalWithdrawable: BN;
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • positionPubKey: PublicKey
    • side: Side
    • poolConfig: PoolConfig
    • priceWithSlippage: ContractOraclePrice
    • sizeDelta: BN
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • feeShareBps: BN
    • metadataTitle: string
    • metadataSymbol: string
    • metadataUri: string
    • rewardSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • allowRebatePayout: boolean
    • rebateSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • feeShareBps: BN
    • rewardSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • stakingFeeShareBps: BN
    • rewardSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • token_permissions: TokenPermissions
    • tokens_to_distribute: BN
    • withdrawTimeLimit: BN
    • withdrawInstantFee: BN
    • stakeLevel: BN[]
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • positionAccount: PublicKey
    • poolConfig: PoolConfig
    • tokenMint: PublicKey
    • collateralMint: PublicKey
    • marketPk: PublicKey

    Returns Promise<TransactionInstruction>

  • Parameters

    • amount: BN
    • rewardTokenMint: PublicKey
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • oldMarket: PublicKey
    • newMarket: PublicKey
    • oldCollateralCustody: PublicKey
    • newCollateralCustody: PublicKey
    • owner: PublicKey = ...

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • oldMarket: PublicKey
    • newMarket: PublicKey
    • oldCollateralCustody: PublicKey
    • newCollateralCustody: PublicKey
    • owner: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • amount: BN
    • rewardTokenMint: PublicKey
    • poolConfig: PoolConfig
    • createUserATA: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • priceWithSlippage: ContractOraclePrice
    • collateralWithfee: BN
    • size: BN
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • receiveSymbol: string
    • side: Side
    • triggerPrice: ContractOraclePrice
    • deltaSizeAmount: BN
    • isStopLoss: boolean
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • orderAccounts: PublicKey[]

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • positionAccounts: PublicKey[]

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • rewardSymbol: string
    • poolConfig: PoolConfig
    • flpStakeAccountPks: PublicKey[]

    Returns Promise<TransactionInstruction>

  • Parameters

    • rewardSymbol: string
    • poolConfig: PoolConfig
    • flpStakeAccountPk: PublicKey
    • userPublicKey: PublicKey = undefined

    Returns Promise<TransactionInstruction>

  • Parameters

    • tokenStakeAccounts: PublicKey[]
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • tokenMint: PublicKey
    • amountIn: BN
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • collateralDeltaUsd: BN
    • marketSymbol: string
    • collateralSymbol: string
    • side: Side
    • positionPubKey: PublicKey
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • closeUsersWSOLATA: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • outputSymbol: string
    • collateralDeltaUsd: BN
    • side: Side
    • poolConfig: PoolConfig
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • compoundingAmountIn: BN
    • minAmountOut: BN
    • outTokenSymbol: string
    • rewardTokenMint: PublicKey
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined
    • userPublicKey: PublicKey = undefined
    • enableHeapSizeIx: boolean = true
    • isWhitelistedUser: boolean = false
    • includeRemainingAccounts: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • recieveTokenSymbol: string
    • liquidityAmountIn: BN
    • minTokenAmountOut: BN
    • poolConfig: PoolConfig
    • closeLpATA: boolean = false
    • createUserATA: boolean = true
    • closeUsersWSOLATA: boolean = false
    • ephemeralSignerPubkey: any = undefined
    • userPublicKey: PublicKey = undefined
    • isWhitelistedUser: boolean = false
    • includeRemainingAccounts: boolean = true

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • market: PublicKey
    • targetMint: PublicKey
    • collateralMint: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • name: string

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • flag: BN
    • lpTokenName: string
    • lpTokenSymbol: string
    • lpTokenUri: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • lazerFeedId: number
    • tokenMint: PublicKey
    • intOracleAccount: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • tokenStakeAccounts: PublicKey[]

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        signature: string;
        versionedTransaction: VersionedTransaction;
    }>

  • Parameters

    • admins: PublicKey[]
    • minSignatures: number

    Returns Promise<void>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • tokenMint: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolConfig: PoolConfig
    • flpStakeAccountPks: PublicKey[]

    Returns Promise<TransactionInstruction>

  • Parameters

    • messageData: Buffer
    • tokenMintList: PublicKey[]
    • pythStorage: PublicKey
    • pythTreasury: PublicKey
    • POOL_CONFIGS: PoolConfig[]

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolName: string
    • targetCustody: PublicKey
    • collateralCustody: PublicKey
    • marketAccount: PublicKey
    • maxPayoffBps: BN
    • permissions: MarketPermissions
    • correlation: boolean

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • allowUngatedTrading: boolean
    • voltageMultiplier: VoltageMultiplier
    • tradingDiscount: BN[]
    • referralRebate: BN[]
    • defaultRebate: BN
    • tradeLimit: number
    • triggerOrderLimit: number
    • rebateLimitUsd: number

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • name: string
    • permissions: Permissions
    • maxAumUsd: BN
    • oracleAuthority: PublicKey
    • stakingFeeShareBps: BN
    • vpVolumeFactor: number
    • stakingFeeBoostBps: BN[]
    • minLpPriceUsd: BN
    • maxLpPriceUsd: BN
    • thresholdUsd: BN

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • positionPubkey: PublicKey
    • priceImpactUsd: BN
    • penaltyAuthority: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<TransactionInstruction>

  • Parameters

    • owner: PublicKey
    • amount: BN
    • epochCount: number
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • stakeLevel: number
    • poolConfig: PoolConfig
    • rebateRate: BN = ...
    • maxRebateUsd: BN = ...

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • token_permissions: TokenPermissions
    • withdrawTimeLimit: BN
    • withdrawInstantFee: BN
    • stakeLevel: BN[]
    • unlockPeriod: BN
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • isSwapFeeExempt: boolean
    • isDepositFeeExempt: boolean
    • isWithdrawalFeeExempt: boolean
    • poolAddress: PublicKey
    • owner: PublicKey

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • rebateSymbol: string
    • rewardSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • userInputTokenSymbol: string
    • userOutputTokenSymbol: string
    • amountIn: BN
    • minAmountOut: BN
    • poolConfig: PoolConfig
    • useFeesPool: boolean = false
    • createUserATA: boolean = true
    • unWrapSol: boolean = false
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined
    • isWhitelistedUser: boolean = false

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetSymbol: string
    • inputSymbol: string
    • collateralSymbol: string
    • amountIn: BN
    • side: Side
    • positionPubKey: PublicKey
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • targetTokenSymbol: string
    • collateralTokenSymbol: string
    • userInputTokenSymbol: string
    • amountIn: BN
    • priceWithSlippage: ContractOraclePrice
    • sizeAmount: BN
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • tokenStakeAccount: PublicKey = PublicKey.default
    • userReferralAccount: PublicKey = PublicKey.default
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • rewardTokenSymbol: string
    • swapTokenSymbol: string
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • rewardSymbol: string
    • unstakeAmount: BN
    • poolConfig: PoolConfig
    • userPublicKey: PublicKey = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • unstakeAmount: BN
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • poolConfig: PoolConfig
    • pendingActivation: boolean = true
    • deactivated: boolean = true
    • createUserLPTA: boolean = true
    • userPublicKey: PublicKey = undefined

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    • owner: PublicKey
    • withdrawRequestId: number
    • poolConfig: PoolConfig

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>

  • Parameters

    Returns Promise<{
        additionalSigners: Signer[];
        instructions: TransactionInstruction[];
    }>