@crypticdot/defituna-client 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +46 -32
- package/dist/index.d.ts +46 -32
- package/dist/index.js +135 -27
- package/dist/index.mjs +135 -27
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -554,13 +554,11 @@ type TunaSpotPosition = {
|
|
|
554
554
|
collateralToken: PoolToken;
|
|
555
555
|
/** Position options */
|
|
556
556
|
flags: number;
|
|
557
|
-
/** Position state: normal, liquidated, closed by limit order */
|
|
558
|
-
state: TunaPositionState;
|
|
559
557
|
/** The total amount of the position in token A (long) or B (short). */
|
|
560
558
|
amount: bigint;
|
|
561
|
-
/** The amount of shares borrowed by user from vault B (long) or A (short). */
|
|
559
|
+
/** The amount of shares borrowed by the user from vault B (long) or A (short). */
|
|
562
560
|
loanShares: bigint;
|
|
563
|
-
/** The amount of funds borrowed by user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
561
|
+
/** The amount of funds borrowed by the user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
564
562
|
loanFunds: bigint;
|
|
565
563
|
/** Position entry sqrt price. */
|
|
566
564
|
entrySqrtPrice: bigint;
|
|
@@ -592,13 +590,11 @@ type TunaSpotPositionArgs = {
|
|
|
592
590
|
collateralToken: PoolTokenArgs;
|
|
593
591
|
/** Position options */
|
|
594
592
|
flags: number;
|
|
595
|
-
/** Position state: normal, liquidated, closed by limit order */
|
|
596
|
-
state: TunaPositionStateArgs;
|
|
597
593
|
/** The total amount of the position in token A (long) or B (short). */
|
|
598
594
|
amount: number | bigint;
|
|
599
|
-
/** The amount of shares borrowed by user from vault B (long) or A (short). */
|
|
595
|
+
/** The amount of shares borrowed by the user from vault B (long) or A (short). */
|
|
600
596
|
loanShares: number | bigint;
|
|
601
|
-
/** The amount of funds borrowed by user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
597
|
+
/** The amount of funds borrowed by the user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
602
598
|
loanFunds: number | bigint;
|
|
603
599
|
/** Position entry sqrt price. */
|
|
604
600
|
entrySqrtPrice: number | bigint;
|
|
@@ -3833,7 +3829,7 @@ declare function parseLiquidateTunaLpPositionOrcaInstruction<TProgram extends st
|
|
|
3833
3829
|
|
|
3834
3830
|
declare const LIQUIDATE_TUNA_SPOT_POSITION_FUSION_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
3835
3831
|
declare function getLiquidateTunaSpotPositionFusionDiscriminatorBytes(): ReadonlyUint8Array;
|
|
3836
|
-
type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountFusionammProgram extends string | IAccountMeta<string> = string, TAccountFusionPool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3832
|
+
type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountTunaPositionOwner extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountFusionammProgram extends string | IAccountMeta<string> = string, TAccountFusionPool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3837
3833
|
TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<TAccountAuthority> : TAccountAuthority,
|
|
3838
3834
|
TAccountTunaConfig extends string ? ReadonlyAccount<TAccountTunaConfig> : TAccountTunaConfig,
|
|
3839
3835
|
TAccountMintA extends string ? ReadonlyAccount<TAccountMintA> : TAccountMintA,
|
|
@@ -3850,6 +3846,9 @@ type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof
|
|
|
3850
3846
|
TAccountTunaPositionAtaB extends string ? WritableAccount<TAccountTunaPositionAtaB> : TAccountTunaPositionAtaB,
|
|
3851
3847
|
TAccountFeeRecipientAtaA extends string ? WritableAccount<TAccountFeeRecipientAtaA> : TAccountFeeRecipientAtaA,
|
|
3852
3848
|
TAccountFeeRecipientAtaB extends string ? WritableAccount<TAccountFeeRecipientAtaB> : TAccountFeeRecipientAtaB,
|
|
3849
|
+
TAccountTunaPositionOwner extends string ? WritableAccount<TAccountTunaPositionOwner> : TAccountTunaPositionOwner,
|
|
3850
|
+
TAccountTunaPositionOwnerAtaA extends string ? WritableAccount<TAccountTunaPositionOwnerAtaA> : TAccountTunaPositionOwnerAtaA,
|
|
3851
|
+
TAccountTunaPositionOwnerAtaB extends string ? WritableAccount<TAccountTunaPositionOwnerAtaB> : TAccountTunaPositionOwnerAtaB,
|
|
3853
3852
|
TAccountPythOraclePriceFeedA extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedA> : TAccountPythOraclePriceFeedA,
|
|
3854
3853
|
TAccountPythOraclePriceFeedB extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedB> : TAccountPythOraclePriceFeedB,
|
|
3855
3854
|
TAccountFusionammProgram extends string ? ReadonlyAccount<TAccountFusionammProgram> : TAccountFusionammProgram,
|
|
@@ -3870,7 +3869,7 @@ type LiquidateTunaSpotPositionFusionInstructionDataArgs = {
|
|
|
3870
3869
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataEncoder(): Encoder<LiquidateTunaSpotPositionFusionInstructionDataArgs>;
|
|
3871
3870
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataDecoder(): Decoder<LiquidateTunaSpotPositionFusionInstructionData>;
|
|
3872
3871
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataCodec(): Codec<LiquidateTunaSpotPositionFusionInstructionDataArgs, LiquidateTunaSpotPositionFusionInstructionData>;
|
|
3873
|
-
type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountFusionammProgram extends string = string, TAccountFusionPool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
3872
|
+
type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountTunaPositionOwner extends string = string, TAccountTunaPositionOwnerAtaA extends string = string, TAccountTunaPositionOwnerAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountFusionammProgram extends string = string, TAccountFusionPool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
3874
3873
|
/**
|
|
3875
3874
|
*
|
|
3876
3875
|
* TUNA accounts
|
|
@@ -3892,6 +3891,9 @@ type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = str
|
|
|
3892
3891
|
tunaPositionAtaB: Address<TAccountTunaPositionAtaB>;
|
|
3893
3892
|
feeRecipientAtaA: Address<TAccountFeeRecipientAtaA>;
|
|
3894
3893
|
feeRecipientAtaB: Address<TAccountFeeRecipientAtaB>;
|
|
3894
|
+
tunaPositionOwner: Address<TAccountTunaPositionOwner>;
|
|
3895
|
+
tunaPositionOwnerAtaA?: Address<TAccountTunaPositionOwnerAtaA>;
|
|
3896
|
+
tunaPositionOwnerAtaB?: Address<TAccountTunaPositionOwnerAtaB>;
|
|
3895
3897
|
pythOraclePriceFeedA: Address<TAccountPythOraclePriceFeedA>;
|
|
3896
3898
|
pythOraclePriceFeedB: Address<TAccountPythOraclePriceFeedB>;
|
|
3897
3899
|
/**
|
|
@@ -3911,9 +3913,9 @@ type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = str
|
|
|
3911
3913
|
withdrawPercent: LiquidateTunaSpotPositionFusionInstructionDataArgs['withdrawPercent'];
|
|
3912
3914
|
remainingAccountsInfo: LiquidateTunaSpotPositionFusionInstructionDataArgs['remainingAccountsInfo'];
|
|
3913
3915
|
};
|
|
3914
|
-
declare function getLiquidateTunaSpotPositionFusionInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountFusionammProgram extends string, TAccountFusionPool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionFusionInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
3916
|
+
declare function getLiquidateTunaSpotPositionFusionInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountTunaPositionOwner extends string, TAccountTunaPositionOwnerAtaA extends string, TAccountTunaPositionOwnerAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountFusionammProgram extends string, TAccountFusionPool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionFusionInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
3915
3917
|
programAddress?: TProgramAddress;
|
|
3916
|
-
}): LiquidateTunaSpotPositionFusionInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
3918
|
+
}): LiquidateTunaSpotPositionFusionInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
3917
3919
|
type ParsedLiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
3918
3920
|
programAddress: Address<TProgram>;
|
|
3919
3921
|
accounts: {
|
|
@@ -3938,22 +3940,25 @@ type ParsedLiquidateTunaSpotPositionFusionInstruction<TProgram extends string =
|
|
|
3938
3940
|
tunaPositionAtaB: TAccountMetas[13];
|
|
3939
3941
|
feeRecipientAtaA: TAccountMetas[14];
|
|
3940
3942
|
feeRecipientAtaB: TAccountMetas[15];
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
+
tunaPositionOwner: TAccountMetas[16];
|
|
3944
|
+
tunaPositionOwnerAtaA?: TAccountMetas[17] | undefined;
|
|
3945
|
+
tunaPositionOwnerAtaB?: TAccountMetas[18] | undefined;
|
|
3946
|
+
pythOraclePriceFeedA: TAccountMetas[19];
|
|
3947
|
+
pythOraclePriceFeedB: TAccountMetas[20];
|
|
3943
3948
|
/**
|
|
3944
3949
|
*
|
|
3945
3950
|
* Fusion accounts
|
|
3946
3951
|
*
|
|
3947
3952
|
*/
|
|
3948
|
-
fusionammProgram: TAccountMetas[
|
|
3949
|
-
fusionPool: TAccountMetas[
|
|
3950
|
-
memoProgram: TAccountMetas[
|
|
3953
|
+
fusionammProgram: TAccountMetas[21];
|
|
3954
|
+
fusionPool: TAccountMetas[22];
|
|
3955
|
+
memoProgram: TAccountMetas[23];
|
|
3951
3956
|
/**
|
|
3952
3957
|
*
|
|
3953
3958
|
* Other accounts
|
|
3954
3959
|
*
|
|
3955
3960
|
*/
|
|
3956
|
-
systemProgram: TAccountMetas[
|
|
3961
|
+
systemProgram: TAccountMetas[24];
|
|
3957
3962
|
};
|
|
3958
3963
|
data: LiquidateTunaSpotPositionFusionInstructionData;
|
|
3959
3964
|
};
|
|
@@ -3969,7 +3974,7 @@ declare function parseLiquidateTunaSpotPositionFusionInstruction<TProgram extend
|
|
|
3969
3974
|
|
|
3970
3975
|
declare const LIQUIDATE_TUNA_SPOT_POSITION_ORCA_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
3971
3976
|
declare function getLiquidateTunaSpotPositionOrcaDiscriminatorBytes(): ReadonlyUint8Array;
|
|
3972
|
-
type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountWhirlpoolProgram extends string | IAccountMeta<string> = string, TAccountWhirlpool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3977
|
+
type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountTunaPositionOwner extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountWhirlpoolProgram extends string | IAccountMeta<string> = string, TAccountWhirlpool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3973
3978
|
TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<TAccountAuthority> : TAccountAuthority,
|
|
3974
3979
|
TAccountTunaConfig extends string ? ReadonlyAccount<TAccountTunaConfig> : TAccountTunaConfig,
|
|
3975
3980
|
TAccountMintA extends string ? ReadonlyAccount<TAccountMintA> : TAccountMintA,
|
|
@@ -3986,6 +3991,9 @@ type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof T
|
|
|
3986
3991
|
TAccountTunaPositionAtaB extends string ? WritableAccount<TAccountTunaPositionAtaB> : TAccountTunaPositionAtaB,
|
|
3987
3992
|
TAccountFeeRecipientAtaA extends string ? WritableAccount<TAccountFeeRecipientAtaA> : TAccountFeeRecipientAtaA,
|
|
3988
3993
|
TAccountFeeRecipientAtaB extends string ? WritableAccount<TAccountFeeRecipientAtaB> : TAccountFeeRecipientAtaB,
|
|
3994
|
+
TAccountTunaPositionOwner extends string ? WritableAccount<TAccountTunaPositionOwner> : TAccountTunaPositionOwner,
|
|
3995
|
+
TAccountTunaPositionOwnerAtaA extends string ? WritableAccount<TAccountTunaPositionOwnerAtaA> : TAccountTunaPositionOwnerAtaA,
|
|
3996
|
+
TAccountTunaPositionOwnerAtaB extends string ? WritableAccount<TAccountTunaPositionOwnerAtaB> : TAccountTunaPositionOwnerAtaB,
|
|
3989
3997
|
TAccountPythOraclePriceFeedA extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedA> : TAccountPythOraclePriceFeedA,
|
|
3990
3998
|
TAccountPythOraclePriceFeedB extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedB> : TAccountPythOraclePriceFeedB,
|
|
3991
3999
|
TAccountWhirlpoolProgram extends string ? ReadonlyAccount<TAccountWhirlpoolProgram> : TAccountWhirlpoolProgram,
|
|
@@ -4006,7 +4014,7 @@ type LiquidateTunaSpotPositionOrcaInstructionDataArgs = {
|
|
|
4006
4014
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataEncoder(): Encoder<LiquidateTunaSpotPositionOrcaInstructionDataArgs>;
|
|
4007
4015
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataDecoder(): Decoder<LiquidateTunaSpotPositionOrcaInstructionData>;
|
|
4008
4016
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataCodec(): Codec<LiquidateTunaSpotPositionOrcaInstructionDataArgs, LiquidateTunaSpotPositionOrcaInstructionData>;
|
|
4009
|
-
type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountWhirlpoolProgram extends string = string, TAccountWhirlpool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
4017
|
+
type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountTunaPositionOwner extends string = string, TAccountTunaPositionOwnerAtaA extends string = string, TAccountTunaPositionOwnerAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountWhirlpoolProgram extends string = string, TAccountWhirlpool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
4010
4018
|
/**
|
|
4011
4019
|
*
|
|
4012
4020
|
* TUNA accounts
|
|
@@ -4028,6 +4036,9 @@ type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = strin
|
|
|
4028
4036
|
tunaPositionAtaB: Address<TAccountTunaPositionAtaB>;
|
|
4029
4037
|
feeRecipientAtaA: Address<TAccountFeeRecipientAtaA>;
|
|
4030
4038
|
feeRecipientAtaB: Address<TAccountFeeRecipientAtaB>;
|
|
4039
|
+
tunaPositionOwner: Address<TAccountTunaPositionOwner>;
|
|
4040
|
+
tunaPositionOwnerAtaA?: Address<TAccountTunaPositionOwnerAtaA>;
|
|
4041
|
+
tunaPositionOwnerAtaB?: Address<TAccountTunaPositionOwnerAtaB>;
|
|
4031
4042
|
pythOraclePriceFeedA: Address<TAccountPythOraclePriceFeedA>;
|
|
4032
4043
|
pythOraclePriceFeedB: Address<TAccountPythOraclePriceFeedB>;
|
|
4033
4044
|
/**
|
|
@@ -4047,9 +4058,9 @@ type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = strin
|
|
|
4047
4058
|
withdrawPercent: LiquidateTunaSpotPositionOrcaInstructionDataArgs['withdrawPercent'];
|
|
4048
4059
|
remainingAccountsInfo: LiquidateTunaSpotPositionOrcaInstructionDataArgs['remainingAccountsInfo'];
|
|
4049
4060
|
};
|
|
4050
|
-
declare function getLiquidateTunaSpotPositionOrcaInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountWhirlpoolProgram extends string, TAccountWhirlpool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionOrcaInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
4061
|
+
declare function getLiquidateTunaSpotPositionOrcaInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountTunaPositionOwner extends string, TAccountTunaPositionOwnerAtaA extends string, TAccountTunaPositionOwnerAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountWhirlpoolProgram extends string, TAccountWhirlpool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionOrcaInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
4051
4062
|
programAddress?: TProgramAddress;
|
|
4052
|
-
}): LiquidateTunaSpotPositionOrcaInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
4063
|
+
}): LiquidateTunaSpotPositionOrcaInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
4053
4064
|
type ParsedLiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
4054
4065
|
programAddress: Address<TProgram>;
|
|
4055
4066
|
accounts: {
|
|
@@ -4074,22 +4085,25 @@ type ParsedLiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = ty
|
|
|
4074
4085
|
tunaPositionAtaB: TAccountMetas[13];
|
|
4075
4086
|
feeRecipientAtaA: TAccountMetas[14];
|
|
4076
4087
|
feeRecipientAtaB: TAccountMetas[15];
|
|
4077
|
-
|
|
4078
|
-
|
|
4088
|
+
tunaPositionOwner: TAccountMetas[16];
|
|
4089
|
+
tunaPositionOwnerAtaA?: TAccountMetas[17] | undefined;
|
|
4090
|
+
tunaPositionOwnerAtaB?: TAccountMetas[18] | undefined;
|
|
4091
|
+
pythOraclePriceFeedA: TAccountMetas[19];
|
|
4092
|
+
pythOraclePriceFeedB: TAccountMetas[20];
|
|
4079
4093
|
/**
|
|
4080
4094
|
*
|
|
4081
4095
|
* Orca accounts
|
|
4082
4096
|
*
|
|
4083
4097
|
*/
|
|
4084
|
-
whirlpoolProgram: TAccountMetas[
|
|
4085
|
-
whirlpool: TAccountMetas[
|
|
4086
|
-
memoProgram: TAccountMetas[
|
|
4098
|
+
whirlpoolProgram: TAccountMetas[21];
|
|
4099
|
+
whirlpool: TAccountMetas[22];
|
|
4100
|
+
memoProgram: TAccountMetas[23];
|
|
4087
4101
|
/**
|
|
4088
4102
|
*
|
|
4089
4103
|
* Other accounts
|
|
4090
4104
|
*
|
|
4091
4105
|
*/
|
|
4092
|
-
systemProgram: TAccountMetas[
|
|
4106
|
+
systemProgram: TAccountMetas[24];
|
|
4093
4107
|
};
|
|
4094
4108
|
data: LiquidateTunaSpotPositionOrcaInstructionData;
|
|
4095
4109
|
};
|
|
@@ -6784,11 +6798,11 @@ declare function liquidateTunaLpPositionOrcaInstruction(authority: TransactionSi
|
|
|
6784
6798
|
declare function liquidateTunaLpPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaLpPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6785
6799
|
declare function liquidateTunaLpPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaLpPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6786
6800
|
|
|
6787
|
-
declare function liquidateTunaSpotPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6788
|
-
declare function liquidateTunaSpotPositionFusionInstruction(authority: TransactionSigner,
|
|
6801
|
+
declare function liquidateTunaSpotPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, createTunaPositionOwnerAta: boolean, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6802
|
+
declare function liquidateTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6789
6803
|
|
|
6790
|
-
declare function liquidateTunaSpotPositionOrcaInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6791
|
-
declare function liquidateTunaSpotPositionOrcaInstruction(authority: TransactionSigner,
|
|
6804
|
+
declare function liquidateTunaSpotPositionOrcaInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, createTunaPositionOwnerAta: boolean, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6805
|
+
declare function liquidateTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6792
6806
|
|
|
6793
6807
|
declare function openTunaLpPositionOrcaInstruction(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, positionMint: TransactionSigner, whirlpoolAddress: Address, args: OpenTunaLpPositionOrcaInstructionDataArgs): Promise<IInstruction>;
|
|
6794
6808
|
|
package/dist/index.d.ts
CHANGED
|
@@ -554,13 +554,11 @@ type TunaSpotPosition = {
|
|
|
554
554
|
collateralToken: PoolToken;
|
|
555
555
|
/** Position options */
|
|
556
556
|
flags: number;
|
|
557
|
-
/** Position state: normal, liquidated, closed by limit order */
|
|
558
|
-
state: TunaPositionState;
|
|
559
557
|
/** The total amount of the position in token A (long) or B (short). */
|
|
560
558
|
amount: bigint;
|
|
561
|
-
/** The amount of shares borrowed by user from vault B (long) or A (short). */
|
|
559
|
+
/** The amount of shares borrowed by the user from vault B (long) or A (short). */
|
|
562
560
|
loanShares: bigint;
|
|
563
|
-
/** The amount of funds borrowed by user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
561
|
+
/** The amount of funds borrowed by the user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
564
562
|
loanFunds: bigint;
|
|
565
563
|
/** Position entry sqrt price. */
|
|
566
564
|
entrySqrtPrice: bigint;
|
|
@@ -592,13 +590,11 @@ type TunaSpotPositionArgs = {
|
|
|
592
590
|
collateralToken: PoolTokenArgs;
|
|
593
591
|
/** Position options */
|
|
594
592
|
flags: number;
|
|
595
|
-
/** Position state: normal, liquidated, closed by limit order */
|
|
596
|
-
state: TunaPositionStateArgs;
|
|
597
593
|
/** The total amount of the position in token A (long) or B (short). */
|
|
598
594
|
amount: number | bigint;
|
|
599
|
-
/** The amount of shares borrowed by user from vault B (long) or A (short). */
|
|
595
|
+
/** The amount of shares borrowed by the user from vault B (long) or A (short). */
|
|
600
596
|
loanShares: number | bigint;
|
|
601
|
-
/** The amount of funds borrowed by user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
597
|
+
/** The amount of funds borrowed by the user from vault B (long) or A (short). Doesn't include accrued interest. */
|
|
602
598
|
loanFunds: number | bigint;
|
|
603
599
|
/** Position entry sqrt price. */
|
|
604
600
|
entrySqrtPrice: number | bigint;
|
|
@@ -3833,7 +3829,7 @@ declare function parseLiquidateTunaLpPositionOrcaInstruction<TProgram extends st
|
|
|
3833
3829
|
|
|
3834
3830
|
declare const LIQUIDATE_TUNA_SPOT_POSITION_FUSION_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
3835
3831
|
declare function getLiquidateTunaSpotPositionFusionDiscriminatorBytes(): ReadonlyUint8Array;
|
|
3836
|
-
type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountFusionammProgram extends string | IAccountMeta<string> = string, TAccountFusionPool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3832
|
+
type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountTunaPositionOwner extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountFusionammProgram extends string | IAccountMeta<string> = string, TAccountFusionPool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3837
3833
|
TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<TAccountAuthority> : TAccountAuthority,
|
|
3838
3834
|
TAccountTunaConfig extends string ? ReadonlyAccount<TAccountTunaConfig> : TAccountTunaConfig,
|
|
3839
3835
|
TAccountMintA extends string ? ReadonlyAccount<TAccountMintA> : TAccountMintA,
|
|
@@ -3850,6 +3846,9 @@ type LiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof
|
|
|
3850
3846
|
TAccountTunaPositionAtaB extends string ? WritableAccount<TAccountTunaPositionAtaB> : TAccountTunaPositionAtaB,
|
|
3851
3847
|
TAccountFeeRecipientAtaA extends string ? WritableAccount<TAccountFeeRecipientAtaA> : TAccountFeeRecipientAtaA,
|
|
3852
3848
|
TAccountFeeRecipientAtaB extends string ? WritableAccount<TAccountFeeRecipientAtaB> : TAccountFeeRecipientAtaB,
|
|
3849
|
+
TAccountTunaPositionOwner extends string ? WritableAccount<TAccountTunaPositionOwner> : TAccountTunaPositionOwner,
|
|
3850
|
+
TAccountTunaPositionOwnerAtaA extends string ? WritableAccount<TAccountTunaPositionOwnerAtaA> : TAccountTunaPositionOwnerAtaA,
|
|
3851
|
+
TAccountTunaPositionOwnerAtaB extends string ? WritableAccount<TAccountTunaPositionOwnerAtaB> : TAccountTunaPositionOwnerAtaB,
|
|
3853
3852
|
TAccountPythOraclePriceFeedA extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedA> : TAccountPythOraclePriceFeedA,
|
|
3854
3853
|
TAccountPythOraclePriceFeedB extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedB> : TAccountPythOraclePriceFeedB,
|
|
3855
3854
|
TAccountFusionammProgram extends string ? ReadonlyAccount<TAccountFusionammProgram> : TAccountFusionammProgram,
|
|
@@ -3870,7 +3869,7 @@ type LiquidateTunaSpotPositionFusionInstructionDataArgs = {
|
|
|
3870
3869
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataEncoder(): Encoder<LiquidateTunaSpotPositionFusionInstructionDataArgs>;
|
|
3871
3870
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataDecoder(): Decoder<LiquidateTunaSpotPositionFusionInstructionData>;
|
|
3872
3871
|
declare function getLiquidateTunaSpotPositionFusionInstructionDataCodec(): Codec<LiquidateTunaSpotPositionFusionInstructionDataArgs, LiquidateTunaSpotPositionFusionInstructionData>;
|
|
3873
|
-
type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountFusionammProgram extends string = string, TAccountFusionPool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
3872
|
+
type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountTunaPositionOwner extends string = string, TAccountTunaPositionOwnerAtaA extends string = string, TAccountTunaPositionOwnerAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountFusionammProgram extends string = string, TAccountFusionPool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
3874
3873
|
/**
|
|
3875
3874
|
*
|
|
3876
3875
|
* TUNA accounts
|
|
@@ -3892,6 +3891,9 @@ type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = str
|
|
|
3892
3891
|
tunaPositionAtaB: Address<TAccountTunaPositionAtaB>;
|
|
3893
3892
|
feeRecipientAtaA: Address<TAccountFeeRecipientAtaA>;
|
|
3894
3893
|
feeRecipientAtaB: Address<TAccountFeeRecipientAtaB>;
|
|
3894
|
+
tunaPositionOwner: Address<TAccountTunaPositionOwner>;
|
|
3895
|
+
tunaPositionOwnerAtaA?: Address<TAccountTunaPositionOwnerAtaA>;
|
|
3896
|
+
tunaPositionOwnerAtaB?: Address<TAccountTunaPositionOwnerAtaB>;
|
|
3895
3897
|
pythOraclePriceFeedA: Address<TAccountPythOraclePriceFeedA>;
|
|
3896
3898
|
pythOraclePriceFeedB: Address<TAccountPythOraclePriceFeedB>;
|
|
3897
3899
|
/**
|
|
@@ -3911,9 +3913,9 @@ type LiquidateTunaSpotPositionFusionInput<TAccountAuthority extends string = str
|
|
|
3911
3913
|
withdrawPercent: LiquidateTunaSpotPositionFusionInstructionDataArgs['withdrawPercent'];
|
|
3912
3914
|
remainingAccountsInfo: LiquidateTunaSpotPositionFusionInstructionDataArgs['remainingAccountsInfo'];
|
|
3913
3915
|
};
|
|
3914
|
-
declare function getLiquidateTunaSpotPositionFusionInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountFusionammProgram extends string, TAccountFusionPool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionFusionInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
3916
|
+
declare function getLiquidateTunaSpotPositionFusionInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountTunaPositionOwner extends string, TAccountTunaPositionOwnerAtaA extends string, TAccountTunaPositionOwnerAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountFusionammProgram extends string, TAccountFusionPool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionFusionInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
3915
3917
|
programAddress?: TProgramAddress;
|
|
3916
|
-
}): LiquidateTunaSpotPositionFusionInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
3918
|
+
}): LiquidateTunaSpotPositionFusionInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountFusionammProgram, TAccountFusionPool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
3917
3919
|
type ParsedLiquidateTunaSpotPositionFusionInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
3918
3920
|
programAddress: Address<TProgram>;
|
|
3919
3921
|
accounts: {
|
|
@@ -3938,22 +3940,25 @@ type ParsedLiquidateTunaSpotPositionFusionInstruction<TProgram extends string =
|
|
|
3938
3940
|
tunaPositionAtaB: TAccountMetas[13];
|
|
3939
3941
|
feeRecipientAtaA: TAccountMetas[14];
|
|
3940
3942
|
feeRecipientAtaB: TAccountMetas[15];
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
+
tunaPositionOwner: TAccountMetas[16];
|
|
3944
|
+
tunaPositionOwnerAtaA?: TAccountMetas[17] | undefined;
|
|
3945
|
+
tunaPositionOwnerAtaB?: TAccountMetas[18] | undefined;
|
|
3946
|
+
pythOraclePriceFeedA: TAccountMetas[19];
|
|
3947
|
+
pythOraclePriceFeedB: TAccountMetas[20];
|
|
3943
3948
|
/**
|
|
3944
3949
|
*
|
|
3945
3950
|
* Fusion accounts
|
|
3946
3951
|
*
|
|
3947
3952
|
*/
|
|
3948
|
-
fusionammProgram: TAccountMetas[
|
|
3949
|
-
fusionPool: TAccountMetas[
|
|
3950
|
-
memoProgram: TAccountMetas[
|
|
3953
|
+
fusionammProgram: TAccountMetas[21];
|
|
3954
|
+
fusionPool: TAccountMetas[22];
|
|
3955
|
+
memoProgram: TAccountMetas[23];
|
|
3951
3956
|
/**
|
|
3952
3957
|
*
|
|
3953
3958
|
* Other accounts
|
|
3954
3959
|
*
|
|
3955
3960
|
*/
|
|
3956
|
-
systemProgram: TAccountMetas[
|
|
3961
|
+
systemProgram: TAccountMetas[24];
|
|
3957
3962
|
};
|
|
3958
3963
|
data: LiquidateTunaSpotPositionFusionInstructionData;
|
|
3959
3964
|
};
|
|
@@ -3969,7 +3974,7 @@ declare function parseLiquidateTunaSpotPositionFusionInstruction<TProgram extend
|
|
|
3969
3974
|
|
|
3970
3975
|
declare const LIQUIDATE_TUNA_SPOT_POSITION_ORCA_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
3971
3976
|
declare function getLiquidateTunaSpotPositionOrcaDiscriminatorBytes(): ReadonlyUint8Array;
|
|
3972
|
-
type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountWhirlpoolProgram extends string | IAccountMeta<string> = string, TAccountWhirlpool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3977
|
+
type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountTunaConfig extends string | IAccountMeta<string> = string, TAccountMintA extends string | IAccountMeta<string> = string, TAccountMintB extends string | IAccountMeta<string> = string, TAccountTokenProgramA extends string | IAccountMeta<string> = string, TAccountTokenProgramB extends string | IAccountMeta<string> = string, TAccountMarket extends string | IAccountMeta<string> = string, TAccountVaultA extends string | IAccountMeta<string> = string, TAccountVaultB extends string | IAccountMeta<string> = string, TAccountVaultAAta extends string | IAccountMeta<string> = string, TAccountVaultBAta extends string | IAccountMeta<string> = string, TAccountTunaPosition extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionAtaB extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaA extends string | IAccountMeta<string> = string, TAccountFeeRecipientAtaB extends string | IAccountMeta<string> = string, TAccountTunaPositionOwner extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaA extends string | IAccountMeta<string> = string, TAccountTunaPositionOwnerAtaB extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedA extends string | IAccountMeta<string> = string, TAccountPythOraclePriceFeedB extends string | IAccountMeta<string> = string, TAccountWhirlpoolProgram extends string | IAccountMeta<string> = string, TAccountWhirlpool extends string | IAccountMeta<string> = string, TAccountMemoProgram extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
3973
3978
|
TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<TAccountAuthority> : TAccountAuthority,
|
|
3974
3979
|
TAccountTunaConfig extends string ? ReadonlyAccount<TAccountTunaConfig> : TAccountTunaConfig,
|
|
3975
3980
|
TAccountMintA extends string ? ReadonlyAccount<TAccountMintA> : TAccountMintA,
|
|
@@ -3986,6 +3991,9 @@ type LiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof T
|
|
|
3986
3991
|
TAccountTunaPositionAtaB extends string ? WritableAccount<TAccountTunaPositionAtaB> : TAccountTunaPositionAtaB,
|
|
3987
3992
|
TAccountFeeRecipientAtaA extends string ? WritableAccount<TAccountFeeRecipientAtaA> : TAccountFeeRecipientAtaA,
|
|
3988
3993
|
TAccountFeeRecipientAtaB extends string ? WritableAccount<TAccountFeeRecipientAtaB> : TAccountFeeRecipientAtaB,
|
|
3994
|
+
TAccountTunaPositionOwner extends string ? WritableAccount<TAccountTunaPositionOwner> : TAccountTunaPositionOwner,
|
|
3995
|
+
TAccountTunaPositionOwnerAtaA extends string ? WritableAccount<TAccountTunaPositionOwnerAtaA> : TAccountTunaPositionOwnerAtaA,
|
|
3996
|
+
TAccountTunaPositionOwnerAtaB extends string ? WritableAccount<TAccountTunaPositionOwnerAtaB> : TAccountTunaPositionOwnerAtaB,
|
|
3989
3997
|
TAccountPythOraclePriceFeedA extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedA> : TAccountPythOraclePriceFeedA,
|
|
3990
3998
|
TAccountPythOraclePriceFeedB extends string ? ReadonlyAccount<TAccountPythOraclePriceFeedB> : TAccountPythOraclePriceFeedB,
|
|
3991
3999
|
TAccountWhirlpoolProgram extends string ? ReadonlyAccount<TAccountWhirlpoolProgram> : TAccountWhirlpoolProgram,
|
|
@@ -4006,7 +4014,7 @@ type LiquidateTunaSpotPositionOrcaInstructionDataArgs = {
|
|
|
4006
4014
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataEncoder(): Encoder<LiquidateTunaSpotPositionOrcaInstructionDataArgs>;
|
|
4007
4015
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataDecoder(): Decoder<LiquidateTunaSpotPositionOrcaInstructionData>;
|
|
4008
4016
|
declare function getLiquidateTunaSpotPositionOrcaInstructionDataCodec(): Codec<LiquidateTunaSpotPositionOrcaInstructionDataArgs, LiquidateTunaSpotPositionOrcaInstructionData>;
|
|
4009
|
-
type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountWhirlpoolProgram extends string = string, TAccountWhirlpool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
4017
|
+
type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = string, TAccountTunaConfig extends string = string, TAccountMintA extends string = string, TAccountMintB extends string = string, TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMarket extends string = string, TAccountVaultA extends string = string, TAccountVaultB extends string = string, TAccountVaultAAta extends string = string, TAccountVaultBAta extends string = string, TAccountTunaPosition extends string = string, TAccountTunaPositionAtaA extends string = string, TAccountTunaPositionAtaB extends string = string, TAccountFeeRecipientAtaA extends string = string, TAccountFeeRecipientAtaB extends string = string, TAccountTunaPositionOwner extends string = string, TAccountTunaPositionOwnerAtaA extends string = string, TAccountTunaPositionOwnerAtaB extends string = string, TAccountPythOraclePriceFeedA extends string = string, TAccountPythOraclePriceFeedB extends string = string, TAccountWhirlpoolProgram extends string = string, TAccountWhirlpool extends string = string, TAccountMemoProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
4010
4018
|
/**
|
|
4011
4019
|
*
|
|
4012
4020
|
* TUNA accounts
|
|
@@ -4028,6 +4036,9 @@ type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = strin
|
|
|
4028
4036
|
tunaPositionAtaB: Address<TAccountTunaPositionAtaB>;
|
|
4029
4037
|
feeRecipientAtaA: Address<TAccountFeeRecipientAtaA>;
|
|
4030
4038
|
feeRecipientAtaB: Address<TAccountFeeRecipientAtaB>;
|
|
4039
|
+
tunaPositionOwner: Address<TAccountTunaPositionOwner>;
|
|
4040
|
+
tunaPositionOwnerAtaA?: Address<TAccountTunaPositionOwnerAtaA>;
|
|
4041
|
+
tunaPositionOwnerAtaB?: Address<TAccountTunaPositionOwnerAtaB>;
|
|
4031
4042
|
pythOraclePriceFeedA: Address<TAccountPythOraclePriceFeedA>;
|
|
4032
4043
|
pythOraclePriceFeedB: Address<TAccountPythOraclePriceFeedB>;
|
|
4033
4044
|
/**
|
|
@@ -4047,9 +4058,9 @@ type LiquidateTunaSpotPositionOrcaInput<TAccountAuthority extends string = strin
|
|
|
4047
4058
|
withdrawPercent: LiquidateTunaSpotPositionOrcaInstructionDataArgs['withdrawPercent'];
|
|
4048
4059
|
remainingAccountsInfo: LiquidateTunaSpotPositionOrcaInstructionDataArgs['remainingAccountsInfo'];
|
|
4049
4060
|
};
|
|
4050
|
-
declare function getLiquidateTunaSpotPositionOrcaInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountWhirlpoolProgram extends string, TAccountWhirlpool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionOrcaInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
4061
|
+
declare function getLiquidateTunaSpotPositionOrcaInstruction<TAccountAuthority extends string, TAccountTunaConfig extends string, TAccountMintA extends string, TAccountMintB extends string, TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMarket extends string, TAccountVaultA extends string, TAccountVaultB extends string, TAccountVaultAAta extends string, TAccountVaultBAta extends string, TAccountTunaPosition extends string, TAccountTunaPositionAtaA extends string, TAccountTunaPositionAtaB extends string, TAccountFeeRecipientAtaA extends string, TAccountFeeRecipientAtaB extends string, TAccountTunaPositionOwner extends string, TAccountTunaPositionOwnerAtaA extends string, TAccountTunaPositionOwnerAtaB extends string, TAccountPythOraclePriceFeedA extends string, TAccountPythOraclePriceFeedB extends string, TAccountWhirlpoolProgram extends string, TAccountWhirlpool extends string, TAccountMemoProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof TUNA_PROGRAM_ADDRESS>(input: LiquidateTunaSpotPositionOrcaInput<TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>, config?: {
|
|
4051
4062
|
programAddress?: TProgramAddress;
|
|
4052
|
-
}): LiquidateTunaSpotPositionOrcaInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
4063
|
+
}): LiquidateTunaSpotPositionOrcaInstruction<TProgramAddress, TAccountAuthority, TAccountTunaConfig, TAccountMintA, TAccountMintB, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMarket, TAccountVaultA, TAccountVaultB, TAccountVaultAAta, TAccountVaultBAta, TAccountTunaPosition, TAccountTunaPositionAtaA, TAccountTunaPositionAtaB, TAccountFeeRecipientAtaA, TAccountFeeRecipientAtaB, TAccountTunaPositionOwner, TAccountTunaPositionOwnerAtaA, TAccountTunaPositionOwnerAtaB, TAccountPythOraclePriceFeedA, TAccountPythOraclePriceFeedB, TAccountWhirlpoolProgram, TAccountWhirlpool, TAccountMemoProgram, TAccountSystemProgram>;
|
|
4053
4064
|
type ParsedLiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = typeof TUNA_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
4054
4065
|
programAddress: Address<TProgram>;
|
|
4055
4066
|
accounts: {
|
|
@@ -4074,22 +4085,25 @@ type ParsedLiquidateTunaSpotPositionOrcaInstruction<TProgram extends string = ty
|
|
|
4074
4085
|
tunaPositionAtaB: TAccountMetas[13];
|
|
4075
4086
|
feeRecipientAtaA: TAccountMetas[14];
|
|
4076
4087
|
feeRecipientAtaB: TAccountMetas[15];
|
|
4077
|
-
|
|
4078
|
-
|
|
4088
|
+
tunaPositionOwner: TAccountMetas[16];
|
|
4089
|
+
tunaPositionOwnerAtaA?: TAccountMetas[17] | undefined;
|
|
4090
|
+
tunaPositionOwnerAtaB?: TAccountMetas[18] | undefined;
|
|
4091
|
+
pythOraclePriceFeedA: TAccountMetas[19];
|
|
4092
|
+
pythOraclePriceFeedB: TAccountMetas[20];
|
|
4079
4093
|
/**
|
|
4080
4094
|
*
|
|
4081
4095
|
* Orca accounts
|
|
4082
4096
|
*
|
|
4083
4097
|
*/
|
|
4084
|
-
whirlpoolProgram: TAccountMetas[
|
|
4085
|
-
whirlpool: TAccountMetas[
|
|
4086
|
-
memoProgram: TAccountMetas[
|
|
4098
|
+
whirlpoolProgram: TAccountMetas[21];
|
|
4099
|
+
whirlpool: TAccountMetas[22];
|
|
4100
|
+
memoProgram: TAccountMetas[23];
|
|
4087
4101
|
/**
|
|
4088
4102
|
*
|
|
4089
4103
|
* Other accounts
|
|
4090
4104
|
*
|
|
4091
4105
|
*/
|
|
4092
|
-
systemProgram: TAccountMetas[
|
|
4106
|
+
systemProgram: TAccountMetas[24];
|
|
4093
4107
|
};
|
|
4094
4108
|
data: LiquidateTunaSpotPositionOrcaInstructionData;
|
|
4095
4109
|
};
|
|
@@ -6784,11 +6798,11 @@ declare function liquidateTunaLpPositionOrcaInstruction(authority: TransactionSi
|
|
|
6784
6798
|
declare function liquidateTunaLpPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaLpPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6785
6799
|
declare function liquidateTunaLpPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaLpPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6786
6800
|
|
|
6787
|
-
declare function liquidateTunaSpotPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6788
|
-
declare function liquidateTunaSpotPositionFusionInstruction(authority: TransactionSigner,
|
|
6801
|
+
declare function liquidateTunaSpotPositionFusionInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, createTunaPositionOwnerAta: boolean, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6802
|
+
declare function liquidateTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6789
6803
|
|
|
6790
|
-
declare function liquidateTunaSpotPositionOrcaInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6791
|
-
declare function liquidateTunaSpotPositionOrcaInstruction(authority: TransactionSigner,
|
|
6804
|
+
declare function liquidateTunaSpotPositionOrcaInstructions(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, createTunaPositionOwnerAta: boolean, withdrawPercent: number): Promise<IInstruction[]>;
|
|
6805
|
+
declare function liquidateTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, withdrawPercent: number): Promise<IInstruction>;
|
|
6792
6806
|
|
|
6793
6807
|
declare function openTunaLpPositionOrcaInstruction(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, positionMint: TransactionSigner, whirlpoolAddress: Address, args: OpenTunaLpPositionOrcaInstructionDataArgs): Promise<IInstruction>;
|
|
6794
6808
|
|
package/dist/index.js
CHANGED
|
@@ -1252,7 +1252,6 @@ function getTunaSpotPositionEncoder() {
|
|
|
1252
1252
|
["positionToken", getPoolTokenEncoder()],
|
|
1253
1253
|
["collateralToken", getPoolTokenEncoder()],
|
|
1254
1254
|
["flags", (0, import_kit11.getU32Encoder)()],
|
|
1255
|
-
["state", getTunaPositionStateEncoder()],
|
|
1256
1255
|
["amount", (0, import_kit11.getU64Encoder)()],
|
|
1257
1256
|
["loanShares", (0, import_kit11.getU64Encoder)()],
|
|
1258
1257
|
["loanFunds", (0, import_kit11.getU64Encoder)()],
|
|
@@ -1277,7 +1276,6 @@ function getTunaSpotPositionDecoder() {
|
|
|
1277
1276
|
["positionToken", getPoolTokenDecoder()],
|
|
1278
1277
|
["collateralToken", getPoolTokenDecoder()],
|
|
1279
1278
|
["flags", (0, import_kit11.getU32Decoder)()],
|
|
1280
|
-
["state", getTunaPositionStateDecoder()],
|
|
1281
1279
|
["amount", (0, import_kit11.getU64Decoder)()],
|
|
1282
1280
|
["loanShares", (0, import_kit11.getU64Decoder)()],
|
|
1283
1281
|
["loanFunds", (0, import_kit11.getU64Decoder)()],
|
|
@@ -1324,7 +1322,7 @@ async function fetchAllMaybeTunaSpotPosition(rpc, addresses, config) {
|
|
|
1324
1322
|
);
|
|
1325
1323
|
}
|
|
1326
1324
|
function getTunaSpotPositionSize() {
|
|
1327
|
-
return
|
|
1325
|
+
return 346;
|
|
1328
1326
|
}
|
|
1329
1327
|
|
|
1330
1328
|
// src/generated/accounts/vault.ts
|
|
@@ -5955,6 +5953,18 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
5955
5953
|
value: input.feeRecipientAtaB ?? null,
|
|
5956
5954
|
isWritable: true
|
|
5957
5955
|
},
|
|
5956
|
+
tunaPositionOwner: {
|
|
5957
|
+
value: input.tunaPositionOwner ?? null,
|
|
5958
|
+
isWritable: true
|
|
5959
|
+
},
|
|
5960
|
+
tunaPositionOwnerAtaA: {
|
|
5961
|
+
value: input.tunaPositionOwnerAtaA ?? null,
|
|
5962
|
+
isWritable: true
|
|
5963
|
+
},
|
|
5964
|
+
tunaPositionOwnerAtaB: {
|
|
5965
|
+
value: input.tunaPositionOwnerAtaB ?? null,
|
|
5966
|
+
isWritable: true
|
|
5967
|
+
},
|
|
5958
5968
|
pythOraclePriceFeedA: {
|
|
5959
5969
|
value: input.pythOraclePriceFeedA ?? null,
|
|
5960
5970
|
isWritable: false
|
|
@@ -5995,6 +6005,9 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
5995
6005
|
getAccountMeta(accounts.tunaPositionAtaB),
|
|
5996
6006
|
getAccountMeta(accounts.feeRecipientAtaA),
|
|
5997
6007
|
getAccountMeta(accounts.feeRecipientAtaB),
|
|
6008
|
+
getAccountMeta(accounts.tunaPositionOwner),
|
|
6009
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaA),
|
|
6010
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaB),
|
|
5998
6011
|
getAccountMeta(accounts.pythOraclePriceFeedA),
|
|
5999
6012
|
getAccountMeta(accounts.pythOraclePriceFeedB),
|
|
6000
6013
|
getAccountMeta(accounts.fusionammProgram),
|
|
@@ -6010,7 +6023,7 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
6010
6023
|
return instruction;
|
|
6011
6024
|
}
|
|
6012
6025
|
function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
6013
|
-
if (instruction.accounts.length <
|
|
6026
|
+
if (instruction.accounts.length < 25) {
|
|
6014
6027
|
throw new Error("Not enough accounts");
|
|
6015
6028
|
}
|
|
6016
6029
|
let accountIndex = 0;
|
|
@@ -6019,6 +6032,10 @@ function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
|
6019
6032
|
accountIndex += 1;
|
|
6020
6033
|
return accountMeta;
|
|
6021
6034
|
};
|
|
6035
|
+
const getNextOptionalAccount = () => {
|
|
6036
|
+
const accountMeta = getNextAccount();
|
|
6037
|
+
return accountMeta.address === TUNA_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
6038
|
+
};
|
|
6022
6039
|
return {
|
|
6023
6040
|
programAddress: instruction.programAddress,
|
|
6024
6041
|
accounts: {
|
|
@@ -6038,6 +6055,9 @@ function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
|
6038
6055
|
tunaPositionAtaB: getNextAccount(),
|
|
6039
6056
|
feeRecipientAtaA: getNextAccount(),
|
|
6040
6057
|
feeRecipientAtaB: getNextAccount(),
|
|
6058
|
+
tunaPositionOwner: getNextAccount(),
|
|
6059
|
+
tunaPositionOwnerAtaA: getNextOptionalAccount(),
|
|
6060
|
+
tunaPositionOwnerAtaB: getNextOptionalAccount(),
|
|
6041
6061
|
pythOraclePriceFeedA: getNextAccount(),
|
|
6042
6062
|
pythOraclePriceFeedB: getNextAccount(),
|
|
6043
6063
|
fusionammProgram: getNextAccount(),
|
|
@@ -6125,6 +6145,18 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
6125
6145
|
value: input.feeRecipientAtaB ?? null,
|
|
6126
6146
|
isWritable: true
|
|
6127
6147
|
},
|
|
6148
|
+
tunaPositionOwner: {
|
|
6149
|
+
value: input.tunaPositionOwner ?? null,
|
|
6150
|
+
isWritable: true
|
|
6151
|
+
},
|
|
6152
|
+
tunaPositionOwnerAtaA: {
|
|
6153
|
+
value: input.tunaPositionOwnerAtaA ?? null,
|
|
6154
|
+
isWritable: true
|
|
6155
|
+
},
|
|
6156
|
+
tunaPositionOwnerAtaB: {
|
|
6157
|
+
value: input.tunaPositionOwnerAtaB ?? null,
|
|
6158
|
+
isWritable: true
|
|
6159
|
+
},
|
|
6128
6160
|
pythOraclePriceFeedA: {
|
|
6129
6161
|
value: input.pythOraclePriceFeedA ?? null,
|
|
6130
6162
|
isWritable: false
|
|
@@ -6165,6 +6197,9 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
6165
6197
|
getAccountMeta(accounts.tunaPositionAtaB),
|
|
6166
6198
|
getAccountMeta(accounts.feeRecipientAtaA),
|
|
6167
6199
|
getAccountMeta(accounts.feeRecipientAtaB),
|
|
6200
|
+
getAccountMeta(accounts.tunaPositionOwner),
|
|
6201
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaA),
|
|
6202
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaB),
|
|
6168
6203
|
getAccountMeta(accounts.pythOraclePriceFeedA),
|
|
6169
6204
|
getAccountMeta(accounts.pythOraclePriceFeedB),
|
|
6170
6205
|
getAccountMeta(accounts.whirlpoolProgram),
|
|
@@ -6180,7 +6215,7 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
6180
6215
|
return instruction;
|
|
6181
6216
|
}
|
|
6182
6217
|
function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
6183
|
-
if (instruction.accounts.length <
|
|
6218
|
+
if (instruction.accounts.length < 25) {
|
|
6184
6219
|
throw new Error("Not enough accounts");
|
|
6185
6220
|
}
|
|
6186
6221
|
let accountIndex = 0;
|
|
@@ -6189,6 +6224,10 @@ function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
|
6189
6224
|
accountIndex += 1;
|
|
6190
6225
|
return accountMeta;
|
|
6191
6226
|
};
|
|
6227
|
+
const getNextOptionalAccount = () => {
|
|
6228
|
+
const accountMeta = getNextAccount();
|
|
6229
|
+
return accountMeta.address === TUNA_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
6230
|
+
};
|
|
6192
6231
|
return {
|
|
6193
6232
|
programAddress: instruction.programAddress,
|
|
6194
6233
|
accounts: {
|
|
@@ -6208,6 +6247,9 @@ function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
|
6208
6247
|
tunaPositionAtaB: getNextAccount(),
|
|
6209
6248
|
feeRecipientAtaA: getNextAccount(),
|
|
6210
6249
|
feeRecipientAtaB: getNextAccount(),
|
|
6250
|
+
tunaPositionOwner: getNextAccount(),
|
|
6251
|
+
tunaPositionOwnerAtaA: getNextOptionalAccount(),
|
|
6252
|
+
tunaPositionOwnerAtaB: getNextOptionalAccount(),
|
|
6211
6253
|
pythOraclePriceFeedA: getNextAccount(),
|
|
6212
6254
|
pythOraclePriceFeedB: getNextAccount(),
|
|
6213
6255
|
whirlpoolProgram: getNextAccount(),
|
|
@@ -12829,20 +12871,40 @@ var import_fusionamm_client11 = require("@crypticdot/fusionamm-client");
|
|
|
12829
12871
|
var import_kit94 = require("@solana/kit");
|
|
12830
12872
|
var import_memo16 = require("@solana-program/memo");
|
|
12831
12873
|
var import_token_202223 = require("@solana-program/token-2022");
|
|
12832
|
-
async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
|
|
12874
|
+
async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, createTunaPositionOwnerAta, withdrawPercent) {
|
|
12833
12875
|
const instructions = [];
|
|
12834
|
-
|
|
12835
|
-
|
|
12876
|
+
if (createTunaPositionOwnerAta) {
|
|
12877
|
+
const collateralTokenMint = tunaPosition.data.collateralToken == 0 /* A */ ? mintA : mintB;
|
|
12878
|
+
if (collateralTokenMint.address != NATIVE_MINT) {
|
|
12879
|
+
const createPositionOwnerAtaInstructions = await getCreateAtaInstructions(
|
|
12880
|
+
void 0,
|
|
12881
|
+
authority,
|
|
12882
|
+
collateralTokenMint.address,
|
|
12883
|
+
tunaPosition.data.authority,
|
|
12884
|
+
collateralTokenMint.programAddress
|
|
12885
|
+
);
|
|
12886
|
+
instructions.push(...createPositionOwnerAtaInstructions.init);
|
|
12887
|
+
}
|
|
12888
|
+
}
|
|
12889
|
+
const createFeeRecipientAtaAInstructions = await getCreateAtaInstructions(
|
|
12890
|
+
void 0,
|
|
12891
|
+
authority,
|
|
12892
|
+
mintA.address,
|
|
12893
|
+
tunaConfig.data.feeRecipient,
|
|
12894
|
+
mintA.programAddress
|
|
12895
|
+
);
|
|
12896
|
+
instructions.push(...createFeeRecipientAtaAInstructions.init);
|
|
12897
|
+
const createFeeRecipientAtaBInstructions = await getCreateAtaInstructions(
|
|
12836
12898
|
void 0,
|
|
12837
12899
|
authority,
|
|
12838
|
-
|
|
12900
|
+
mintB.address,
|
|
12839
12901
|
tunaConfig.data.feeRecipient,
|
|
12840
|
-
|
|
12902
|
+
mintB.programAddress
|
|
12841
12903
|
);
|
|
12842
|
-
instructions.push(...
|
|
12904
|
+
instructions.push(...createFeeRecipientAtaBInstructions.init);
|
|
12843
12905
|
const ix = await liquidateTunaSpotPositionFusionInstruction(
|
|
12844
12906
|
authority,
|
|
12845
|
-
tunaPosition
|
|
12907
|
+
tunaPosition,
|
|
12846
12908
|
tunaConfig,
|
|
12847
12909
|
mintA,
|
|
12848
12910
|
mintB,
|
|
@@ -12854,15 +12916,25 @@ async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPositi
|
|
|
12854
12916
|
instructions.push(ix);
|
|
12855
12917
|
return instructions;
|
|
12856
12918
|
}
|
|
12857
|
-
async function liquidateTunaSpotPositionFusionInstruction(authority,
|
|
12919
|
+
async function liquidateTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
|
|
12858
12920
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
12921
|
+
const tunaPositionOwnerAtaA = (await (0, import_token_202223.findAssociatedTokenPda)({
|
|
12922
|
+
owner: tunaPosition.data.authority,
|
|
12923
|
+
mint: mintA.address,
|
|
12924
|
+
tokenProgram: mintA.programAddress
|
|
12925
|
+
}))[0];
|
|
12926
|
+
const tunaPositionOwnerAtaB = (await (0, import_token_202223.findAssociatedTokenPda)({
|
|
12927
|
+
owner: tunaPosition.data.authority,
|
|
12928
|
+
mint: mintB.address,
|
|
12929
|
+
tokenProgram: mintB.programAddress
|
|
12930
|
+
}))[0];
|
|
12859
12931
|
const tunaPositionAtaA = (await (0, import_token_202223.findAssociatedTokenPda)({
|
|
12860
|
-
owner:
|
|
12932
|
+
owner: tunaPosition.address,
|
|
12861
12933
|
mint: mintA.address,
|
|
12862
12934
|
tokenProgram: mintA.programAddress
|
|
12863
12935
|
}))[0];
|
|
12864
12936
|
const tunaPositionAtaB = (await (0, import_token_202223.findAssociatedTokenPda)({
|
|
12865
|
-
owner:
|
|
12937
|
+
owner: tunaPosition.address,
|
|
12866
12938
|
mint: mintB.address,
|
|
12867
12939
|
tokenProgram: mintB.programAddress
|
|
12868
12940
|
}))[0];
|
|
@@ -12917,9 +12989,12 @@ async function liquidateTunaSpotPositionFusionInstruction(authority, tunaPositio
|
|
|
12917
12989
|
vaultAAta,
|
|
12918
12990
|
vaultB: vaultB.address,
|
|
12919
12991
|
vaultBAta,
|
|
12920
|
-
tunaPosition:
|
|
12992
|
+
tunaPosition: tunaPosition.address,
|
|
12921
12993
|
tunaPositionAtaA,
|
|
12922
12994
|
tunaPositionAtaB,
|
|
12995
|
+
tunaPositionOwner: tunaPosition.data.authority,
|
|
12996
|
+
tunaPositionOwnerAtaA: tunaPosition.data.collateralToken == 0 /* A */ && mintA.address != NATIVE_MINT ? tunaPositionOwnerAtaA : void 0,
|
|
12997
|
+
tunaPositionOwnerAtaB: tunaPosition.data.collateralToken == 1 /* B */ && mintB.address != NATIVE_MINT ? tunaPositionOwnerAtaB : void 0,
|
|
12923
12998
|
feeRecipientAtaA,
|
|
12924
12999
|
feeRecipientAtaB,
|
|
12925
13000
|
fusionPool: fusionPool.address,
|
|
@@ -12937,20 +13012,40 @@ var import_whirlpools_client11 = require("@orca-so/whirlpools-client");
|
|
|
12937
13012
|
var import_kit95 = require("@solana/kit");
|
|
12938
13013
|
var import_memo17 = require("@solana-program/memo");
|
|
12939
13014
|
var import_token_202224 = require("@solana-program/token-2022");
|
|
12940
|
-
async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
|
|
13015
|
+
async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, createTunaPositionOwnerAta, withdrawPercent) {
|
|
12941
13016
|
const instructions = [];
|
|
12942
|
-
|
|
12943
|
-
|
|
13017
|
+
if (createTunaPositionOwnerAta) {
|
|
13018
|
+
const collateralTokenMint = tunaPosition.data.collateralToken == 0 /* A */ ? mintA : mintB;
|
|
13019
|
+
if (collateralTokenMint.address != NATIVE_MINT) {
|
|
13020
|
+
const createPositionOwnerAtaInstructions = await getCreateAtaInstructions(
|
|
13021
|
+
void 0,
|
|
13022
|
+
authority,
|
|
13023
|
+
collateralTokenMint.address,
|
|
13024
|
+
tunaPosition.data.authority,
|
|
13025
|
+
collateralTokenMint.programAddress
|
|
13026
|
+
);
|
|
13027
|
+
instructions.push(...createPositionOwnerAtaInstructions.init);
|
|
13028
|
+
}
|
|
13029
|
+
}
|
|
13030
|
+
const createFeeRecipientAtaAInstructions = await getCreateAtaInstructions(
|
|
12944
13031
|
void 0,
|
|
12945
13032
|
authority,
|
|
12946
|
-
|
|
13033
|
+
mintA.address,
|
|
12947
13034
|
tunaConfig.data.feeRecipient,
|
|
12948
|
-
|
|
13035
|
+
mintA.programAddress
|
|
12949
13036
|
);
|
|
12950
|
-
instructions.push(...
|
|
13037
|
+
instructions.push(...createFeeRecipientAtaAInstructions.init);
|
|
13038
|
+
const createFeeRecipientAtaBInstructions = await getCreateAtaInstructions(
|
|
13039
|
+
void 0,
|
|
13040
|
+
authority,
|
|
13041
|
+
mintB.address,
|
|
13042
|
+
tunaConfig.data.feeRecipient,
|
|
13043
|
+
mintB.programAddress
|
|
13044
|
+
);
|
|
13045
|
+
instructions.push(...createFeeRecipientAtaBInstructions.init);
|
|
12951
13046
|
const ix = await liquidateTunaSpotPositionOrcaInstruction(
|
|
12952
13047
|
authority,
|
|
12953
|
-
tunaPosition
|
|
13048
|
+
tunaPosition,
|
|
12954
13049
|
tunaConfig,
|
|
12955
13050
|
mintA,
|
|
12956
13051
|
mintB,
|
|
@@ -12962,16 +13057,26 @@ async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition
|
|
|
12962
13057
|
instructions.push(ix);
|
|
12963
13058
|
return instructions;
|
|
12964
13059
|
}
|
|
12965
|
-
async function liquidateTunaSpotPositionOrcaInstruction(authority,
|
|
13060
|
+
async function liquidateTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
|
|
12966
13061
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
12967
13062
|
const orcaOracleAddress = (await (0, import_whirlpools_client11.getOracleAddress)(whirlpool.address))[0];
|
|
13063
|
+
const tunaPositionOwnerAtaA = (await (0, import_token_202224.findAssociatedTokenPda)({
|
|
13064
|
+
owner: tunaPosition.data.authority,
|
|
13065
|
+
mint: mintA.address,
|
|
13066
|
+
tokenProgram: mintA.programAddress
|
|
13067
|
+
}))[0];
|
|
13068
|
+
const tunaPositionOwnerAtaB = (await (0, import_token_202224.findAssociatedTokenPda)({
|
|
13069
|
+
owner: tunaPosition.data.authority,
|
|
13070
|
+
mint: mintB.address,
|
|
13071
|
+
tokenProgram: mintB.programAddress
|
|
13072
|
+
}))[0];
|
|
12968
13073
|
const tunaPositionAtaA = (await (0, import_token_202224.findAssociatedTokenPda)({
|
|
12969
|
-
owner:
|
|
13074
|
+
owner: tunaPosition.address,
|
|
12970
13075
|
mint: mintA.address,
|
|
12971
13076
|
tokenProgram: mintA.programAddress
|
|
12972
13077
|
}))[0];
|
|
12973
13078
|
const tunaPositionAtaB = (await (0, import_token_202224.findAssociatedTokenPda)({
|
|
12974
|
-
owner:
|
|
13079
|
+
owner: tunaPosition.address,
|
|
12975
13080
|
mint: mintB.address,
|
|
12976
13081
|
tokenProgram: mintB.programAddress
|
|
12977
13082
|
}))[0];
|
|
@@ -13028,9 +13133,12 @@ async function liquidateTunaSpotPositionOrcaInstruction(authority, tunaPositionA
|
|
|
13028
13133
|
vaultAAta,
|
|
13029
13134
|
vaultB: vaultB.address,
|
|
13030
13135
|
vaultBAta,
|
|
13031
|
-
tunaPosition:
|
|
13136
|
+
tunaPosition: tunaPosition.address,
|
|
13032
13137
|
tunaPositionAtaA,
|
|
13033
13138
|
tunaPositionAtaB,
|
|
13139
|
+
tunaPositionOwner: tunaPosition.data.authority,
|
|
13140
|
+
tunaPositionOwnerAtaA: tunaPosition.data.collateralToken == 0 /* A */ && mintA.address != NATIVE_MINT ? tunaPositionOwnerAtaA : void 0,
|
|
13141
|
+
tunaPositionOwnerAtaB: tunaPosition.data.collateralToken == 1 /* B */ && mintB.address != NATIVE_MINT ? tunaPositionOwnerAtaB : void 0,
|
|
13034
13142
|
feeRecipientAtaA,
|
|
13035
13143
|
feeRecipientAtaB,
|
|
13036
13144
|
whirlpool: whirlpool.address,
|
package/dist/index.mjs
CHANGED
|
@@ -692,7 +692,6 @@ function getTunaSpotPositionEncoder() {
|
|
|
692
692
|
["positionToken", getPoolTokenEncoder()],
|
|
693
693
|
["collateralToken", getPoolTokenEncoder()],
|
|
694
694
|
["flags", getU32Encoder4()],
|
|
695
|
-
["state", getTunaPositionStateEncoder()],
|
|
696
695
|
["amount", getU64Encoder4()],
|
|
697
696
|
["loanShares", getU64Encoder4()],
|
|
698
697
|
["loanFunds", getU64Encoder4()],
|
|
@@ -717,7 +716,6 @@ function getTunaSpotPositionDecoder() {
|
|
|
717
716
|
["positionToken", getPoolTokenDecoder()],
|
|
718
717
|
["collateralToken", getPoolTokenDecoder()],
|
|
719
718
|
["flags", getU32Decoder4()],
|
|
720
|
-
["state", getTunaPositionStateDecoder()],
|
|
721
719
|
["amount", getU64Decoder4()],
|
|
722
720
|
["loanShares", getU64Decoder4()],
|
|
723
721
|
["loanFunds", getU64Decoder4()],
|
|
@@ -764,7 +762,7 @@ async function fetchAllMaybeTunaSpotPosition(rpc, addresses, config) {
|
|
|
764
762
|
);
|
|
765
763
|
}
|
|
766
764
|
function getTunaSpotPositionSize() {
|
|
767
|
-
return
|
|
765
|
+
return 346;
|
|
768
766
|
}
|
|
769
767
|
|
|
770
768
|
// src/generated/accounts/vault.ts
|
|
@@ -5719,6 +5717,18 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
5719
5717
|
value: input.feeRecipientAtaB ?? null,
|
|
5720
5718
|
isWritable: true
|
|
5721
5719
|
},
|
|
5720
|
+
tunaPositionOwner: {
|
|
5721
|
+
value: input.tunaPositionOwner ?? null,
|
|
5722
|
+
isWritable: true
|
|
5723
|
+
},
|
|
5724
|
+
tunaPositionOwnerAtaA: {
|
|
5725
|
+
value: input.tunaPositionOwnerAtaA ?? null,
|
|
5726
|
+
isWritable: true
|
|
5727
|
+
},
|
|
5728
|
+
tunaPositionOwnerAtaB: {
|
|
5729
|
+
value: input.tunaPositionOwnerAtaB ?? null,
|
|
5730
|
+
isWritable: true
|
|
5731
|
+
},
|
|
5722
5732
|
pythOraclePriceFeedA: {
|
|
5723
5733
|
value: input.pythOraclePriceFeedA ?? null,
|
|
5724
5734
|
isWritable: false
|
|
@@ -5759,6 +5769,9 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
5759
5769
|
getAccountMeta(accounts.tunaPositionAtaB),
|
|
5760
5770
|
getAccountMeta(accounts.feeRecipientAtaA),
|
|
5761
5771
|
getAccountMeta(accounts.feeRecipientAtaB),
|
|
5772
|
+
getAccountMeta(accounts.tunaPositionOwner),
|
|
5773
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaA),
|
|
5774
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaB),
|
|
5762
5775
|
getAccountMeta(accounts.pythOraclePriceFeedA),
|
|
5763
5776
|
getAccountMeta(accounts.pythOraclePriceFeedB),
|
|
5764
5777
|
getAccountMeta(accounts.fusionammProgram),
|
|
@@ -5774,7 +5787,7 @@ function getLiquidateTunaSpotPositionFusionInstruction(input, config) {
|
|
|
5774
5787
|
return instruction;
|
|
5775
5788
|
}
|
|
5776
5789
|
function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
5777
|
-
if (instruction.accounts.length <
|
|
5790
|
+
if (instruction.accounts.length < 25) {
|
|
5778
5791
|
throw new Error("Not enough accounts");
|
|
5779
5792
|
}
|
|
5780
5793
|
let accountIndex = 0;
|
|
@@ -5783,6 +5796,10 @@ function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
|
5783
5796
|
accountIndex += 1;
|
|
5784
5797
|
return accountMeta;
|
|
5785
5798
|
};
|
|
5799
|
+
const getNextOptionalAccount = () => {
|
|
5800
|
+
const accountMeta = getNextAccount();
|
|
5801
|
+
return accountMeta.address === TUNA_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
5802
|
+
};
|
|
5786
5803
|
return {
|
|
5787
5804
|
programAddress: instruction.programAddress,
|
|
5788
5805
|
accounts: {
|
|
@@ -5802,6 +5819,9 @@ function parseLiquidateTunaSpotPositionFusionInstruction(instruction) {
|
|
|
5802
5819
|
tunaPositionAtaB: getNextAccount(),
|
|
5803
5820
|
feeRecipientAtaA: getNextAccount(),
|
|
5804
5821
|
feeRecipientAtaB: getNextAccount(),
|
|
5822
|
+
tunaPositionOwner: getNextAccount(),
|
|
5823
|
+
tunaPositionOwnerAtaA: getNextOptionalAccount(),
|
|
5824
|
+
tunaPositionOwnerAtaB: getNextOptionalAccount(),
|
|
5805
5825
|
pythOraclePriceFeedA: getNextAccount(),
|
|
5806
5826
|
pythOraclePriceFeedB: getNextAccount(),
|
|
5807
5827
|
fusionammProgram: getNextAccount(),
|
|
@@ -5900,6 +5920,18 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
5900
5920
|
value: input.feeRecipientAtaB ?? null,
|
|
5901
5921
|
isWritable: true
|
|
5902
5922
|
},
|
|
5923
|
+
tunaPositionOwner: {
|
|
5924
|
+
value: input.tunaPositionOwner ?? null,
|
|
5925
|
+
isWritable: true
|
|
5926
|
+
},
|
|
5927
|
+
tunaPositionOwnerAtaA: {
|
|
5928
|
+
value: input.tunaPositionOwnerAtaA ?? null,
|
|
5929
|
+
isWritable: true
|
|
5930
|
+
},
|
|
5931
|
+
tunaPositionOwnerAtaB: {
|
|
5932
|
+
value: input.tunaPositionOwnerAtaB ?? null,
|
|
5933
|
+
isWritable: true
|
|
5934
|
+
},
|
|
5903
5935
|
pythOraclePriceFeedA: {
|
|
5904
5936
|
value: input.pythOraclePriceFeedA ?? null,
|
|
5905
5937
|
isWritable: false
|
|
@@ -5940,6 +5972,9 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
5940
5972
|
getAccountMeta(accounts.tunaPositionAtaB),
|
|
5941
5973
|
getAccountMeta(accounts.feeRecipientAtaA),
|
|
5942
5974
|
getAccountMeta(accounts.feeRecipientAtaB),
|
|
5975
|
+
getAccountMeta(accounts.tunaPositionOwner),
|
|
5976
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaA),
|
|
5977
|
+
getAccountMeta(accounts.tunaPositionOwnerAtaB),
|
|
5943
5978
|
getAccountMeta(accounts.pythOraclePriceFeedA),
|
|
5944
5979
|
getAccountMeta(accounts.pythOraclePriceFeedB),
|
|
5945
5980
|
getAccountMeta(accounts.whirlpoolProgram),
|
|
@@ -5955,7 +5990,7 @@ function getLiquidateTunaSpotPositionOrcaInstruction(input, config) {
|
|
|
5955
5990
|
return instruction;
|
|
5956
5991
|
}
|
|
5957
5992
|
function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
5958
|
-
if (instruction.accounts.length <
|
|
5993
|
+
if (instruction.accounts.length < 25) {
|
|
5959
5994
|
throw new Error("Not enough accounts");
|
|
5960
5995
|
}
|
|
5961
5996
|
let accountIndex = 0;
|
|
@@ -5964,6 +5999,10 @@ function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
|
5964
5999
|
accountIndex += 1;
|
|
5965
6000
|
return accountMeta;
|
|
5966
6001
|
};
|
|
6002
|
+
const getNextOptionalAccount = () => {
|
|
6003
|
+
const accountMeta = getNextAccount();
|
|
6004
|
+
return accountMeta.address === TUNA_PROGRAM_ADDRESS ? void 0 : accountMeta;
|
|
6005
|
+
};
|
|
5967
6006
|
return {
|
|
5968
6007
|
programAddress: instruction.programAddress,
|
|
5969
6008
|
accounts: {
|
|
@@ -5983,6 +6022,9 @@ function parseLiquidateTunaSpotPositionOrcaInstruction(instruction) {
|
|
|
5983
6022
|
tunaPositionAtaB: getNextAccount(),
|
|
5984
6023
|
feeRecipientAtaA: getNextAccount(),
|
|
5985
6024
|
feeRecipientAtaB: getNextAccount(),
|
|
6025
|
+
tunaPositionOwner: getNextAccount(),
|
|
6026
|
+
tunaPositionOwnerAtaA: getNextOptionalAccount(),
|
|
6027
|
+
tunaPositionOwnerAtaB: getNextOptionalAccount(),
|
|
5986
6028
|
pythOraclePriceFeedA: getNextAccount(),
|
|
5987
6029
|
pythOraclePriceFeedB: getNextAccount(),
|
|
5988
6030
|
whirlpoolProgram: getNextAccount(),
|
|
@@ -13096,20 +13138,40 @@ import { FUSIONAMM_PROGRAM_ADDRESS as FUSIONAMM_PROGRAM_ADDRESS10 } from "@crypt
|
|
|
13096
13138
|
import { AccountRole as AccountRole16 } from "@solana/kit";
|
|
13097
13139
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS16 } from "@solana-program/memo";
|
|
13098
13140
|
import { findAssociatedTokenPda as findAssociatedTokenPda23 } from "@solana-program/token-2022";
|
|
13099
|
-
async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
|
|
13141
|
+
async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, createTunaPositionOwnerAta, withdrawPercent) {
|
|
13100
13142
|
const instructions = [];
|
|
13101
|
-
|
|
13102
|
-
|
|
13143
|
+
if (createTunaPositionOwnerAta) {
|
|
13144
|
+
const collateralTokenMint = tunaPosition.data.collateralToken == 0 /* A */ ? mintA : mintB;
|
|
13145
|
+
if (collateralTokenMint.address != NATIVE_MINT) {
|
|
13146
|
+
const createPositionOwnerAtaInstructions = await getCreateAtaInstructions(
|
|
13147
|
+
void 0,
|
|
13148
|
+
authority,
|
|
13149
|
+
collateralTokenMint.address,
|
|
13150
|
+
tunaPosition.data.authority,
|
|
13151
|
+
collateralTokenMint.programAddress
|
|
13152
|
+
);
|
|
13153
|
+
instructions.push(...createPositionOwnerAtaInstructions.init);
|
|
13154
|
+
}
|
|
13155
|
+
}
|
|
13156
|
+
const createFeeRecipientAtaAInstructions = await getCreateAtaInstructions(
|
|
13157
|
+
void 0,
|
|
13158
|
+
authority,
|
|
13159
|
+
mintA.address,
|
|
13160
|
+
tunaConfig.data.feeRecipient,
|
|
13161
|
+
mintA.programAddress
|
|
13162
|
+
);
|
|
13163
|
+
instructions.push(...createFeeRecipientAtaAInstructions.init);
|
|
13164
|
+
const createFeeRecipientAtaBInstructions = await getCreateAtaInstructions(
|
|
13103
13165
|
void 0,
|
|
13104
13166
|
authority,
|
|
13105
|
-
|
|
13167
|
+
mintB.address,
|
|
13106
13168
|
tunaConfig.data.feeRecipient,
|
|
13107
|
-
|
|
13169
|
+
mintB.programAddress
|
|
13108
13170
|
);
|
|
13109
|
-
instructions.push(...
|
|
13171
|
+
instructions.push(...createFeeRecipientAtaBInstructions.init);
|
|
13110
13172
|
const ix = await liquidateTunaSpotPositionFusionInstruction(
|
|
13111
13173
|
authority,
|
|
13112
|
-
tunaPosition
|
|
13174
|
+
tunaPosition,
|
|
13113
13175
|
tunaConfig,
|
|
13114
13176
|
mintA,
|
|
13115
13177
|
mintB,
|
|
@@ -13121,15 +13183,25 @@ async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPositi
|
|
|
13121
13183
|
instructions.push(ix);
|
|
13122
13184
|
return instructions;
|
|
13123
13185
|
}
|
|
13124
|
-
async function liquidateTunaSpotPositionFusionInstruction(authority,
|
|
13186
|
+
async function liquidateTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
|
|
13125
13187
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
13188
|
+
const tunaPositionOwnerAtaA = (await findAssociatedTokenPda23({
|
|
13189
|
+
owner: tunaPosition.data.authority,
|
|
13190
|
+
mint: mintA.address,
|
|
13191
|
+
tokenProgram: mintA.programAddress
|
|
13192
|
+
}))[0];
|
|
13193
|
+
const tunaPositionOwnerAtaB = (await findAssociatedTokenPda23({
|
|
13194
|
+
owner: tunaPosition.data.authority,
|
|
13195
|
+
mint: mintB.address,
|
|
13196
|
+
tokenProgram: mintB.programAddress
|
|
13197
|
+
}))[0];
|
|
13126
13198
|
const tunaPositionAtaA = (await findAssociatedTokenPda23({
|
|
13127
|
-
owner:
|
|
13199
|
+
owner: tunaPosition.address,
|
|
13128
13200
|
mint: mintA.address,
|
|
13129
13201
|
tokenProgram: mintA.programAddress
|
|
13130
13202
|
}))[0];
|
|
13131
13203
|
const tunaPositionAtaB = (await findAssociatedTokenPda23({
|
|
13132
|
-
owner:
|
|
13204
|
+
owner: tunaPosition.address,
|
|
13133
13205
|
mint: mintB.address,
|
|
13134
13206
|
tokenProgram: mintB.programAddress
|
|
13135
13207
|
}))[0];
|
|
@@ -13184,9 +13256,12 @@ async function liquidateTunaSpotPositionFusionInstruction(authority, tunaPositio
|
|
|
13184
13256
|
vaultAAta,
|
|
13185
13257
|
vaultB: vaultB.address,
|
|
13186
13258
|
vaultBAta,
|
|
13187
|
-
tunaPosition:
|
|
13259
|
+
tunaPosition: tunaPosition.address,
|
|
13188
13260
|
tunaPositionAtaA,
|
|
13189
13261
|
tunaPositionAtaB,
|
|
13262
|
+
tunaPositionOwner: tunaPosition.data.authority,
|
|
13263
|
+
tunaPositionOwnerAtaA: tunaPosition.data.collateralToken == 0 /* A */ && mintA.address != NATIVE_MINT ? tunaPositionOwnerAtaA : void 0,
|
|
13264
|
+
tunaPositionOwnerAtaB: tunaPosition.data.collateralToken == 1 /* B */ && mintB.address != NATIVE_MINT ? tunaPositionOwnerAtaB : void 0,
|
|
13190
13265
|
feeRecipientAtaA,
|
|
13191
13266
|
feeRecipientAtaB,
|
|
13192
13267
|
fusionPool: fusionPool.address,
|
|
@@ -13204,20 +13279,40 @@ import { getOracleAddress as getOracleAddress7, WHIRLPOOL_PROGRAM_ADDRESS as WHI
|
|
|
13204
13279
|
import { AccountRole as AccountRole17 } from "@solana/kit";
|
|
13205
13280
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS17 } from "@solana-program/memo";
|
|
13206
13281
|
import { findAssociatedTokenPda as findAssociatedTokenPda24 } from "@solana-program/token-2022";
|
|
13207
|
-
async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
|
|
13282
|
+
async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, createTunaPositionOwnerAta, withdrawPercent) {
|
|
13208
13283
|
const instructions = [];
|
|
13209
|
-
|
|
13210
|
-
|
|
13284
|
+
if (createTunaPositionOwnerAta) {
|
|
13285
|
+
const collateralTokenMint = tunaPosition.data.collateralToken == 0 /* A */ ? mintA : mintB;
|
|
13286
|
+
if (collateralTokenMint.address != NATIVE_MINT) {
|
|
13287
|
+
const createPositionOwnerAtaInstructions = await getCreateAtaInstructions(
|
|
13288
|
+
void 0,
|
|
13289
|
+
authority,
|
|
13290
|
+
collateralTokenMint.address,
|
|
13291
|
+
tunaPosition.data.authority,
|
|
13292
|
+
collateralTokenMint.programAddress
|
|
13293
|
+
);
|
|
13294
|
+
instructions.push(...createPositionOwnerAtaInstructions.init);
|
|
13295
|
+
}
|
|
13296
|
+
}
|
|
13297
|
+
const createFeeRecipientAtaAInstructions = await getCreateAtaInstructions(
|
|
13211
13298
|
void 0,
|
|
13212
13299
|
authority,
|
|
13213
|
-
|
|
13300
|
+
mintA.address,
|
|
13214
13301
|
tunaConfig.data.feeRecipient,
|
|
13215
|
-
|
|
13302
|
+
mintA.programAddress
|
|
13216
13303
|
);
|
|
13217
|
-
instructions.push(...
|
|
13304
|
+
instructions.push(...createFeeRecipientAtaAInstructions.init);
|
|
13305
|
+
const createFeeRecipientAtaBInstructions = await getCreateAtaInstructions(
|
|
13306
|
+
void 0,
|
|
13307
|
+
authority,
|
|
13308
|
+
mintB.address,
|
|
13309
|
+
tunaConfig.data.feeRecipient,
|
|
13310
|
+
mintB.programAddress
|
|
13311
|
+
);
|
|
13312
|
+
instructions.push(...createFeeRecipientAtaBInstructions.init);
|
|
13218
13313
|
const ix = await liquidateTunaSpotPositionOrcaInstruction(
|
|
13219
13314
|
authority,
|
|
13220
|
-
tunaPosition
|
|
13315
|
+
tunaPosition,
|
|
13221
13316
|
tunaConfig,
|
|
13222
13317
|
mintA,
|
|
13223
13318
|
mintB,
|
|
@@ -13229,16 +13324,26 @@ async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition
|
|
|
13229
13324
|
instructions.push(ix);
|
|
13230
13325
|
return instructions;
|
|
13231
13326
|
}
|
|
13232
|
-
async function liquidateTunaSpotPositionOrcaInstruction(authority,
|
|
13327
|
+
async function liquidateTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
|
|
13233
13328
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
13234
13329
|
const orcaOracleAddress = (await getOracleAddress7(whirlpool.address))[0];
|
|
13330
|
+
const tunaPositionOwnerAtaA = (await findAssociatedTokenPda24({
|
|
13331
|
+
owner: tunaPosition.data.authority,
|
|
13332
|
+
mint: mintA.address,
|
|
13333
|
+
tokenProgram: mintA.programAddress
|
|
13334
|
+
}))[0];
|
|
13335
|
+
const tunaPositionOwnerAtaB = (await findAssociatedTokenPda24({
|
|
13336
|
+
owner: tunaPosition.data.authority,
|
|
13337
|
+
mint: mintB.address,
|
|
13338
|
+
tokenProgram: mintB.programAddress
|
|
13339
|
+
}))[0];
|
|
13235
13340
|
const tunaPositionAtaA = (await findAssociatedTokenPda24({
|
|
13236
|
-
owner:
|
|
13341
|
+
owner: tunaPosition.address,
|
|
13237
13342
|
mint: mintA.address,
|
|
13238
13343
|
tokenProgram: mintA.programAddress
|
|
13239
13344
|
}))[0];
|
|
13240
13345
|
const tunaPositionAtaB = (await findAssociatedTokenPda24({
|
|
13241
|
-
owner:
|
|
13346
|
+
owner: tunaPosition.address,
|
|
13242
13347
|
mint: mintB.address,
|
|
13243
13348
|
tokenProgram: mintB.programAddress
|
|
13244
13349
|
}))[0];
|
|
@@ -13295,9 +13400,12 @@ async function liquidateTunaSpotPositionOrcaInstruction(authority, tunaPositionA
|
|
|
13295
13400
|
vaultAAta,
|
|
13296
13401
|
vaultB: vaultB.address,
|
|
13297
13402
|
vaultBAta,
|
|
13298
|
-
tunaPosition:
|
|
13403
|
+
tunaPosition: tunaPosition.address,
|
|
13299
13404
|
tunaPositionAtaA,
|
|
13300
13405
|
tunaPositionAtaB,
|
|
13406
|
+
tunaPositionOwner: tunaPosition.data.authority,
|
|
13407
|
+
tunaPositionOwnerAtaA: tunaPosition.data.collateralToken == 0 /* A */ && mintA.address != NATIVE_MINT ? tunaPositionOwnerAtaA : void 0,
|
|
13408
|
+
tunaPositionOwnerAtaB: tunaPosition.data.collateralToken == 1 /* B */ && mintB.address != NATIVE_MINT ? tunaPositionOwnerAtaB : void 0,
|
|
13301
13409
|
feeRecipientAtaA,
|
|
13302
13410
|
feeRecipientAtaB,
|
|
13303
13411
|
whirlpool: whirlpool.address,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crypticdot/defituna-client",
|
|
3
3
|
"description": "Typescript client to interact with DefiTuna's on-chain program.",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"rimraf": "^6.0.1",
|
|
52
52
|
"vitest": "^3.1.1",
|
|
53
53
|
"solana-bankrun": "^0.4.0",
|
|
54
|
-
"@crypticdot/defituna-program": "3.1.
|
|
54
|
+
"@crypticdot/defituna-program": "3.1.1"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"build": "node ./codama.mjs && tsup src/index.ts --format cjs,esm --dts",
|