UNPKG

raydium-sdk-v2-custody

Version:

An SDK for building applications on top of Raydium.

182 lines (179 loc) 11.9 kB
import { PublicKey, TransactionInstruction, Connection } from '@solana/web3.js'; import BN__default from 'bn.js'; import { bI as ReturnTypeMakeInstructions, i as ApiV3Token, o as ApiV3PoolInfoConcentratedItem, B as ClmmKeys } from '../../api-03875713.js'; import { B as ClosePositionExtInfo, M as ManipulateLiquidityExtInfo } from '../../type-7ca7f53c.js'; import { ClmmPositionLayout } from './layout.js'; import 'axios'; import '../../solana/type.js'; import '@solana/spl-token'; import '../../api/url.js'; import '../../common/owner.js'; import '../../common/txTool/lookupTable.js'; import '../../common/txTool/txType.js'; import 'decimal.js'; import '../../module/token.js'; import '../../common/pubKey.js'; import '../../common/logger.js'; import '../../module/currency.js'; import '../../marshmallow/index.js'; import '../../marshmallow/buffer-layout.js'; interface InitializeUserInstruction { connection: Connection; programId: PublicKey; payer: PublicKey; authority: PublicKey; } declare class CustodyInstrument { static initializeUserInstruction(programId: PublicKey, payer: PublicKey, authority: PublicKey, userState: PublicKey): TransactionInstruction; static initializeUserInstructions(props: InitializeUserInstruction): ReturnTypeMakeInstructions<{ userState: PublicKey; }>; static depositInstruction(programId: PublicKey, payer: PublicKey, userState: PublicKey, userTokenAccount: PublicKey, userTokenCustody: PublicKey, mint: PublicKey, amount: BN__default): TransactionInstruction; static depositInstructions({ programId, ownerInfo, mint, amount, }: { programId: PublicKey; ownerInfo: { wallet: PublicKey; tokenAccount: PublicKey; }; mint: ApiV3Token; amount: BN__default; }): Promise<ReturnTypeMakeInstructions>; static withdrawInstruction(programId: PublicKey, payer: PublicKey, userState: PublicKey, userTokenAccount: PublicKey, userTokenCustody: PublicKey, mint: PublicKey, amount: BN__default): TransactionInstruction; static withdrawInstructions({ programId, ownerInfo, mint, amount, }: { programId: PublicKey; ownerInfo: { wallet: PublicKey; tokenAccount: PublicKey; }; mint: ApiV3Token; amount: BN__default; }): Promise<ReturnTypeMakeInstructions>; static openPositionFromLiquidityInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftMint: PublicKey, positionNftAccount: PublicKey, poolId: PublicKey, protocolPosition: PublicKey, tickArrayLower: PublicKey, tickArrayUpper: PublicKey, personalPosition: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, tokenCustodyA: PublicKey, tokenCustodyB: PublicKey, tokenVaultA: PublicKey, tokenVaultB: PublicKey, tokenMintA: PublicKey, tokenMintB: PublicKey, tickLowerIndex: number, tickUpperIndex: number, tickArrayLowerStartIndex: number, tickArrayUpperStartIndex: number, liquidity: BN__default, amountMaxA: BN__default, amountMaxB: BN__default, withMetadata: "create" | "no-create", exTickArrayBitmap?: PublicKey): TransactionInstruction; static openPositionFromLiquidityInstructions({ custodyProgramId, poolInfo, poolKeys, ownerInfo, tickLower, tickUpper, liquidity, amountMaxA, amountMaxB, withMetadata, getEphemeralSigners, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; tokenAccountA: PublicKey; tokenAccountB: PublicKey; }; tickLower: number; tickUpper: number; liquidity: BN__default; amountMaxA: BN__default; amountMaxB: BN__default; withMetadata: "create" | "no-create"; getEphemeralSigners?: (k: number) => any; }): Promise<ReturnTypeMakeInstructions>; static openPositionFromBaseInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftMint: PublicKey, positionNftAccount: PublicKey, poolId: PublicKey, protocolPosition: PublicKey, tickArrayLower: PublicKey, tickArrayUpper: PublicKey, personalPosition: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, tokenCustodyA: PublicKey, tokenCustodyB: PublicKey, tokenVaultA: PublicKey, tokenVaultB: PublicKey, tokenMintA: PublicKey, tokenMintB: PublicKey, tickLowerIndex: number, tickUpperIndex: number, tickArrayLowerStartIndex: number, tickArrayUpperStartIndex: number, withMetadata: "create" | "no-create", base: "MintA" | "MintB", baseAmount: BN__default, otherAmountMax: BN__default, exTickArrayBitmap?: PublicKey): TransactionInstruction; static openPositionFromBaseInstructions({ custodyProgramId, poolInfo, poolKeys, ownerInfo, tickLower, tickUpper, base, baseAmount, otherAmountMax, withMetadata, getEphemeralSigners, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; tokenAccountA: PublicKey; tokenAccountB: PublicKey; }; tickLower: number; tickUpper: number; base: "MintA" | "MintB"; baseAmount: BN__default; otherAmountMax: BN__default; withMetadata: "create" | "no-create"; getEphemeralSigners?: (k: number) => any; }): Promise<ReturnTypeMakeInstructions>; static closePositionInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftMint: PublicKey, positionNftAccount: PublicKey, personalPosition: PublicKey): TransactionInstruction; static closePositionInstructions({ custodyProgramId, poolInfo, poolKeys, ownerInfo, ownerPosition, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; }; ownerPosition: ClmmPositionLayout; }): ReturnTypeMakeInstructions<ClosePositionExtInfo["address"]>; static increasePositionFromLiquidityInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftAccount: PublicKey, personalPosition: PublicKey, poolId: PublicKey, protocolPosition: PublicKey, tickArrayLower: PublicKey, tickArrayUpper: PublicKey, tokenCustodyA: PublicKey, tokenCustodyB: PublicKey, tokenVaultA: PublicKey, tokenVaultB: PublicKey, tokenMintA: PublicKey, tokenMintB: PublicKey, liquidity: BN__default, amountMaxA: BN__default, amountMaxB: BN__default, exTickArrayBitmap?: PublicKey): TransactionInstruction; static increasePositionFromLiquidityInstructions({ custodyProgramId, poolInfo, poolKeys, ownerPosition, ownerInfo, liquidity, amountMaxA, amountMaxB, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerPosition: ClmmPositionLayout; ownerInfo: { wallet: PublicKey; feePayer: PublicKey; }; liquidity: BN__default; amountMaxA: BN__default; amountMaxB: BN__default; }): ReturnTypeMakeInstructions<ManipulateLiquidityExtInfo["address"]>; static increasePositionFromBaseInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftAccount: PublicKey, personalPosition: PublicKey, poolId: PublicKey, protocolPosition: PublicKey, tickArrayLower: PublicKey, tickArrayUpper: PublicKey, tokenCustodyA: PublicKey, tokenCustodyB: PublicKey, tokenVaultA: PublicKey, tokenVaultB: PublicKey, tokenMintA: PublicKey, tokenMintB: PublicKey, base: "MintA" | "MintB", baseAmount: BN__default, otherAmountMax: BN__default, exTickArrayBitmap?: PublicKey): TransactionInstruction; static increasePositionFromBaseInstructions({ custodyProgramId, poolInfo, poolKeys, ownerPosition, ownerInfo, base, baseAmount, otherAmountMax, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerPosition: ClmmPositionLayout; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; }; base: "MintA" | "MintB"; baseAmount: BN__default; otherAmountMax: BN__default; }): ReturnTypeMakeInstructions<ManipulateLiquidityExtInfo["address"]>; static decreaseLiquidityInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, userState: PublicKey, positionNftAccount: PublicKey, personalPosition: PublicKey, poolId: PublicKey, protocolPosition: PublicKey, tickArrayLower: PublicKey, tickArrayUpper: PublicKey, tokenCustodyA: PublicKey, tokenCustodyB: PublicKey, tokenVaultA: PublicKey, tokenVaultB: PublicKey, tokenMintA: PublicKey, tokenMintB: PublicKey, rewardAccounts: { poolRewardVault: PublicKey; ownerRewardVault: PublicKey; rewardMint: PublicKey; }[], liquidity: BN__default, amountMinA: BN__default, amountMinB: BN__default, exTickArrayBitmap?: PublicKey): TransactionInstruction; static decreaseLiquidityInstructions({ custodyProgramId, poolInfo, poolKeys, ownerPosition, ownerInfo, liquidity, amountMinA, amountMinB, }: { custodyProgramId: PublicKey; poolInfo: ApiV3PoolInfoConcentratedItem; poolKeys: ClmmKeys; ownerPosition: ClmmPositionLayout; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; rewardAccounts: PublicKey[]; }; liquidity: BN__default; amountMinA: BN__default; amountMinB: BN__default; }): ReturnTypeMakeInstructions<ManipulateLiquidityExtInfo["address"]>; static swapInstruction(custodyProgramId: PublicKey, remoteProgramId: PublicKey, payer: PublicKey, owner: PublicKey, poolId: PublicKey, ammConfigId: PublicKey, inputTokenAccount: PublicKey, outputTokenAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputMint: PublicKey, outputMint: PublicKey, tickArray: PublicKey[], observationId: PublicKey, amount: BN__default, otherAmountThreshold: BN__default, sqrtPriceLimitX64: BN__default, isBaseInput: boolean, exTickArrayBitmap?: PublicKey): TransactionInstruction; static makeSwapBaseInInstructions({ custodyProgramId, poolInfo, poolKeys, observationId, ownerInfo, inputMint, amountIn, amountOutMin, sqrtPriceLimitX64, remainingAccounts, }: { custodyProgramId: PublicKey; poolInfo: Pick<ApiV3PoolInfoConcentratedItem, "id" | "programId" | "mintA" | "mintB" | "config">; poolKeys: ClmmKeys; observationId: PublicKey; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; }; inputMint: PublicKey; amountIn: BN__default; amountOutMin: BN__default; sqrtPriceLimitX64: BN__default; remainingAccounts: PublicKey[]; }): ReturnTypeMakeInstructions; static makeSwapBaseOutInstructions({ custodyProgramId, poolInfo, poolKeys, observationId, ownerInfo, outputMint, amountOut, amountInMax, sqrtPriceLimitX64, remainingAccounts, }: { custodyProgramId: PublicKey; poolInfo: Pick<ApiV3PoolInfoConcentratedItem, "id" | "programId" | "mintA" | "mintB" | "config">; poolKeys: ClmmKeys; observationId: PublicKey; ownerInfo: { feePayer: PublicKey; wallet: PublicKey; }; outputMint: PublicKey; amountOut: BN__default; amountInMax: BN__default; sqrtPriceLimitX64: BN__default; remainingAccounts: PublicKey[]; }): ReturnTypeMakeInstructions; } export { CustodyInstrument };