Class PerpetualsClient

Constructors

Properties

Methods

addCollateral addCollateralWithSwap addCompoundingLiquidity addCustody addLiquidity addLiquidityAndStake addPool addReferral adjustTokenRatios cancelTriggerOrder checkIfPriceStaleOrCustom closeAndSwap closePosition closePositionWithSwap collectAndDistributeFee collectNftReward collectReward collectStakeFees compoundingFee createNftTradingAccount decreaseSize depositStake distributeReward editCustody editLimitOrder editTriggerOrder executeLimitOrder executeLimitWithSwap executeTriggerOrder executeTriggerWithSwap findProgramAddress findProgramAddressFromProgramId forceClosePosition getAccountDiscriminator getAddLiquidityAmountAndFee getAddLiquidityAmountAndFeeSync getAllActivePositions getAllActivePositionsByMarket getAllOrderAccounts getAllPositions getAllPositionsByMarket getApyPercentageUi getAssetsUnderManagement getAssetsUnderManagementUsdSync getAveragePriceSync getBorrowRateSync getCollateralAmountWithFeeFromLeverageAndSize getCollateralAmountWithSwapSync getCompoundingLPTokenPrice getCompoundingTokenDataView getCumulativeLockFeeSync getCustodyKey getCustodyTokenAccountKey getDecreaseSizeCollateralAndFeeSync getEntryPriceAndFeeSync getEntryPriceAndFeeSyncV2 getEntryPriceUsdSync getEstimateProfitLossforTpSlEntry getExitFeeSync getExitOraclePriceSync getExitOraclePriceWithoutSpreadSync getExitPriceAndFeeSync getFeeHelper getFinalCloseAmountSync getIndexPriceAtParticularTime getLeverageAtAmountEntryWithSwapSync getLeverageSync getLiquidationPriceSync getLiquidationPriceWithOrder getLiquidationStateView getLockFeeAndUnsettledUsdForPosition getLockedUsd getLpTokenPriceView getMarketPk getMaxProfitPriceSync getMaxWithdrawableAmountSync getMinAndMaxOraclePriceSync getMinAndMaxPriceSync getNewRatioHelper getNftFinalDiscount getOrderAccount getOrderAccountKey getPerpetuals getPnlSync getPool getPoolCompoundingTokenKey getPoolKey getPoolLpTokenKey getPools getPosition getPositionData getPositionKey getPriceAfterSlippage getRemoveLiquidityAmountAndFee getRemoveLiquidityAmountAndFeeSync getSFLPAddLiquidityAmountAndFee getSFLPRemoveLiquidityAmountAndFee getSizeAmountFromLeverageAndCollateral getSizeAmountWithSwapSync getStakedLpTokenPrice getSwapAmountAndFeesSync getTradeSpread getTradingAccount getTriggerPriceFromPnlSync getTriggerPriceFromRoiSync getUserOrderAccount getUserOrderAccounts getUserPosition getUserPositions increaseSize init initCompounding initRewardDistribution initRewardVault initStake levelUp liquidate loadAddressLookupTable log migrateFlp migrateStake migrateTriggerOrder openPosition openPositionWithSwap placeLimitOrder placeTriggerOrder prettyPrint protocolWithdrawFees refreshStake refreshStakeWithAllFlpStakeAccounts reimburse removeCollateral removeCollateralWithSwap removeCompoundingLiquidity removeCustody removeLiquidity removePool renameFlp rewardDistribution sendTransaction sendTransactionV3 setAdminSigners setFeeShareBps setInternalOraclePrice setPermissions setPrioritizationFee setTriggerPrice swap swapAndOpen swapFeeInternal unstakeInstant unstakeRequest updateCounterReward updateNftAccount withdrawStake

Constructors

  • Parameters

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

    Returns PerpetualsClient

Properties

addressLookupTables: AddressLookupTableAccount[] = []
admin: PublicKey
authority: {
    bump: number;
    publicKey: PublicKey;
}

Type declaration

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

Type declaration

  • bump: number
  • publicKey: PublicKey
