@crypticdot/defituna-client 3.1.4 → 3.1.5
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 +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +84 -90
- package/dist/index.mjs +88 -94
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -6859,11 +6859,11 @@ declare function closeActiveTunaLpPositionFusionInstructions(rpc: Rpc<GetAccount
|
|
|
6859
6859
|
|
|
6860
6860
|
type CloseActiveTunaSpotPositionFusionInstructionsArgs = Omit<CloseActiveTunaSpotPositionFusionInstructionDataArgs, "remainingAccountsInfo">;
|
|
6861
6861
|
declare function closeActiveTunaSpotPositionFusionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, fusionPoolAddress: Address, args: CloseActiveTunaSpotPositionFusionInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6862
|
-
declare function closeActiveTunaSpotPositionFusionInstruction(authority: TransactionSigner,
|
|
6862
|
+
declare function closeActiveTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: CloseActiveTunaSpotPositionFusionInstructionsArgs): Promise<IInstruction>;
|
|
6863
6863
|
|
|
6864
6864
|
type CloseActiveTunaSpotPositionOrcaInstructionsArgs = Omit<CloseActiveTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6865
6865
|
declare function closeActiveTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: CloseActiveTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6866
|
-
declare function closeActiveTunaSpotPositionOrcaInstruction(authority: TransactionSigner,
|
|
6866
|
+
declare function closeActiveTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: CloseActiveTunaSpotPositionOrcaInstructionsArgs): Promise<IInstruction>;
|
|
6867
6867
|
|
|
6868
6868
|
type IncreaseTunaSpotPositionOrcaInstructionsArgs = Omit<IncreaseTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6869
6869
|
declare function increaseTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: IncreaseTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
@@ -6875,11 +6875,11 @@ declare function increaseTunaSpotPositionFusionInstruction(authority: Transactio
|
|
|
6875
6875
|
|
|
6876
6876
|
type DecreaseTunaSpotPositionOrcaInstructionsArgs = Omit<DecreaseTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6877
6877
|
declare function decreaseTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: DecreaseTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6878
|
-
declare function decreaseTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>,
|
|
6878
|
+
declare function decreaseTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: DecreaseTunaSpotPositionOrcaInstructionsArgs): Promise<IInstruction>;
|
|
6879
6879
|
|
|
6880
6880
|
type DecreaseTunaSpotPositionFusionInstructionsArgs = Omit<DecreaseTunaSpotPositionFusionInstructionDataArgs, "remainingAccountsInfo">;
|
|
6881
6881
|
declare function decreaseTunaSpotPositionFusionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, fusionPoolAddress: Address, args: DecreaseTunaSpotPositionFusionInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6882
|
-
declare function decreaseTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>,
|
|
6882
|
+
declare function decreaseTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: DecreaseTunaSpotPositionFusionInstructionsArgs): Promise<IInstruction>;
|
|
6883
6883
|
|
|
6884
6884
|
declare function closeTunaSpotPositionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, poolAddress: Address): Promise<IInstruction[]>;
|
|
6885
6885
|
declare function closeTunaSpotPositionInstruction(authority: TransactionSigner, poolAddress: Address, mintA: Account<Mint>, mintB: Account<Mint>): Promise<IInstruction>;
|
package/dist/index.d.ts
CHANGED
|
@@ -6859,11 +6859,11 @@ declare function closeActiveTunaLpPositionFusionInstructions(rpc: Rpc<GetAccount
|
|
|
6859
6859
|
|
|
6860
6860
|
type CloseActiveTunaSpotPositionFusionInstructionsArgs = Omit<CloseActiveTunaSpotPositionFusionInstructionDataArgs, "remainingAccountsInfo">;
|
|
6861
6861
|
declare function closeActiveTunaSpotPositionFusionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, fusionPoolAddress: Address, args: CloseActiveTunaSpotPositionFusionInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6862
|
-
declare function closeActiveTunaSpotPositionFusionInstruction(authority: TransactionSigner,
|
|
6862
|
+
declare function closeActiveTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: CloseActiveTunaSpotPositionFusionInstructionsArgs): Promise<IInstruction>;
|
|
6863
6863
|
|
|
6864
6864
|
type CloseActiveTunaSpotPositionOrcaInstructionsArgs = Omit<CloseActiveTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6865
6865
|
declare function closeActiveTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: CloseActiveTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6866
|
-
declare function closeActiveTunaSpotPositionOrcaInstruction(authority: TransactionSigner,
|
|
6866
|
+
declare function closeActiveTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: CloseActiveTunaSpotPositionOrcaInstructionsArgs): Promise<IInstruction>;
|
|
6867
6867
|
|
|
6868
6868
|
type IncreaseTunaSpotPositionOrcaInstructionsArgs = Omit<IncreaseTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6869
6869
|
declare function increaseTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: IncreaseTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
@@ -6875,11 +6875,11 @@ declare function increaseTunaSpotPositionFusionInstruction(authority: Transactio
|
|
|
6875
6875
|
|
|
6876
6876
|
type DecreaseTunaSpotPositionOrcaInstructionsArgs = Omit<DecreaseTunaSpotPositionOrcaInstructionDataArgs, "remainingAccountsInfo">;
|
|
6877
6877
|
declare function decreaseTunaSpotPositionOrcaInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, whirlpoolAddress: Address, args: DecreaseTunaSpotPositionOrcaInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6878
|
-
declare function decreaseTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>,
|
|
6878
|
+
declare function decreaseTunaSpotPositionOrcaInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, whirlpool: Account<Whirlpool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: DecreaseTunaSpotPositionOrcaInstructionsArgs): Promise<IInstruction>;
|
|
6879
6879
|
|
|
6880
6880
|
type DecreaseTunaSpotPositionFusionInstructionsArgs = Omit<DecreaseTunaSpotPositionFusionInstructionDataArgs, "remainingAccountsInfo">;
|
|
6881
6881
|
declare function decreaseTunaSpotPositionFusionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, fusionPoolAddress: Address, args: DecreaseTunaSpotPositionFusionInstructionsArgs, createInstructions?: IInstruction[], cleanupInstructions?: IInstruction[]): Promise<IInstruction[]>;
|
|
6882
|
-
declare function decreaseTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>,
|
|
6882
|
+
declare function decreaseTunaSpotPositionFusionInstruction(authority: TransactionSigner, tunaPosition: Account<TunaSpotPosition>, tunaConfig: Account<TunaConfig>, mintA: Account<Mint>, mintB: Account<Mint>, vaultA: Account<Vault>, vaultB: Account<Vault>, fusionPool: Account<FusionPool>, setTunaPositionOwnerAtaA: boolean, setTunaPositionOwnerAtaB: boolean, args: DecreaseTunaSpotPositionFusionInstructionsArgs): Promise<IInstruction>;
|
|
6883
6883
|
|
|
6884
6884
|
declare function closeTunaSpotPositionInstructions(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, authority: TransactionSigner, poolAddress: Address): Promise<IInstruction[]>;
|
|
6885
6885
|
declare function closeTunaSpotPositionInstruction(authority: TransactionSigner, poolAddress: Address, mintA: Account<Mint>, mintB: Account<Mint>): Promise<IInstruction>;
|
package/dist/index.js
CHANGED
|
@@ -11880,30 +11880,42 @@ async function closeActiveTunaSpotPositionFusionInstructions(rpc, authority, fus
|
|
|
11880
11880
|
const instructions = [];
|
|
11881
11881
|
if (!createInstructions) createInstructions = instructions;
|
|
11882
11882
|
if (!cleanupInstructions) cleanupInstructions = instructions;
|
|
11883
|
-
const
|
|
11884
|
-
|
|
11885
|
-
|
|
11886
|
-
|
|
11887
|
-
|
|
11888
|
-
|
|
11889
|
-
|
|
11890
|
-
|
|
11891
|
-
|
|
11883
|
+
const tunaPositionAtaAAddress = (await (0, import_token_202213.findAssociatedTokenPda)({
|
|
11884
|
+
owner: tunaPosition.address,
|
|
11885
|
+
mint: mintA.address,
|
|
11886
|
+
tokenProgram: mintA.programAddress
|
|
11887
|
+
}))[0];
|
|
11888
|
+
const tunaPositionAtaBAddress = (await (0, import_token_202213.findAssociatedTokenPda)({
|
|
11889
|
+
owner: tunaPosition.address,
|
|
11890
|
+
mint: mintB.address,
|
|
11891
|
+
tokenProgram: mintB.programAddress
|
|
11892
|
+
}))[0];
|
|
11893
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await (0, import_token_202213.fetchAllToken)(rpc, [
|
|
11894
|
+
tunaPositionAtaAAddress,
|
|
11895
|
+
tunaPositionAtaBAddress
|
|
11896
|
+
]);
|
|
11897
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
11898
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
11899
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
11900
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
11892
11901
|
const ix = await closeActiveTunaSpotPositionFusionInstruction(
|
|
11893
11902
|
authority,
|
|
11894
|
-
tunaPosition
|
|
11903
|
+
tunaPosition,
|
|
11895
11904
|
mintA,
|
|
11896
11905
|
mintB,
|
|
11897
11906
|
vaultA,
|
|
11898
11907
|
vaultB,
|
|
11899
11908
|
fusionPool,
|
|
11909
|
+
createUserAtaAInstructions != void 0,
|
|
11910
|
+
createUserAtaBInstructions != void 0,
|
|
11900
11911
|
{ ...args }
|
|
11901
11912
|
);
|
|
11902
11913
|
instructions.push(ix);
|
|
11903
|
-
cleanupInstructions.push(...
|
|
11914
|
+
if (createUserAtaAInstructions) cleanupInstructions.push(...createUserAtaAInstructions.cleanup);
|
|
11915
|
+
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
11904
11916
|
return instructions;
|
|
11905
11917
|
}
|
|
11906
|
-
async function closeActiveTunaSpotPositionFusionInstruction(authority,
|
|
11918
|
+
async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosition, mintA, mintB, vaultA, vaultB, fusionPool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
11907
11919
|
const tunaConfig = (await getTunaConfigAddress())[0];
|
|
11908
11920
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
11909
11921
|
const tunaPositionOwnerAtaA = (await (0, import_token_202213.findAssociatedTokenPda)({
|
|
@@ -11917,12 +11929,12 @@ async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosit
|
|
|
11917
11929
|
tokenProgram: mintB.programAddress
|
|
11918
11930
|
}))[0];
|
|
11919
11931
|
const tunaPositionAtaA = (await (0, import_token_202213.findAssociatedTokenPda)({
|
|
11920
|
-
owner:
|
|
11932
|
+
owner: tunaPosition.address,
|
|
11921
11933
|
mint: mintA.address,
|
|
11922
11934
|
tokenProgram: mintA.programAddress
|
|
11923
11935
|
}))[0];
|
|
11924
11936
|
const tunaPositionAtaB = (await (0, import_token_202213.findAssociatedTokenPda)({
|
|
11925
|
-
owner:
|
|
11937
|
+
owner: tunaPosition.address,
|
|
11926
11938
|
mint: mintB.address,
|
|
11927
11939
|
tokenProgram: mintB.programAddress
|
|
11928
11940
|
}))[0];
|
|
@@ -11967,9 +11979,9 @@ async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosit
|
|
|
11967
11979
|
tunaConfig,
|
|
11968
11980
|
tunaPositionAtaA,
|
|
11969
11981
|
tunaPositionAtaB,
|
|
11970
|
-
tunaPositionOwnerAtaA,
|
|
11971
|
-
tunaPositionOwnerAtaB,
|
|
11972
|
-
tunaPosition:
|
|
11982
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
11983
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
11984
|
+
tunaPosition: tunaPosition.address,
|
|
11973
11985
|
fusionPool: fusionPool.address,
|
|
11974
11986
|
fusionammProgram: import_fusionamm_client7.FUSIONAMM_PROGRAM_ADDRESS,
|
|
11975
11987
|
tokenProgramA: mintA.programAddress,
|
|
@@ -12004,30 +12016,42 @@ async function closeActiveTunaSpotPositionOrcaInstructions(rpc, authority, whirl
|
|
|
12004
12016
|
const instructions = [];
|
|
12005
12017
|
if (!createInstructions) createInstructions = instructions;
|
|
12006
12018
|
if (!cleanupInstructions) cleanupInstructions = instructions;
|
|
12007
|
-
const
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
12013
|
-
|
|
12014
|
-
|
|
12015
|
-
|
|
12019
|
+
const tunaPositionAtaAAddress = (await (0, import_token_202214.findAssociatedTokenPda)({
|
|
12020
|
+
owner: tunaPosition.address,
|
|
12021
|
+
mint: mintA.address,
|
|
12022
|
+
tokenProgram: mintA.programAddress
|
|
12023
|
+
}))[0];
|
|
12024
|
+
const tunaPositionAtaBAddress = (await (0, import_token_202214.findAssociatedTokenPda)({
|
|
12025
|
+
owner: tunaPosition.address,
|
|
12026
|
+
mint: mintB.address,
|
|
12027
|
+
tokenProgram: mintB.programAddress
|
|
12028
|
+
}))[0];
|
|
12029
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await (0, import_token_202214.fetchAllToken)(rpc, [
|
|
12030
|
+
tunaPositionAtaAAddress,
|
|
12031
|
+
tunaPositionAtaBAddress
|
|
12032
|
+
]);
|
|
12033
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12034
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12035
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12036
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12016
12037
|
const ix = await closeActiveTunaSpotPositionOrcaInstruction(
|
|
12017
12038
|
authority,
|
|
12018
|
-
tunaPosition
|
|
12039
|
+
tunaPosition,
|
|
12019
12040
|
mintA,
|
|
12020
12041
|
mintB,
|
|
12021
12042
|
vaultA,
|
|
12022
12043
|
vaultB,
|
|
12023
12044
|
whirlpool,
|
|
12045
|
+
createUserAtaAInstructions != void 0,
|
|
12046
|
+
createUserAtaBInstructions != void 0,
|
|
12024
12047
|
{ ...args }
|
|
12025
12048
|
);
|
|
12026
12049
|
instructions.push(ix);
|
|
12027
|
-
cleanupInstructions.push(...
|
|
12050
|
+
if (createUserAtaAInstructions) cleanupInstructions.push(...createUserAtaAInstructions.cleanup);
|
|
12051
|
+
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12028
12052
|
return instructions;
|
|
12029
12053
|
}
|
|
12030
|
-
async function closeActiveTunaSpotPositionOrcaInstruction(authority,
|
|
12054
|
+
async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPosition, mintA, mintB, vaultA, vaultB, whirlpool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12031
12055
|
const tunaConfig = (await getTunaConfigAddress())[0];
|
|
12032
12056
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
12033
12057
|
const orcaOracleAddress = (await (0, import_whirlpools_client7.getOracleAddress)(whirlpool.address))[0];
|
|
@@ -12042,12 +12066,12 @@ async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPositio
|
|
|
12042
12066
|
tokenProgram: mintB.programAddress
|
|
12043
12067
|
}))[0];
|
|
12044
12068
|
const tunaPositionAtaA = (await (0, import_token_202214.findAssociatedTokenPda)({
|
|
12045
|
-
owner:
|
|
12069
|
+
owner: tunaPosition.address,
|
|
12046
12070
|
mint: mintA.address,
|
|
12047
12071
|
tokenProgram: mintA.programAddress
|
|
12048
12072
|
}))[0];
|
|
12049
12073
|
const tunaPositionAtaB = (await (0, import_token_202214.findAssociatedTokenPda)({
|
|
12050
|
-
owner:
|
|
12074
|
+
owner: tunaPosition.address,
|
|
12051
12075
|
mint: mintB.address,
|
|
12052
12076
|
tokenProgram: mintB.programAddress
|
|
12053
12077
|
}))[0];
|
|
@@ -12094,9 +12118,9 @@ async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPositio
|
|
|
12094
12118
|
tunaConfig,
|
|
12095
12119
|
tunaPositionAtaA,
|
|
12096
12120
|
tunaPositionAtaB,
|
|
12097
|
-
tunaPositionOwnerAtaA,
|
|
12098
|
-
tunaPositionOwnerAtaB,
|
|
12099
|
-
tunaPosition:
|
|
12121
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12122
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12123
|
+
tunaPosition: tunaPosition.address,
|
|
12100
12124
|
whirlpool: whirlpool.address,
|
|
12101
12125
|
whirlpoolProgram: import_whirlpools_client7.WHIRLPOOL_PROGRAM_ADDRESS,
|
|
12102
12126
|
tokenProgramA: mintA.programAddress,
|
|
@@ -12440,39 +12464,24 @@ async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoo
|
|
|
12440
12464
|
(await getLendingVaultAddress(whirlpool.data.tokenMintA))[0],
|
|
12441
12465
|
(await getLendingVaultAddress(whirlpool.data.tokenMintB))[0]
|
|
12442
12466
|
]);
|
|
12443
|
-
const
|
|
12467
|
+
const tunaPositionAtaAAddress = (await (0, import_token_202217.findAssociatedTokenPda)({
|
|
12444
12468
|
owner: tunaPosition.address,
|
|
12445
12469
|
mint: mintA.address,
|
|
12446
12470
|
tokenProgram: mintA.programAddress
|
|
12447
12471
|
}))[0];
|
|
12448
|
-
const
|
|
12472
|
+
const tunaPositionAtaBAddress = (await (0, import_token_202217.findAssociatedTokenPda)({
|
|
12449
12473
|
owner: tunaPosition.address,
|
|
12450
12474
|
mint: mintB.address,
|
|
12451
12475
|
tokenProgram: mintB.programAddress
|
|
12452
12476
|
}))[0];
|
|
12453
|
-
const
|
|
12454
|
-
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
mintA.programAddress
|
|
12462
|
-
);
|
|
12463
|
-
createInstructions.push(...createUserAtaAInstructions.init);
|
|
12464
|
-
}
|
|
12465
|
-
let createUserAtaBInstructions = void 0;
|
|
12466
|
-
if (tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionTokenAccounts[1].data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n)) {
|
|
12467
|
-
createUserAtaBInstructions = await getCreateAtaInstructions(
|
|
12468
|
-
rpc,
|
|
12469
|
-
authority,
|
|
12470
|
-
mintB.address,
|
|
12471
|
-
authority.address,
|
|
12472
|
-
mintB.programAddress
|
|
12473
|
-
);
|
|
12474
|
-
createInstructions.push(...createUserAtaBInstructions.init);
|
|
12475
|
-
}
|
|
12477
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await (0, import_token_202217.fetchAllToken)(rpc, [
|
|
12478
|
+
tunaPositionAtaAAddress,
|
|
12479
|
+
tunaPositionAtaBAddress
|
|
12480
|
+
]);
|
|
12481
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12482
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12483
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12484
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12476
12485
|
const ix = await decreaseTunaSpotPositionOrcaInstruction(
|
|
12477
12486
|
authority,
|
|
12478
12487
|
tunaPosition,
|
|
@@ -12491,7 +12500,7 @@ async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoo
|
|
|
12491
12500
|
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12492
12501
|
return instructions;
|
|
12493
12502
|
}
|
|
12494
|
-
async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool,
|
|
12503
|
+
async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12495
12504
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
12496
12505
|
const orcaOracleAddress = (await (0, import_whirlpools_client9.getOracleAddress)(whirlpool.address))[0];
|
|
12497
12506
|
const tunaPositionOwnerAtaA = (await (0, import_token_202217.findAssociatedTokenPda)({
|
|
@@ -12560,8 +12569,8 @@ async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition,
|
|
|
12560
12569
|
tunaPosition: tunaPosition.address,
|
|
12561
12570
|
tunaPositionAtaA,
|
|
12562
12571
|
tunaPositionAtaB,
|
|
12563
|
-
|
|
12564
|
-
|
|
12572
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12573
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12565
12574
|
whirlpool: whirlpool.address,
|
|
12566
12575
|
whirlpoolProgram: import_whirlpools_client9.WHIRLPOOL_PROGRAM_ADDRESS,
|
|
12567
12576
|
memoProgram: import_memo12.MEMO_PROGRAM_ADDRESS,
|
|
@@ -12594,39 +12603,24 @@ async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusion
|
|
|
12594
12603
|
(await getLendingVaultAddress(fusionPool.data.tokenMintA))[0],
|
|
12595
12604
|
(await getLendingVaultAddress(fusionPool.data.tokenMintB))[0]
|
|
12596
12605
|
]);
|
|
12597
|
-
const
|
|
12606
|
+
const tunaPositionAtaAAddress = (await (0, import_token_202218.findAssociatedTokenPda)({
|
|
12598
12607
|
owner: tunaPosition.address,
|
|
12599
12608
|
mint: mintA.address,
|
|
12600
12609
|
tokenProgram: mintA.programAddress
|
|
12601
12610
|
}))[0];
|
|
12602
|
-
const
|
|
12611
|
+
const tunaPositionAtaBAddress = (await (0, import_token_202218.findAssociatedTokenPda)({
|
|
12603
12612
|
owner: tunaPosition.address,
|
|
12604
12613
|
mint: mintB.address,
|
|
12605
12614
|
tokenProgram: mintB.programAddress
|
|
12606
12615
|
}))[0];
|
|
12607
|
-
const
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
mintA.programAddress
|
|
12616
|
-
);
|
|
12617
|
-
createInstructions.push(...createUserAtaAInstructions.init);
|
|
12618
|
-
}
|
|
12619
|
-
let createUserAtaBInstructions = void 0;
|
|
12620
|
-
if (tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionTokenAccounts[1].data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n)) {
|
|
12621
|
-
createUserAtaBInstructions = await getCreateAtaInstructions(
|
|
12622
|
-
rpc,
|
|
12623
|
-
authority,
|
|
12624
|
-
mintB.address,
|
|
12625
|
-
authority.address,
|
|
12626
|
-
mintB.programAddress
|
|
12627
|
-
);
|
|
12628
|
-
createInstructions.push(...createUserAtaBInstructions.init);
|
|
12629
|
-
}
|
|
12616
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await (0, import_token_202218.fetchAllToken)(rpc, [
|
|
12617
|
+
tunaPositionAtaAAddress,
|
|
12618
|
+
tunaPositionAtaBAddress
|
|
12619
|
+
]);
|
|
12620
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12621
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12622
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12623
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12630
12624
|
const ix = await decreaseTunaSpotPositionFusionInstruction(
|
|
12631
12625
|
authority,
|
|
12632
12626
|
tunaPosition,
|
|
@@ -12645,7 +12639,7 @@ async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusion
|
|
|
12645
12639
|
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12646
12640
|
return instructions;
|
|
12647
12641
|
}
|
|
12648
|
-
async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool,
|
|
12642
|
+
async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12649
12643
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
12650
12644
|
const tunaPositionOwnerAtaA = (await (0, import_token_202218.findAssociatedTokenPda)({
|
|
12651
12645
|
owner: authority.address,
|
|
@@ -12711,8 +12705,8 @@ async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition
|
|
|
12711
12705
|
tunaPosition: tunaPosition.address,
|
|
12712
12706
|
tunaPositionAtaA,
|
|
12713
12707
|
tunaPositionAtaB,
|
|
12714
|
-
|
|
12715
|
-
|
|
12708
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12709
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12716
12710
|
fusionPool: fusionPool.address,
|
|
12717
12711
|
fusionammProgram: import_fusionamm_client9.FUSIONAMM_PROGRAM_ADDRESS,
|
|
12718
12712
|
memoProgram: import_memo13.MEMO_PROGRAM_ADDRESS,
|
package/dist/index.mjs
CHANGED
|
@@ -12115,7 +12115,7 @@ import {
|
|
|
12115
12115
|
AccountRole as AccountRole8
|
|
12116
12116
|
} from "@solana/kit";
|
|
12117
12117
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS8 } from "@solana-program/memo";
|
|
12118
|
-
import { fetchAllMaybeMint as fetchAllMaybeMint11, findAssociatedTokenPda as findAssociatedTokenPda13 } from "@solana-program/token-2022";
|
|
12118
|
+
import { fetchAllMaybeMint as fetchAllMaybeMint11, fetchAllToken, findAssociatedTokenPda as findAssociatedTokenPda13 } from "@solana-program/token-2022";
|
|
12119
12119
|
import assert11 from "assert";
|
|
12120
12120
|
async function closeActiveTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args, createInstructions, cleanupInstructions) {
|
|
12121
12121
|
const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPoolAddress))[0];
|
|
@@ -12133,30 +12133,42 @@ async function closeActiveTunaSpotPositionFusionInstructions(rpc, authority, fus
|
|
|
12133
12133
|
const instructions = [];
|
|
12134
12134
|
if (!createInstructions) createInstructions = instructions;
|
|
12135
12135
|
if (!cleanupInstructions) cleanupInstructions = instructions;
|
|
12136
|
-
const
|
|
12137
|
-
|
|
12138
|
-
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
|
|
12136
|
+
const tunaPositionAtaAAddress = (await findAssociatedTokenPda13({
|
|
12137
|
+
owner: tunaPosition.address,
|
|
12138
|
+
mint: mintA.address,
|
|
12139
|
+
tokenProgram: mintA.programAddress
|
|
12140
|
+
}))[0];
|
|
12141
|
+
const tunaPositionAtaBAddress = (await findAssociatedTokenPda13({
|
|
12142
|
+
owner: tunaPosition.address,
|
|
12143
|
+
mint: mintB.address,
|
|
12144
|
+
tokenProgram: mintB.programAddress
|
|
12145
|
+
}))[0];
|
|
12146
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await fetchAllToken(rpc, [
|
|
12147
|
+
tunaPositionAtaAAddress,
|
|
12148
|
+
tunaPositionAtaBAddress
|
|
12149
|
+
]);
|
|
12150
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12151
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12152
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12153
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12145
12154
|
const ix = await closeActiveTunaSpotPositionFusionInstruction(
|
|
12146
12155
|
authority,
|
|
12147
|
-
tunaPosition
|
|
12156
|
+
tunaPosition,
|
|
12148
12157
|
mintA,
|
|
12149
12158
|
mintB,
|
|
12150
12159
|
vaultA,
|
|
12151
12160
|
vaultB,
|
|
12152
12161
|
fusionPool,
|
|
12162
|
+
createUserAtaAInstructions != void 0,
|
|
12163
|
+
createUserAtaBInstructions != void 0,
|
|
12153
12164
|
{ ...args }
|
|
12154
12165
|
);
|
|
12155
12166
|
instructions.push(ix);
|
|
12156
|
-
cleanupInstructions.push(...
|
|
12167
|
+
if (createUserAtaAInstructions) cleanupInstructions.push(...createUserAtaAInstructions.cleanup);
|
|
12168
|
+
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12157
12169
|
return instructions;
|
|
12158
12170
|
}
|
|
12159
|
-
async function closeActiveTunaSpotPositionFusionInstruction(authority,
|
|
12171
|
+
async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosition, mintA, mintB, vaultA, vaultB, fusionPool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12160
12172
|
const tunaConfig = (await getTunaConfigAddress())[0];
|
|
12161
12173
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
12162
12174
|
const tunaPositionOwnerAtaA = (await findAssociatedTokenPda13({
|
|
@@ -12170,12 +12182,12 @@ async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosit
|
|
|
12170
12182
|
tokenProgram: mintB.programAddress
|
|
12171
12183
|
}))[0];
|
|
12172
12184
|
const tunaPositionAtaA = (await findAssociatedTokenPda13({
|
|
12173
|
-
owner:
|
|
12185
|
+
owner: tunaPosition.address,
|
|
12174
12186
|
mint: mintA.address,
|
|
12175
12187
|
tokenProgram: mintA.programAddress
|
|
12176
12188
|
}))[0];
|
|
12177
12189
|
const tunaPositionAtaB = (await findAssociatedTokenPda13({
|
|
12178
|
-
owner:
|
|
12190
|
+
owner: tunaPosition.address,
|
|
12179
12191
|
mint: mintB.address,
|
|
12180
12192
|
tokenProgram: mintB.programAddress
|
|
12181
12193
|
}))[0];
|
|
@@ -12220,9 +12232,9 @@ async function closeActiveTunaSpotPositionFusionInstruction(authority, tunaPosit
|
|
|
12220
12232
|
tunaConfig,
|
|
12221
12233
|
tunaPositionAtaA,
|
|
12222
12234
|
tunaPositionAtaB,
|
|
12223
|
-
tunaPositionOwnerAtaA,
|
|
12224
|
-
tunaPositionOwnerAtaB,
|
|
12225
|
-
tunaPosition:
|
|
12235
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12236
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12237
|
+
tunaPosition: tunaPosition.address,
|
|
12226
12238
|
fusionPool: fusionPool.address,
|
|
12227
12239
|
fusionammProgram: FUSIONAMM_PROGRAM_ADDRESS6,
|
|
12228
12240
|
tokenProgramA: mintA.programAddress,
|
|
@@ -12245,7 +12257,7 @@ import {
|
|
|
12245
12257
|
AccountRole as AccountRole9
|
|
12246
12258
|
} from "@solana/kit";
|
|
12247
12259
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS9 } from "@solana-program/memo";
|
|
12248
|
-
import { fetchAllMaybeMint as fetchAllMaybeMint12, findAssociatedTokenPda as findAssociatedTokenPda14 } from "@solana-program/token-2022";
|
|
12260
|
+
import { fetchAllMaybeMint as fetchAllMaybeMint12, fetchAllToken as fetchAllToken2, findAssociatedTokenPda as findAssociatedTokenPda14 } from "@solana-program/token-2022";
|
|
12249
12261
|
import assert12 from "assert";
|
|
12250
12262
|
async function closeActiveTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args, createInstructions, cleanupInstructions) {
|
|
12251
12263
|
const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpoolAddress))[0];
|
|
@@ -12263,30 +12275,42 @@ async function closeActiveTunaSpotPositionOrcaInstructions(rpc, authority, whirl
|
|
|
12263
12275
|
const instructions = [];
|
|
12264
12276
|
if (!createInstructions) createInstructions = instructions;
|
|
12265
12277
|
if (!cleanupInstructions) cleanupInstructions = instructions;
|
|
12266
|
-
const
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12278
|
+
const tunaPositionAtaAAddress = (await findAssociatedTokenPda14({
|
|
12279
|
+
owner: tunaPosition.address,
|
|
12280
|
+
mint: mintA.address,
|
|
12281
|
+
tokenProgram: mintA.programAddress
|
|
12282
|
+
}))[0];
|
|
12283
|
+
const tunaPositionAtaBAddress = (await findAssociatedTokenPda14({
|
|
12284
|
+
owner: tunaPosition.address,
|
|
12285
|
+
mint: mintB.address,
|
|
12286
|
+
tokenProgram: mintB.programAddress
|
|
12287
|
+
}))[0];
|
|
12288
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await fetchAllToken2(rpc, [
|
|
12289
|
+
tunaPositionAtaAAddress,
|
|
12290
|
+
tunaPositionAtaBAddress
|
|
12291
|
+
]);
|
|
12292
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12293
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12294
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12295
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12275
12296
|
const ix = await closeActiveTunaSpotPositionOrcaInstruction(
|
|
12276
12297
|
authority,
|
|
12277
|
-
tunaPosition
|
|
12298
|
+
tunaPosition,
|
|
12278
12299
|
mintA,
|
|
12279
12300
|
mintB,
|
|
12280
12301
|
vaultA,
|
|
12281
12302
|
vaultB,
|
|
12282
12303
|
whirlpool,
|
|
12304
|
+
createUserAtaAInstructions != void 0,
|
|
12305
|
+
createUserAtaBInstructions != void 0,
|
|
12283
12306
|
{ ...args }
|
|
12284
12307
|
);
|
|
12285
12308
|
instructions.push(ix);
|
|
12286
|
-
cleanupInstructions.push(...
|
|
12309
|
+
if (createUserAtaAInstructions) cleanupInstructions.push(...createUserAtaAInstructions.cleanup);
|
|
12310
|
+
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12287
12311
|
return instructions;
|
|
12288
12312
|
}
|
|
12289
|
-
async function closeActiveTunaSpotPositionOrcaInstruction(authority,
|
|
12313
|
+
async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPosition, mintA, mintB, vaultA, vaultB, whirlpool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12290
12314
|
const tunaConfig = (await getTunaConfigAddress())[0];
|
|
12291
12315
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
12292
12316
|
const orcaOracleAddress = (await getOracleAddress3(whirlpool.address))[0];
|
|
@@ -12301,12 +12325,12 @@ async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPositio
|
|
|
12301
12325
|
tokenProgram: mintB.programAddress
|
|
12302
12326
|
}))[0];
|
|
12303
12327
|
const tunaPositionAtaA = (await findAssociatedTokenPda14({
|
|
12304
|
-
owner:
|
|
12328
|
+
owner: tunaPosition.address,
|
|
12305
12329
|
mint: mintA.address,
|
|
12306
12330
|
tokenProgram: mintA.programAddress
|
|
12307
12331
|
}))[0];
|
|
12308
12332
|
const tunaPositionAtaB = (await findAssociatedTokenPda14({
|
|
12309
|
-
owner:
|
|
12333
|
+
owner: tunaPosition.address,
|
|
12310
12334
|
mint: mintB.address,
|
|
12311
12335
|
tokenProgram: mintB.programAddress
|
|
12312
12336
|
}))[0];
|
|
@@ -12353,9 +12377,9 @@ async function closeActiveTunaSpotPositionOrcaInstruction(authority, tunaPositio
|
|
|
12353
12377
|
tunaConfig,
|
|
12354
12378
|
tunaPositionAtaA,
|
|
12355
12379
|
tunaPositionAtaB,
|
|
12356
|
-
tunaPositionOwnerAtaA,
|
|
12357
|
-
tunaPositionOwnerAtaB,
|
|
12358
|
-
tunaPosition:
|
|
12380
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12381
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12382
|
+
tunaPosition: tunaPosition.address,
|
|
12359
12383
|
whirlpool: whirlpool.address,
|
|
12360
12384
|
whirlpoolProgram: WHIRLPOOL_PROGRAM_ADDRESS6,
|
|
12361
12385
|
tokenProgramA: mintA.programAddress,
|
|
@@ -12687,7 +12711,7 @@ import {
|
|
|
12687
12711
|
AccountRole as AccountRole12
|
|
12688
12712
|
} from "@solana/kit";
|
|
12689
12713
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS12 } from "@solana-program/memo";
|
|
12690
|
-
import { fetchAllMaybeMint as fetchAllMaybeMint15, fetchAllToken, findAssociatedTokenPda as findAssociatedTokenPda17 } from "@solana-program/token-2022";
|
|
12714
|
+
import { fetchAllMaybeMint as fetchAllMaybeMint15, fetchAllToken as fetchAllToken3, findAssociatedTokenPda as findAssociatedTokenPda17 } from "@solana-program/token-2022";
|
|
12691
12715
|
import assert15 from "assert";
|
|
12692
12716
|
async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args, createInstructions, cleanupInstructions) {
|
|
12693
12717
|
const instructions = [];
|
|
@@ -12705,39 +12729,24 @@ async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoo
|
|
|
12705
12729
|
(await getLendingVaultAddress(whirlpool.data.tokenMintA))[0],
|
|
12706
12730
|
(await getLendingVaultAddress(whirlpool.data.tokenMintB))[0]
|
|
12707
12731
|
]);
|
|
12708
|
-
const
|
|
12732
|
+
const tunaPositionAtaAAddress = (await findAssociatedTokenPda17({
|
|
12709
12733
|
owner: tunaPosition.address,
|
|
12710
12734
|
mint: mintA.address,
|
|
12711
12735
|
tokenProgram: mintA.programAddress
|
|
12712
12736
|
}))[0];
|
|
12713
|
-
const
|
|
12737
|
+
const tunaPositionAtaBAddress = (await findAssociatedTokenPda17({
|
|
12714
12738
|
owner: tunaPosition.address,
|
|
12715
12739
|
mint: mintB.address,
|
|
12716
12740
|
tokenProgram: mintB.programAddress
|
|
12717
12741
|
}))[0];
|
|
12718
|
-
const
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
|
|
12726
|
-
mintA.programAddress
|
|
12727
|
-
);
|
|
12728
|
-
createInstructions.push(...createUserAtaAInstructions.init);
|
|
12729
|
-
}
|
|
12730
|
-
let createUserAtaBInstructions = void 0;
|
|
12731
|
-
if (tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionTokenAccounts[1].data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n)) {
|
|
12732
|
-
createUserAtaBInstructions = await getCreateAtaInstructions(
|
|
12733
|
-
rpc,
|
|
12734
|
-
authority,
|
|
12735
|
-
mintB.address,
|
|
12736
|
-
authority.address,
|
|
12737
|
-
mintB.programAddress
|
|
12738
|
-
);
|
|
12739
|
-
createInstructions.push(...createUserAtaBInstructions.init);
|
|
12740
|
-
}
|
|
12742
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await fetchAllToken3(rpc, [
|
|
12743
|
+
tunaPositionAtaAAddress,
|
|
12744
|
+
tunaPositionAtaBAddress
|
|
12745
|
+
]);
|
|
12746
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12747
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12748
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12749
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12741
12750
|
const ix = await decreaseTunaSpotPositionOrcaInstruction(
|
|
12742
12751
|
authority,
|
|
12743
12752
|
tunaPosition,
|
|
@@ -12756,7 +12765,7 @@ async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoo
|
|
|
12756
12765
|
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12757
12766
|
return instructions;
|
|
12758
12767
|
}
|
|
12759
|
-
async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool,
|
|
12768
|
+
async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12760
12769
|
const marketAddress = (await getMarketAddress(whirlpool.address))[0];
|
|
12761
12770
|
const orcaOracleAddress = (await getOracleAddress5(whirlpool.address))[0];
|
|
12762
12771
|
const tunaPositionOwnerAtaA = (await findAssociatedTokenPda17({
|
|
@@ -12825,8 +12834,8 @@ async function decreaseTunaSpotPositionOrcaInstruction(authority, tunaPosition,
|
|
|
12825
12834
|
tunaPosition: tunaPosition.address,
|
|
12826
12835
|
tunaPositionAtaA,
|
|
12827
12836
|
tunaPositionAtaB,
|
|
12828
|
-
|
|
12829
|
-
|
|
12837
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12838
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12830
12839
|
whirlpool: whirlpool.address,
|
|
12831
12840
|
whirlpoolProgram: WHIRLPOOL_PROGRAM_ADDRESS8,
|
|
12832
12841
|
memoProgram: MEMO_PROGRAM_ADDRESS12,
|
|
@@ -12843,7 +12852,7 @@ import {
|
|
|
12843
12852
|
AccountRole as AccountRole13
|
|
12844
12853
|
} from "@solana/kit";
|
|
12845
12854
|
import { MEMO_PROGRAM_ADDRESS as MEMO_PROGRAM_ADDRESS13 } from "@solana-program/memo";
|
|
12846
|
-
import { fetchAllMaybeMint as fetchAllMaybeMint16, fetchAllToken as
|
|
12855
|
+
import { fetchAllMaybeMint as fetchAllMaybeMint16, fetchAllToken as fetchAllToken4, findAssociatedTokenPda as findAssociatedTokenPda18 } from "@solana-program/token-2022";
|
|
12847
12856
|
import assert16 from "assert";
|
|
12848
12857
|
async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args, createInstructions, cleanupInstructions) {
|
|
12849
12858
|
const instructions = [];
|
|
@@ -12861,39 +12870,24 @@ async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusion
|
|
|
12861
12870
|
(await getLendingVaultAddress(fusionPool.data.tokenMintA))[0],
|
|
12862
12871
|
(await getLendingVaultAddress(fusionPool.data.tokenMintB))[0]
|
|
12863
12872
|
]);
|
|
12864
|
-
const
|
|
12873
|
+
const tunaPositionAtaAAddress = (await findAssociatedTokenPda18({
|
|
12865
12874
|
owner: tunaPosition.address,
|
|
12866
12875
|
mint: mintA.address,
|
|
12867
12876
|
tokenProgram: mintA.programAddress
|
|
12868
12877
|
}))[0];
|
|
12869
|
-
const
|
|
12878
|
+
const tunaPositionAtaBAddress = (await findAssociatedTokenPda18({
|
|
12870
12879
|
owner: tunaPosition.address,
|
|
12871
12880
|
mint: mintB.address,
|
|
12872
12881
|
tokenProgram: mintB.programAddress
|
|
12873
12882
|
}))[0];
|
|
12874
|
-
const
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
mintA.programAddress
|
|
12883
|
-
);
|
|
12884
|
-
createInstructions.push(...createUserAtaAInstructions.init);
|
|
12885
|
-
}
|
|
12886
|
-
let createUserAtaBInstructions = void 0;
|
|
12887
|
-
if (tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionTokenAccounts[1].data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n)) {
|
|
12888
|
-
createUserAtaBInstructions = await getCreateAtaInstructions(
|
|
12889
|
-
rpc,
|
|
12890
|
-
authority,
|
|
12891
|
-
mintB.address,
|
|
12892
|
-
authority.address,
|
|
12893
|
-
mintB.programAddress
|
|
12894
|
-
);
|
|
12895
|
-
createInstructions.push(...createUserAtaBInstructions.init);
|
|
12896
|
-
}
|
|
12883
|
+
const [tunaPositionAtaA, tunaPositionAtaB] = await fetchAllToken4(rpc, [
|
|
12884
|
+
tunaPositionAtaAAddress,
|
|
12885
|
+
tunaPositionAtaBAddress
|
|
12886
|
+
]);
|
|
12887
|
+
const createUserAtaAInstructions = tunaPosition.data.collateralToken == 0 /* A */ || tunaPositionAtaA.data.amount > (tunaPosition.data.positionToken == 0 /* A */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintA.address, authority.address, mintA.programAddress) : void 0;
|
|
12888
|
+
if (createUserAtaAInstructions) createInstructions.push(...createUserAtaAInstructions.init);
|
|
12889
|
+
const createUserAtaBInstructions = tunaPosition.data.collateralToken == 1 /* B */ || tunaPositionAtaB.data.amount > (tunaPosition.data.positionToken == 1 /* B */ ? tunaPosition.data.amount : 0n) ? await getCreateAtaInstructions(rpc, authority, mintB.address, authority.address, mintB.programAddress) : void 0;
|
|
12890
|
+
if (createUserAtaBInstructions) createInstructions.push(...createUserAtaBInstructions.init);
|
|
12897
12891
|
const ix = await decreaseTunaSpotPositionFusionInstruction(
|
|
12898
12892
|
authority,
|
|
12899
12893
|
tunaPosition,
|
|
@@ -12912,7 +12906,7 @@ async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusion
|
|
|
12912
12906
|
if (createUserAtaBInstructions) cleanupInstructions.push(...createUserAtaBInstructions.cleanup);
|
|
12913
12907
|
return instructions;
|
|
12914
12908
|
}
|
|
12915
|
-
async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool,
|
|
12909
|
+
async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, setTunaPositionOwnerAtaA, setTunaPositionOwnerAtaB, args) {
|
|
12916
12910
|
const marketAddress = (await getMarketAddress(fusionPool.address))[0];
|
|
12917
12911
|
const tunaPositionOwnerAtaA = (await findAssociatedTokenPda18({
|
|
12918
12912
|
owner: authority.address,
|
|
@@ -12978,8 +12972,8 @@ async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition
|
|
|
12978
12972
|
tunaPosition: tunaPosition.address,
|
|
12979
12973
|
tunaPositionAtaA,
|
|
12980
12974
|
tunaPositionAtaB,
|
|
12981
|
-
|
|
12982
|
-
|
|
12975
|
+
...setTunaPositionOwnerAtaA && { tunaPositionOwnerAtaA },
|
|
12976
|
+
...setTunaPositionOwnerAtaB && { tunaPositionOwnerAtaB },
|
|
12983
12977
|
fusionPool: fusionPool.address,
|
|
12984
12978
|
fusionammProgram: FUSIONAMM_PROGRAM_ADDRESS8,
|
|
12985
12979
|
memoProgram: MEMO_PROGRAM_ADDRESS13,
|
package/package.json
CHANGED