eventAuthorityRewardDistribution: {
    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
postSendTxCallback?: ((__namedParameters) => void)

Type declaration

    • (__namedParameters): void
    • Parameters

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

      Returns void

prioritizationFee: number
program: Program<Perpetuals>
programFbnftReward: Program<FbnftRewards>
programId: PublicKey
programPerpComposability: Program<PerpComposability>
programRewardDistribution: Program<RewardDistribution>
provider: AnchorProvider
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

    • targetSymbol: string
    • inputSymbol: string
    • collateralSymbol: string
    • amountIn: BN
    • minAmountOut: BN
    • side: Side
    • positionPubKey: PublicKey
    • poolConfigSwap: PoolConfig
    • poolConfigPosition: 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

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

  • Parameters

    • poolName: string
    • tokenMint: PublicKey
    • isStable: boolean
    • isVirtual: boolean
    • oracle: DecodeStruct<{
          fields: [{
              name: "intOracleAccount";
              type: "publicKey";
          }, {
              name: "extOracleAccount";
              type: "publicKey";
          }, {
              name: "oracleType";
              type: {
                  defined: "OracleType";
              };
          }, {
              name: "maxDivergenceBps";
              type: "u64";
          }, {
              name: "maxConfBps";
              type: "u64";
          }, {
              name: "maxPriceAgeSec";
              type: "u32";
          }, {
              name: "maxBackupAgeSec";
              type: "u32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • pricing: DecodeStruct<{
          fields: [{
              name: "tradeSpreadMin";
              type: "u64";
          }, {
              name: "tradeSpreadMax";
              type: "u64";
          }, {
              name: "swapSpread";
              type: "u64";
          }, {
              name: "minInitialLeverage";
              type: "u64";
          }, {
              name: "maxInitialLeverage";
              type: "u64";
          }, {
              name: "maxLeverage";
              type: "u64";
          }, {
              name: "minCollateralUsd";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • permissions: DecodeStruct<{
          fields: [{
              name: "allowSwap";
              type: "bool";
          }, {
              name: "allowAddLiquidity";
              type: "bool";
          }, {
              name: "allowRemoveLiquidity";
              type: "bool";
          }, {
              name: "allowOpenPosition";
              type: "bool";
          }, {
              name: "allowClosePosition";
              type: "bool";
          }, {
              name: "allowCollateralWithdrawal";
              type: "bool";
          }, {
              name: "allowSizeChange";
              type: "bool";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • fees: DecodeStruct<{
          fields: [{
              name: "mode";
              type: {
                  defined: "FeesMode";
              };
          }, {
              name: "swapIn";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "swapOut";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "stableSwapIn";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "stableSwapOut";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "addLiquidity";
              type: {
                  defined: "RatioFees";
              };
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • borrowRate: DecodeStruct<{
          fields: [{
              name: "baseRate";
              type: "u64";
          }, {
              name: "slope1";
              type: "u64";
          }, {
              name: "slope2";
              type: "u64";
          }, {
              name: "optimalUtilization";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • ratios: DecodeStruct<{
          fields: [{
              name: "target";
              type: "u64";
          }, {
              name: "min";
              type: "u64";
          }, {
              name: "max";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>[]
    • depegAdjustment: boolean

    Returns Promise<void>

  • Parameters

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

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

  • Parameters

    • inputSymbol: string
    • amountIn: BN
    • minLpAmountOut: BN
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • name: string
    • maxAumUsd: BN
    • permissions: DecodeStruct<{
          fields: [{
              name: "allowSwap";
              type: "bool";
          }, {
              name: "allowAddLiquidity";
              type: "bool";
          }, {
              name: "allowRemoveLiquidity";
              type: "bool";
          }, {
              name: "allowOpenPosition";
              type: "bool";
          }, {
              name: "allowClosePosition";
              type: "bool";
          }, {
              name: "allowCollateralWithdrawal";
              type: "bool";
          }, {
              name: "allowSizeChange";
              type: "bool";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • metadataSymbol: string
    • metadataTitle: string
    • metadataUri: string
    • stakingFeeShareBps: BN
    • vpVolumeFactor: number

    Returns Promise<void>

  • Parameters

    • nftTradingAccount: PublicKey
    • nftReferralAccount: PublicKey

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

  • Parameters

    • ratios: DecodeStruct<{
          fields: [{
              name: "target";
              type: "u64";
          }, {
              name: "min";
              type: "u64";
          }, {
              name: "max";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>[]

    Returns DecodeStruct<{
        fields: [{
            name: "target";
            type: "u64";
        }, {
            name: "min";
            type: "u64";
        }, {
            name: "max";
            type: "u64";
        }];
        kind: "struct";
    }, DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>[]

  • Parameters

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

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

  • Parameters

    • targetTokenSymbol: string
    • userOutputTokenSymbol: string
    • collateralTokenSymbol: string
    • minSwapAmountOut: BN
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • marketSymbol: string
    • collateralSymbol: string
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default
    • createUserATA: boolean = true
    • closeUsersWSOLATA: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • targetSymbol: string
    • outputSymbol: string
    • collateralSymbol: string
    • minAmountOut: BN
    • priceAfterSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • side: Side
    • swapPoolConfig: PoolConfig
    • positionPoolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

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

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

  • Parameters

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

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

  • Parameters

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

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

  • Parameters

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

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

  • Parameters

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

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

  • Parameters

    • nftMint: PublicKey
    • owner: PublicKey
    • poolConfig: PoolConfig

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • positionPubKey: PublicKey
    • poolConfig: PoolConfig
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • sizeDelta: BN
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: 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

    • rewardAmount: BN
    • rewardSymbol: string
    • poolConfig: PoolConfig

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

  • Parameters

    • poolName: string
    • tokenMint: PublicKey
    • isStable: boolean
    • oracle: DecodeStruct<{
          fields: [{
              name: "intOracleAccount";
              type: "publicKey";
          }, {
              name: "extOracleAccount";
              type: "publicKey";
          }, {
              name: "oracleType";
              type: {
                  defined: "OracleType";
              };
          }, {
              name: "maxDivergenceBps";
              type: "u64";
          }, {
              name: "maxConfBps";
              type: "u64";
          }, {
              name: "maxPriceAgeSec";
              type: "u32";
          }, {
              name: "maxBackupAgeSec";
              type: "u32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • pricing: DecodeStruct<{
          fields: [{
              name: "tradeSpreadMin";
              type: "u64";
          }, {
              name: "tradeSpreadMax";
              type: "u64";
          }, {
              name: "swapSpread";
              type: "u64";
          }, {
              name: "minInitialLeverage";
              type: "u64";
          }, {
              name: "maxInitialLeverage";
              type: "u64";
          }, {
              name: "maxLeverage";
              type: "u64";
          }, {
              name: "minCollateralUsd";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • permissions: DecodeStruct<{
          fields: [{
              name: "allowSwap";
              type: "bool";
          }, {
              name: "allowAddLiquidity";
              type: "bool";
          }, {
              name: "allowRemoveLiquidity";
              type: "bool";
          }, {
              name: "allowOpenPosition";
              type: "bool";
          }, {
              name: "allowClosePosition";
              type: "bool";
          }, {
              name: "allowCollateralWithdrawal";
              type: "bool";
          }, {
              name: "allowSizeChange";
              type: "bool";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • fees: DecodeStruct<{
          fields: [{
              name: "mode";
              type: {
                  defined: "FeesMode";
              };
          }, {
              name: "swapIn";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "swapOut";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "stableSwapIn";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "stableSwapOut";
              type: {
                  defined: "RatioFees";
              };
          }, {
              name: "addLiquidity";
              type: {
                  defined: "RatioFees";
              };
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • borrowRate: DecodeStruct<{
          fields: [{
              name: "baseRate";
              type: "u64";
          }, {
              name: "slope1";
              type: "u64";
          }, {
              name: "slope2";
              type: "u64";
          }, {
              name: "optimalUtilization";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • ratios: DecodeStruct<{
          fields: [{
              name: "target";
              type: "u64";
          }, {
              name: "min";
              type: "u64";
          }, {
              name: "max";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>[]

    Returns Promise<void>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • reserveSymbol: string
    • side: Side
    • orderId: number
    • limitPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • sizeAmount: BN
    • stopLossPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • takeProfitPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • receiveCustodyId: number
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • orderId: number
    • triggerPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • 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
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: 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
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default

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

  • Parameters

    • owner: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • orderId: number
    • isStopLoss: boolean
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • owner: PublicKey
    • targetSymbol: string
    • collateralSymbol: string
    • receivingSymbol: string
    • side: Side
    • orderId: number
    • isStopLoss: boolean
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • ephemeralSignerPubkey: any = undefined

    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

    • positionAccount: PositionAccount
    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • isStopLoss: boolean
    • poolConfig: PoolConfig
    • createUserATA: boolean = true
    • closeUsersWSOLATA: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • depositCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig

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

  • Returns Promise<ProgramAccount<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }], EmptyDefined>>>>>>[]>

  • Parameters

    • marketKey: PublicKey

    Returns Promise<ProgramAccount<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }], EmptyDefined>>>>>>[]>

  • Returns Promise<ProgramAccount<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }], EmptyDefined>>>>>>[]>

  • Returns Promise<ProgramAccount<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }], EmptyDefined>>>>>>[]>

  • Parameters

    • marketKey: PublicKey

    Returns Promise<ProgramAccount<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: ...;
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: ...;
            kind: ...;
        };
    }], EmptyDefined>>>>>>[]>

  • Parameters

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

    Returns string

  • Parameters

    Returns {
        poolAmountUsd: BN;
        poolEquityUsd: BN;
    }

    • poolAmountUsd: BN
    • poolEquityUsd: BN
  • Parameters

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

    Returns BN

  • Parameters

    Returns BN

  • 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

    Returns {
        feeAmount: BN;
        feeBps: BN;
    }

    • feeAmount: BN
    • feeBps: BN
  • Parameters

    Returns {
        closeAmount: BN;
        feesAmount: BN;
    }

    • closeAmount: BN
    • feesAmount: BN
  • Parameters

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

    Returns string

  • Parameters

    Returns BN

  • Parameters

    • sizeUsd: BN
    • collateralAmount: BN
    • collateralMinOraclePrice: OraclePrice
    • collateralTokenDecimals: number
    • pnlUsd: BN

    Returns BN

  • Parameters

    • collateralAmount: BN
    • collateralUsd: BN
    • sizeAmount: BN
    • sizeUsd: BN
    • sizeDecimals: number
    • limitOraclePrice: OraclePrice
    • marketCorrelation: boolean
    • side: Side
    • custodyAccount: CustodyAccount

    Returns OraclePrice

  • Parameters

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

    Returns Promise<any>

  • Parameters

    • sideUsd: BN
    • side: Side
    • marketCorrelation: boolean
    • maxPayOffBps: BN

    Returns BN

  • Parameters

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

    Returns PublicKey

  • Parameters

    • perpetualsAccount: DecodeStruct<{
          fields: [{
              name: "permissions";
              type: {
                  defined: "Permissions";
              };
          }, {
              name: "pools";
              type: {
                  vec: "publicKey";
              };
          }, {
              name: "collections";
              type: {
                  vec: "publicKey";
              };
          }, {
              name: "voltageMultiplier";
              type: {
                  defined: "VoltageMultiplier";
              };
          }, {
              name: "tradingDiscount";
              type: {
                  array: ["u64", 6];
              };
          }, {
              name: "referralRebate";
              type: {
                  array: ["u64", 6];
              };
          }];
          kind: "struct";
      }, RecursiveDepth4<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>>
    • nftTradingAccount: DecodeStruct<{
          fields: [{
              name: "nftMint";
              type: "publicKey";
          }, {
              name: "owner";
              type: "publicKey";
          }, {
              name: "delegate";
              type: "publicKey";
          }, {
              name: "isInitialized";
              type: "bool";
          }, {
              name: "level";
              type: "u8";
          }, {
              name: "bump";
              type: "u8";
          }, {
              name: "voltagePoints";
              type: "u64";
          }];
          kind: "struct";
      }, RecursiveDepth4<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>>
    • currentTime: BN

    Returns {
        discountBn: BN;
    }

    • discountBn: BN
  • Parameters

    • orderAccountKey: PublicKey

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

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

    Returns PublicKey

  • Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

    Returns {
        lossUsd: BN;
        profitUsd: BN;
    }

    • lossUsd: BN
    • profitUsd: BN
  • Parameters

    • name: string

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [(...)];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [(...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>[]>

  • Parameters

    • postionKey: PublicKey

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

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

    Returns PublicKey

  • Parameters

    Returns DecodeStruct<{
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "exponent";
            type: "i32";
        }];
        kind: "struct";
    }, DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • removeTokenCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig

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

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • depositCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig

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

  • Parameters

    • amount: BN
    • poolKey: PublicKey
    • removeTokenCustodyKey: PublicKey
    • POOL_CONFIG: PoolConfig

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

  • Parameters

    Returns BN

  • Parameters

    Returns BN

  • Parameters

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

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

    • tradingAccount: PublicKey

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

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

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

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

  • Parameters

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

    Returns Promise<DecodeStruct<{
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "mint";
            type: "publicKey";
        }, {
            name: "tokenAccount";
            type: "publicKey";
        }, {
            name: "decimals";
            type: "u8";
        }, {
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "distributeRewards";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "pool";
            type: "publicKey";
        }, {
            name: "stakeStats";
            type: {
                defined: "StakeStats";
            };
        }, {
            name: "rewardSnapshot";
            type: "u128";
        }, {
            name: "unclaimedRewards";
            type: "u64";
        }, {
            name: "feeShareBps";
            type: "u64";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "pool";
            type: "publicKey";
        }, {
            name: "targetCustody";
            type: "publicKey";
        }, {
            name: "collateralCustody";
            type: "publicKey";
        }, {
            name: "side";
            type: {
                defined: "Side";
            };
        }, {
            name: "correlation";
            type: "bool";
        }, {
            name: "maxPayoffBps";
            type: "u64";
        }, {
            name: "permissions";
            type: {
                defined: "MarketPermissions";
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "numSigners";
            type: "u8";
        }, {
            name: "numSigned";
            type: "u8";
        }, {
            name: "minSignatures";
            type: "u8";
        }, {
            name: "instructionAccountsLen";
            type: "u8";
        }, {
            name: "instructionDataLen";
            type: "u16";
        }, {
            name: "instructionHash";
            type: "u64";
        }, {
            name: "signers";
            type: {
                array: ["publicKey", 6];
            };
        }, {
            name: "signed";
            type: {
                array: ["u8", 6];
            };
        }, {
            name: "bump";
            type: "u8";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "price";
            type: "u64";
        }, {
            name: "expo";
            type: "i32";
        }, {
            name: "conf";
            type: "u64";
        }, {
            name: "ema";
            type: "u64";
        }, {
            name: "publishTime";
            type: "i64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "limitOrders";
            type: {
                array: [{
                    defined: "LimitOrder";
                }, 5];
            };
        }, {
            name: "takeProfitOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "stopLossOrders";
            type: {
                array: [{
                    defined: "TriggerOrder";
                }, 5];
            };
        }, {
            name: "isInitialised";
            type: "bool";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "pools";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "collections";
            type: {
                vec: "publicKey";
            };
        }, {
            name: "voltageMultiplier";
            type: {
                defined: "VoltageMultiplier";
            };
        }, {
            name: "tradingDiscount";
            type: {
                array: ["u64", 6];
            };
        }, {
            name: "referralRebate";
            type: {
                array: ["u64", 6];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "name";
            type: "string";
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "inceptionTime";
            type: "i64";
        }, {
            name: "lpMint";
            type: "publicKey";
        }, {
            name: "oracleAuthority";
            type: "publicKey";
        }, {
            name: "stakedLpVault";
            type: "publicKey";
        }, {
            name: "rewardCustody";
            type: "publicKey";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "owner";
            type: "publicKey";
        }, {
            name: "market";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "openTime";
            type: "i64";
        }, {
            name: "updateTime";
            type: "i64";
        }, {
            name: "entryPrice";
            type: {
                defined: "OraclePrice";
            };
        }, {
            name: "sizeAmount";
            type: "u64";
        }, {
            name: "sizeUsd";
            type: "u64";
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "isInitialized";
            type: "bool";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "refererTradingAccount";
            type: "publicKey";
        }, {
            name: "refererBoosterAccount";
            type: "publicKey";
        }, {
            name: "padding";
            type: {
                array: ["u64", 4];
            };
        }];
        kind: "struct";
    } | {
        fields: [{
            name: "nftMint";
            type: "publicKey";
        }, {
            name: "owner";
            type: "publicKey";
        }, {
            name: "delegate";
            type: "publicKey";
        }, {
            name: "isInitialized";
            type: "bool";
        }, {
            name: "level";
            type: "u8";
        }, {
            name: "bump";
            type: "u8";
        }, {
            name: "voltagePoints";
            type: "u64";
        }];
        kind: "struct";
    }, RecursiveDepth4<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: "TokenRatios";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: "OracleParams";
                };
            }, {
                name: "pricing";
                type: {
                    defined: "PricingParams";
                };
            }, {
                name: "permissions";
                type: {
                    defined: "Permissions";
                };
            }, {
                name: "fees";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: "BorrowRateParams";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: ...;
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: ...;
                };
            }, {
                name: "pricing";
                type: {
                    defined: ...;
                };
            }, {
                name: "permissions";
                type: {
                    defined: ...;
                };
            }, {
                name: "fees";
                type: {
                    defined: ...;
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: ...;
                };
            }, {
                name: "ratios";
                type: {
                    vec: ...;
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], DecodedHelper<[{
        name: "AddCollateralParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCollectionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "AddCompoundingLiquidityParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddCustodyParams";
        type: {
            fields: [{
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }, {
                name: ...;
                type: ...;
            }];
            kind: "struct";
        };
    }, {
        name: "AddInternalOracleParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }], EmptyDefined>>>>>>

  • Parameters

    Returns Promise<{
        bump: number;
        collateralAmount: BN;
        collateralDecimals: number;
        collateralUsd: BN;
        cumulativeLockFeeSnapshot: BN;
        delegate: PublicKey;
        entryPrice: DecodeStruct<{
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "exponent";
                type: "i32";
            }];
            kind: "struct";
        }, DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: "collateralDelta";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: "amountIn";
                    type: "u64";
                }, {
                    name: "minCompoundingAmountOut";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: "isStable";
                    type: "bool";
                }, {
                    name: "depegAdjustment";
                    type: "bool";
                }, {
                    name: "isVirtual";
                    type: "bool";
                }, {
                    name: "oracle";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "pricing";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "permissions";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "fees";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "borrowRate";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "ratios";
                    type: {
                        vec: ...;
                    };
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [(...)];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [(...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], EmptyDefined>>>>;
        lockedAmount: BN;
        lockedDecimals: number;
        lockedUsd: BN;
        market: PublicKey;
        openTime: BN;
        owner: PublicKey;
        pubkey: PublicKey;
        sizeAmount: BN;
        sizeDecimals: number;
        sizeUsd: BN;
        stopLossPrice: DecodeStruct<{
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "exponent";
                type: "i32";
            }];
            kind: "struct";
        }, DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: "collateralDelta";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: "amountIn";
                    type: "u64";
                }, {
                    name: "minCompoundingAmountOut";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: "isStable";
                    type: "bool";
                }, {
                    name: "depegAdjustment";
                    type: "bool";
                }, {
                    name: "isVirtual";
                    type: "bool";
                }, {
                    name: "oracle";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "pricing";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "permissions";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "fees";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "borrowRate";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "ratios";
                    type: {
                        vec: ...;
                    };
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [(...)];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [(...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], EmptyDefined>>>>;
        takeProfitPrice: DecodeStruct<{
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "exponent";
                type: "i32";
            }];
            kind: "struct";
        }, DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: "collateralDelta";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: "amountIn";
                    type: "u64";
                }, {
                    name: "minCompoundingAmountOut";
                    type: "u64";
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: "isStable";
                    type: "bool";
                }, {
                    name: "depegAdjustment";
                    type: "bool";
                }, {
                    name: "isVirtual";
                    type: "bool";
                }, {
                    name: "oracle";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "pricing";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "permissions";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "fees";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "borrowRate";
                    type: {
                        defined: ...;
                    };
                }, {
                    name: "ratios";
                    type: {
                        vec: ...;
                    };
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [{
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }, {
                    name: ...;
                    type: ...;
                }];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], DecodedHelper<[{
            name: "AddCollateralParams";
            type: {
                fields: [(...)];
                kind: "struct";
            };
        }, {
            name: "AddCollectionParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }, {
            name: "AddCompoundingLiquidityParams";
            type: {
                fields: [(...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddCustodyParams";
            type: {
                fields: [(...), (...), (...), (...), (...), (...), (...), (...), (...)];
                kind: "struct";
            };
        }, {
            name: "AddInternalOracleParams";
            type: {
                fields: [];
                kind: "struct";
            };
        }], EmptyDefined>>>>;
        unsettledAmount: BN;
        unsettledFeesUsd: BN;
        updateTime: BN;
    }[]>

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • positionPubKey: PublicKey
    • side: Side
    • poolConfig: PoolConfig
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • sizeDelta: BN
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: 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

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

  • Parameters

    • nftCount: BN
    • rewardSymbol: string
    • collectionMint: PublicKey
    • poolConfig: PoolConfig

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

  • Parameters

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

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

  • Parameters

    • poolConfig: PoolConfig
    • nftMint: PublicKey
    • authorizationRulesAccount: PublicKey

    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

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

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

  • Parameters

    • owner: PublicKey
    • marketAccount: PublicKey
    • poolConfig: PoolConfig

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • collateralWithfee: BN
    • size: BN
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • inputSymbol: string
    • amountIn: BN
    • minAmountOut: BN
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • size: BN
    • side: Side
    • swapPoolConfig: PoolConfig
    • positionPoolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: PublicKey = PublicKey.default
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • reserveSymbol: string
    • side: Side
    • limitPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • reserveAmount: BN
    • sizeAmount: BN
    • stopLossPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • takeProfitPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • receiveCustodyId: number
    • poolConfig: PoolConfig
    • skipBalanceChecks: boolean = false
    • ephemeralSignerPubkey: any = undefined

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • triggerPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • deltaSizeAmount: BN
    • isStopLoss: boolean
    • receiveCustodyId: number
    • poolConfig: PoolConfig

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

  • Parameters

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

  • Parameters

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

    Returns Promise<TransactionInstruction>

  • Parameters

    Returns Promise<TransactionInstruction[]>

  • Parameters

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

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

  • Parameters

    • collateralWithFee: 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
    • minAmountOut: BN
    • collateralDelta: BN
    • side: Side
    • poolConfigSwap: PoolConfig
    • poolConfigPosition: 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

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

  • Parameters

    • poolName: string
    • tokenMint: PublicKey
    • ratios: DecodeStruct<{
          fields: [{
              name: "target";
              type: "u64";
          }, {
              name: "min";
              type: "u64";
          }, {
              name: "max";
              type: "u64";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>[]

    Returns Promise<void>

  • Parameters

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

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

  • Parameters

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

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

  • Parameters

    • counter: BN
    • owner: PublicKey
    • rewardAmount: BN
    • rewardSymbol: string
    • poolConfig: PoolConfig

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

  • Parameters

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

  • Parameters

    • admins: PublicKey[]
    • minSignatures: number

    Returns Promise<void>

  • Parameters

    • poolConfig: PoolConfig
    • flpStakeAccountPks: PublicKey[]

    Returns Promise<TransactionInstruction>

  • Parameters

    • tokenMint: PublicKey
    • price: BN
    • expo: number
    • conf: BN
    • ema: BN
    • publishTime: BN
    • poolConfig: PoolConfig

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

  • Parameters

    • permissions: DecodeStruct<{
          fields: [{
              name: "allowSwap";
              type: "bool";
          }, {
              name: "allowAddLiquidity";
              type: "bool";
          }, {
              name: "allowRemoveLiquidity";
              type: "bool";
          }, {
              name: "allowOpenPosition";
              type: "bool";
          }, {
              name: "allowClosePosition";
              type: "bool";
          }, {
              name: "allowCollateralWithdrawal";
              type: "bool";
          }, {
              name: "allowSizeChange";
              type: "bool";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>

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

  • Parameters

    • targetSymbol: string
    • collateralSymbol: string
    • side: Side
    • triggerPrice: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • isStopLoss: boolean
    • 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

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

  • Parameters

    • targetTokenSymbol: string
    • collateralTokenSymbol: string
    • userInputTokenSymbol: string
    • amountIn: BN
    • minCollateralAmountOut: BN
    • priceWithSlippage: DecodeStruct<{
          fields: [{
              name: "price";
              type: "u64";
          }, {
              name: "exponent";
              type: "i32";
          }];
          kind: "struct";
      }, DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>
    • sizeAmount: BN
    • side: Side
    • poolConfig: PoolConfig
    • privilege: Privilege
    • nftTradingAccount: PublicKey = PublicKey.default
    • nftReferralAccount: PublicKey = PublicKey.default
    • nftRebateTokenAccount: 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

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

  • Parameters

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

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

  • Parameters

    • nftMint: PublicKey
    • updateReferer: boolean
    • updateBooster: boolean
    • flpStakeAccounts: PublicKey[]

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

  • Parameters

    • poolConfig: PoolConfig
    • pendingActivation: boolean = true
    • deactivated: boolean = true
    • createUserLPTA: boolean = true

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