@crypticdot/defituna-client 3.0.4 → 3.1.0

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.js CHANGED
@@ -49,7 +49,6 @@ __export(index_exports, {
49
49
  DECREASE_TUNA_SPOT_POSITION_FUSION_DISCRIMINATOR: () => DECREASE_TUNA_SPOT_POSITION_FUSION_DISCRIMINATOR,
50
50
  DECREASE_TUNA_SPOT_POSITION_ORCA_DISCRIMINATOR: () => DECREASE_TUNA_SPOT_POSITION_ORCA_DISCRIMINATOR,
51
51
  DEFAULT_ADDRESS: () => DEFAULT_ADDRESS,
52
- DEFAULT_MAX_AMOUNT_SLIPPAGE: () => DEFAULT_MAX_AMOUNT_SLIPPAGE,
53
52
  DEFAULT_MAX_SWAP_SLIPPAGE: () => DEFAULT_MAX_SWAP_SLIPPAGE,
54
53
  DEFAULT_PUSH_ORACLE_PROGRAM_ID: () => DEFAULT_PUSH_ORACLE_PROGRAM_ID,
55
54
  DEPOSIT_DISCRIMINATOR: () => DEPOSIT_DISCRIMINATOR,
@@ -349,6 +348,7 @@ __export(index_exports, {
349
348
  getDepositInstructionDataCodec: () => getDepositInstructionDataCodec,
350
349
  getDepositInstructionDataDecoder: () => getDepositInstructionDataDecoder,
351
350
  getDepositInstructionDataEncoder: () => getDepositInstructionDataEncoder,
351
+ getIncreaseLpPositionQuote: () => getIncreaseLpPositionQuote,
352
352
  getIncreaseTunaLpPositionFusionDiscriminatorBytes: () => getIncreaseTunaLpPositionFusionDiscriminatorBytes,
353
353
  getIncreaseTunaLpPositionFusionInstruction: () => getIncreaseTunaLpPositionFusionInstruction,
354
354
  getIncreaseTunaLpPositionFusionInstructionDataCodec: () => getIncreaseTunaLpPositionFusionInstructionDataCodec,
@@ -396,7 +396,6 @@ __export(index_exports, {
396
396
  getLiquidateTunaSpotPositionOrcaInstructionDataCodec: () => getLiquidateTunaSpotPositionOrcaInstructionDataCodec,
397
397
  getLiquidateTunaSpotPositionOrcaInstructionDataDecoder: () => getLiquidateTunaSpotPositionOrcaInstructionDataDecoder,
398
398
  getLiquidateTunaSpotPositionOrcaInstructionDataEncoder: () => getLiquidateTunaSpotPositionOrcaInstructionDataEncoder,
399
- getLiquidityIncreaseQuote: () => getLiquidityIncreaseQuote,
400
399
  getMarketAddress: () => getMarketAddress,
401
400
  getMarketCodec: () => getMarketCodec,
402
401
  getMarketDecoder: () => getMarketDecoder,
@@ -699,7 +698,6 @@ __export(index_exports, {
699
698
  tunaSpotPositionAuthorityFilter: () => tunaSpotPositionAuthorityFilter,
700
699
  tunaSpotPositionMintAFilter: () => tunaSpotPositionMintAFilter,
701
700
  tunaSpotPositionMintBFilter: () => tunaSpotPositionMintBFilter,
702
- tunaSpotPositionMintFilter: () => tunaSpotPositionMintFilter,
703
701
  tunaSpotPositionPoolFilter: () => tunaSpotPositionPoolFilter,
704
702
  updateMarketInstruction: () => updateMarketInstruction,
705
703
  updateVaultInstruction: () => updateVaultInstruction,
@@ -1250,7 +1248,6 @@ function getTunaSpotPositionEncoder() {
1250
1248
  ["pool", (0, import_kit11.getAddressEncoder)()],
1251
1249
  ["mintA", (0, import_kit11.getAddressEncoder)()],
1252
1250
  ["mintB", (0, import_kit11.getAddressEncoder)()],
1253
- ["positionMint", (0, import_kit11.getAddressEncoder)()],
1254
1251
  ["marketMaker", getMarketMakerEncoder()],
1255
1252
  ["positionToken", getPoolTokenEncoder()],
1256
1253
  ["collateralToken", getPoolTokenEncoder()],
@@ -1276,7 +1273,6 @@ function getTunaSpotPositionDecoder() {
1276
1273
  ["pool", (0, import_kit11.getAddressDecoder)()],
1277
1274
  ["mintA", (0, import_kit11.getAddressDecoder)()],
1278
1275
  ["mintB", (0, import_kit11.getAddressDecoder)()],
1279
- ["positionMint", (0, import_kit11.getAddressDecoder)()],
1280
1276
  ["marketMaker", getMarketMakerDecoder()],
1281
1277
  ["positionToken", getPoolTokenDecoder()],
1282
1278
  ["collateralToken", getPoolTokenDecoder()],
@@ -1328,7 +1324,7 @@ async function fetchAllMaybeTunaSpotPosition(rpc, addresses, config) {
1328
1324
  );
1329
1325
  }
1330
1326
  function getTunaSpotPositionSize() {
1331
- return 379;
1327
+ return 347;
1332
1328
  }
1333
1329
 
1334
1330
  // src/generated/accounts/vault.ts
@@ -6738,10 +6734,6 @@ function getOpenAndIncreaseTunaSpotPositionFusionInstruction(input, config) {
6738
6734
  vaultAAta: { value: input.vaultAAta ?? null, isWritable: true },
6739
6735
  vaultBAta: { value: input.vaultBAta ?? null, isWritable: true },
6740
6736
  tunaPosition: { value: input.tunaPosition ?? null, isWritable: true },
6741
- tunaPositionMint: {
6742
- value: input.tunaPositionMint ?? null,
6743
- isWritable: false
6744
- },
6745
6737
  tunaPositionAtaA: {
6746
6738
  value: input.tunaPositionAtaA ?? null,
6747
6739
  isWritable: true
@@ -6806,7 +6798,6 @@ function getOpenAndIncreaseTunaSpotPositionFusionInstruction(input, config) {
6806
6798
  getAccountMeta(accounts.vaultAAta),
6807
6799
  getAccountMeta(accounts.vaultBAta),
6808
6800
  getAccountMeta(accounts.tunaPosition),
6809
- getAccountMeta(accounts.tunaPositionMint),
6810
6801
  getAccountMeta(accounts.tunaPositionAtaA),
6811
6802
  getAccountMeta(accounts.tunaPositionAtaB),
6812
6803
  getAccountMeta(accounts.tunaPositionOwnerAtaA),
@@ -6829,7 +6820,7 @@ function getOpenAndIncreaseTunaSpotPositionFusionInstruction(input, config) {
6829
6820
  return instruction;
6830
6821
  }
6831
6822
  function parseOpenAndIncreaseTunaSpotPositionFusionInstruction(instruction) {
6832
- if (instruction.accounts.length < 26) {
6823
+ if (instruction.accounts.length < 25) {
6833
6824
  throw new Error("Not enough accounts");
6834
6825
  }
6835
6826
  let accountIndex = 0;
@@ -6857,7 +6848,6 @@ function parseOpenAndIncreaseTunaSpotPositionFusionInstruction(instruction) {
6857
6848
  vaultAAta: getNextAccount(),
6858
6849
  vaultBAta: getNextAccount(),
6859
6850
  tunaPosition: getNextAccount(),
6860
- tunaPositionMint: getNextAccount(),
6861
6851
  tunaPositionAtaA: getNextAccount(),
6862
6852
  tunaPositionAtaB: getNextAccount(),
6863
6853
  tunaPositionOwnerAtaA: getNextOptionalAccount(),
@@ -6941,10 +6931,6 @@ function getOpenAndIncreaseTunaSpotPositionOrcaInstruction(input, config) {
6941
6931
  vaultAAta: { value: input.vaultAAta ?? null, isWritable: true },
6942
6932
  vaultBAta: { value: input.vaultBAta ?? null, isWritable: true },
6943
6933
  tunaPosition: { value: input.tunaPosition ?? null, isWritable: true },
6944
- tunaPositionMint: {
6945
- value: input.tunaPositionMint ?? null,
6946
- isWritable: false
6947
- },
6948
6934
  tunaPositionAtaA: {
6949
6935
  value: input.tunaPositionAtaA ?? null,
6950
6936
  isWritable: true
@@ -7009,7 +6995,6 @@ function getOpenAndIncreaseTunaSpotPositionOrcaInstruction(input, config) {
7009
6995
  getAccountMeta(accounts.vaultAAta),
7010
6996
  getAccountMeta(accounts.vaultBAta),
7011
6997
  getAccountMeta(accounts.tunaPosition),
7012
- getAccountMeta(accounts.tunaPositionMint),
7013
6998
  getAccountMeta(accounts.tunaPositionAtaA),
7014
6999
  getAccountMeta(accounts.tunaPositionAtaB),
7015
7000
  getAccountMeta(accounts.tunaPositionOwnerAtaA),
@@ -7032,7 +7017,7 @@ function getOpenAndIncreaseTunaSpotPositionOrcaInstruction(input, config) {
7032
7017
  return instruction;
7033
7018
  }
7034
7019
  function parseOpenAndIncreaseTunaSpotPositionOrcaInstruction(instruction) {
7035
- if (instruction.accounts.length < 26) {
7020
+ if (instruction.accounts.length < 25) {
7036
7021
  throw new Error("Not enough accounts");
7037
7022
  }
7038
7023
  let accountIndex = 0;
@@ -7060,7 +7045,6 @@ function parseOpenAndIncreaseTunaSpotPositionOrcaInstruction(instruction) {
7060
7045
  vaultAAta: getNextAccount(),
7061
7046
  vaultBAta: getNextAccount(),
7062
7047
  tunaPosition: getNextAccount(),
7063
- tunaPositionMint: getNextAccount(),
7064
7048
  tunaPositionAtaA: getNextAccount(),
7065
7049
  tunaPositionAtaB: getNextAccount(),
7066
7050
  tunaPositionOwnerAtaA: getNextOptionalAccount(),
@@ -7559,10 +7543,6 @@ function getOpenTunaSpotPositionFusionInstruction(input, config) {
7559
7543
  tokenProgramA: { value: input.tokenProgramA ?? null, isWritable: false },
7560
7544
  tokenProgramB: { value: input.tokenProgramB ?? null, isWritable: false },
7561
7545
  tunaPosition: { value: input.tunaPosition ?? null, isWritable: true },
7562
- tunaPositionMint: {
7563
- value: input.tunaPositionMint ?? null,
7564
- isWritable: false
7565
- },
7566
7546
  tunaPositionAtaA: {
7567
7547
  value: input.tunaPositionAtaA ?? null,
7568
7548
  isWritable: true
@@ -7592,7 +7572,6 @@ function getOpenTunaSpotPositionFusionInstruction(input, config) {
7592
7572
  getAccountMeta(accounts.tokenProgramA),
7593
7573
  getAccountMeta(accounts.tokenProgramB),
7594
7574
  getAccountMeta(accounts.tunaPosition),
7595
- getAccountMeta(accounts.tunaPositionMint),
7596
7575
  getAccountMeta(accounts.tunaPositionAtaA),
7597
7576
  getAccountMeta(accounts.tunaPositionAtaB),
7598
7577
  getAccountMeta(accounts.fusionPool),
@@ -7607,7 +7586,7 @@ function getOpenTunaSpotPositionFusionInstruction(input, config) {
7607
7586
  return instruction;
7608
7587
  }
7609
7588
  function parseOpenTunaSpotPositionFusionInstruction(instruction) {
7610
- if (instruction.accounts.length < 12) {
7589
+ if (instruction.accounts.length < 11) {
7611
7590
  throw new Error("Not enough accounts");
7612
7591
  }
7613
7592
  let accountIndex = 0;
@@ -7625,7 +7604,6 @@ function parseOpenTunaSpotPositionFusionInstruction(instruction) {
7625
7604
  tokenProgramA: getNextAccount(),
7626
7605
  tokenProgramB: getNextAccount(),
7627
7606
  tunaPosition: getNextAccount(),
7628
- tunaPositionMint: getNextAccount(),
7629
7607
  tunaPositionAtaA: getNextAccount(),
7630
7608
  tunaPositionAtaB: getNextAccount(),
7631
7609
  fusionPool: getNextAccount(),
@@ -7696,10 +7674,6 @@ function getOpenTunaSpotPositionOrcaInstruction(input, config) {
7696
7674
  tokenProgramA: { value: input.tokenProgramA ?? null, isWritable: false },
7697
7675
  tokenProgramB: { value: input.tokenProgramB ?? null, isWritable: false },
7698
7676
  tunaPosition: { value: input.tunaPosition ?? null, isWritable: true },
7699
- tunaPositionMint: {
7700
- value: input.tunaPositionMint ?? null,
7701
- isWritable: false
7702
- },
7703
7677
  tunaPositionAtaA: {
7704
7678
  value: input.tunaPositionAtaA ?? null,
7705
7679
  isWritable: true
@@ -7729,7 +7703,6 @@ function getOpenTunaSpotPositionOrcaInstruction(input, config) {
7729
7703
  getAccountMeta(accounts.tokenProgramA),
7730
7704
  getAccountMeta(accounts.tokenProgramB),
7731
7705
  getAccountMeta(accounts.tunaPosition),
7732
- getAccountMeta(accounts.tunaPositionMint),
7733
7706
  getAccountMeta(accounts.tunaPositionAtaA),
7734
7707
  getAccountMeta(accounts.tunaPositionAtaB),
7735
7708
  getAccountMeta(accounts.whirlpool),
@@ -7744,7 +7717,7 @@ function getOpenTunaSpotPositionOrcaInstruction(input, config) {
7744
7717
  return instruction;
7745
7718
  }
7746
7719
  function parseOpenTunaSpotPositionOrcaInstruction(instruction) {
7747
- if (instruction.accounts.length < 12) {
7720
+ if (instruction.accounts.length < 11) {
7748
7721
  throw new Error("Not enough accounts");
7749
7722
  }
7750
7723
  let accountIndex = 0;
@@ -7762,7 +7735,6 @@ function parseOpenTunaSpotPositionOrcaInstruction(instruction) {
7762
7735
  tokenProgramA: getNextAccount(),
7763
7736
  tokenProgramB: getNextAccount(),
7764
7737
  tunaPosition: getNextAccount(),
7765
- tunaPositionMint: getNextAccount(),
7766
7738
  tunaPositionAtaA: getNextAccount(),
7767
7739
  tunaPositionAtaB: getNextAccount(),
7768
7740
  whirlpool: getNextAccount(),
@@ -9767,10 +9739,10 @@ async function getLendingVaultAddress(mint) {
9767
9739
  seeds: ["vault", (0, import_kit72.getAddressEncoder)().encode(mint)]
9768
9740
  });
9769
9741
  }
9770
- async function getLendingPositionAddress(wallet, mint) {
9742
+ async function getLendingPositionAddress(authority, mint) {
9771
9743
  return await (0, import_kit72.getProgramDerivedAddress)({
9772
9744
  programAddress: TUNA_PROGRAM_ADDRESS,
9773
- seeds: ["lending_position", (0, import_kit72.getAddressEncoder)().encode(wallet), (0, import_kit72.getAddressEncoder)().encode(mint)]
9745
+ seeds: ["lending_position", (0, import_kit72.getAddressEncoder)().encode(authority), (0, import_kit72.getAddressEncoder)().encode(mint)]
9774
9746
  });
9775
9747
  }
9776
9748
  async function getTunaLpPositionAddress(positionMint) {
@@ -9779,10 +9751,10 @@ async function getTunaLpPositionAddress(positionMint) {
9779
9751
  seeds: ["tuna_position", (0, import_kit72.getAddressEncoder)().encode(positionMint)]
9780
9752
  });
9781
9753
  }
9782
- async function getTunaSpotPositionAddress(positionMint) {
9754
+ async function getTunaSpotPositionAddress(authority, pool) {
9783
9755
  return await (0, import_kit72.getProgramDerivedAddress)({
9784
9756
  programAddress: TUNA_PROGRAM_ADDRESS,
9785
- seeds: ["tuna_spot_position", (0, import_kit72.getAddressEncoder)().encode(positionMint)]
9757
+ seeds: ["tuna_spot_position", (0, import_kit72.getAddressEncoder)().encode(authority), (0, import_kit72.getAddressEncoder)().encode(pool)]
9786
9758
  });
9787
9759
  }
9788
9760
  async function getPythPriceUpdateAccountAddress(shardId, priceFeedId) {
@@ -9935,15 +9907,6 @@ function tunaSpotPositionMintBFilter(address4) {
9935
9907
  }
9936
9908
  };
9937
9909
  }
9938
- function tunaSpotPositionMintFilter(address4) {
9939
- return {
9940
- memcmp: {
9941
- offset: 139n,
9942
- bytes: (0, import_kit75.getBase58Decoder)().decode((0, import_kit75.getAddressEncoder)().encode(address4)),
9943
- encoding: "base58"
9944
- }
9945
- };
9946
- }
9947
9910
  async function fetchAllTunaSpotPositionWithFilter(rpc, ...filters) {
9948
9911
  const discriminator = (0, import_kit75.getBase58Decoder)().decode(TUNA_SPOT_POSITION_DISCRIMINATOR);
9949
9912
  const discriminatorFilter = {
@@ -10161,10 +10124,9 @@ async function createAddressLookupTableInstructions(authority, addresses, recent
10161
10124
  return { instructions: [createInstruction, extendInstruction], lookupTableAddress: pda[0] };
10162
10125
  }
10163
10126
 
10164
- // src/utils/positionMath.ts
10127
+ // src/utils/lpPositionMath.ts
10165
10128
  var import_fusionamm_core3 = require("@crypticdot/fusionamm-core");
10166
- var DEFAULT_MAX_AMOUNT_SLIPPAGE = HUNDRED_PERCENT / 2;
10167
- function getLiquidityIncreaseQuote(args) {
10129
+ function getIncreaseLpPositionQuote(args) {
10168
10130
  const { protocolFeeRate, protocolFeeRateOnCollateral, swapFeeRate, sqrtPrice, tickLowerIndex, tickUpperIndex } = args;
10169
10131
  let { collateralA, collateralB, borrowA, borrowB } = args;
10170
10132
  if (tickLowerIndex > tickUpperIndex) {
@@ -10176,7 +10138,7 @@ function getLiquidityIncreaseQuote(args) {
10176
10138
  if (args.collateralA == COMPUTED_AMOUNT && args.collateralB == COMPUTED_AMOUNT) {
10177
10139
  throw new Error("Both collateral amounts can't be set to COMPUTED_AMOUNT");
10178
10140
  }
10179
- const maxAmountSlippage = args.maxAmountSlippage > 0 ? BigInt(args.maxAmountSlippage) : BigInt(DEFAULT_MAX_AMOUNT_SLIPPAGE);
10141
+ const maxAmountSlippage = BigInt(args.maxAmountSlippage);
10180
10142
  let maxCollateralA = BigInt(collateralA);
10181
10143
  let maxCollateralB = BigInt(collateralB);
10182
10144
  const lowerSqrtPrice = (0, import_fusionamm_core3.tickIndexToSqrtPrice)(tickLowerIndex);
@@ -10292,7 +10254,7 @@ async function increaseTunaLpPositionOrcaInstructions(rpc, authority, positionMi
10292
10254
  const [mintA, mintB] = await (0, import_token_20222.fetchAllMaybeMint)(rpc, [whirlpool.data.tokenMintA, whirlpool.data.tokenMintB]);
10293
10255
  (0, import_assert.default)(mintA.exists, "Token A not found");
10294
10256
  (0, import_assert.default)(mintB.exists, "Token B not found");
10295
- const increaseAmounts = getLiquidityIncreaseQuote({
10257
+ const increaseAmounts = getIncreaseLpPositionQuote({
10296
10258
  collateralA: BigInt(args.collateralA),
10297
10259
  collateralB: BigInt(args.collateralB),
10298
10260
  borrowA: BigInt(args.borrowA),
@@ -10523,7 +10485,7 @@ async function increaseTunaLpPositionFusionInstructions(rpc, authority, position
10523
10485
  const [mintA, mintB] = await (0, import_token_20223.fetchAllMaybeMint)(rpc, [fusionPool.data.tokenMintA, fusionPool.data.tokenMintB]);
10524
10486
  (0, import_assert2.default)(mintA.exists, "Token A not found");
10525
10487
  (0, import_assert2.default)(mintB.exists, "Token B not found");
10526
- const increaseAmounts = getLiquidityIncreaseQuote({
10488
+ const increaseAmounts = getIncreaseLpPositionQuote({
10527
10489
  collateralA: BigInt(args.collateralA),
10528
10490
  collateralB: BigInt(args.collateralB),
10529
10491
  borrowA: BigInt(args.borrowA),
@@ -11637,8 +11599,9 @@ var import_kit86 = require("@solana/kit");
11637
11599
  var import_memo8 = require("@solana-program/memo");
11638
11600
  var import_token_202213 = require("@solana-program/token-2022");
11639
11601
  var import_assert11 = __toESM(require("assert"));
11640
- async function closeActiveTunaSpotPositionFusionInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
11641
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
11602
+ async function closeActiveTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args, createInstructions, cleanupInstructions) {
11603
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPoolAddress))[0];
11604
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
11642
11605
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
11643
11606
  const fusionPool = await (0, import_fusionamm_client7.fetchMaybeFusionPool)(rpc, tunaPosition.data.pool);
11644
11607
  if (!fusionPool.exists) throw new Error("FusionPool account not found");
@@ -11760,8 +11723,9 @@ var import_kit87 = require("@solana/kit");
11760
11723
  var import_memo9 = require("@solana-program/memo");
11761
11724
  var import_token_202214 = require("@solana-program/token-2022");
11762
11725
  var import_assert12 = __toESM(require("assert"));
11763
- async function closeActiveTunaSpotPositionOrcaInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
11764
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
11726
+ async function closeActiveTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args, createInstructions, cleanupInstructions) {
11727
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpoolAddress))[0];
11728
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
11765
11729
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
11766
11730
  const whirlpool = await (0, import_whirlpools_client7.fetchMaybeWhirlpool)(rpc, tunaPosition.data.pool);
11767
11731
  if (!whirlpool.exists) throw new Error("Whirlpool account not found");
@@ -11886,11 +11850,12 @@ var import_kit88 = require("@solana/kit");
11886
11850
  var import_memo10 = require("@solana-program/memo");
11887
11851
  var import_token_202215 = require("@solana-program/token-2022");
11888
11852
  var import_assert13 = __toESM(require("assert"));
11889
- async function increaseTunaSpotPositionOrcaInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
11853
+ async function increaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args, createInstructions, cleanupInstructions) {
11890
11854
  const instructions = [];
11891
11855
  if (!createInstructions) createInstructions = instructions;
11892
11856
  if (!cleanupInstructions) cleanupInstructions = instructions;
11893
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
11857
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpoolAddress))[0];
11858
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
11894
11859
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
11895
11860
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
11896
11861
  const whirlpool = await (0, import_whirlpools_client8.fetchWhirlpool)(rpc, tunaPosition.data.pool);
@@ -12041,11 +12006,12 @@ var import_kit89 = require("@solana/kit");
12041
12006
  var import_memo11 = require("@solana-program/memo");
12042
12007
  var import_token_202216 = require("@solana-program/token-2022");
12043
12008
  var import_assert14 = __toESM(require("assert"));
12044
- async function increaseTunaSpotPositionFusionInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
12009
+ async function increaseTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args, createInstructions, cleanupInstructions) {
12045
12010
  const instructions = [];
12046
12011
  if (!createInstructions) createInstructions = instructions;
12047
12012
  if (!cleanupInstructions) cleanupInstructions = instructions;
12048
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
12013
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPoolAddress))[0];
12014
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
12049
12015
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
12050
12016
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
12051
12017
  const fusionPool = await (0, import_fusionamm_client8.fetchFusionPool)(rpc, tunaPosition.data.pool);
@@ -12193,11 +12159,12 @@ var import_kit90 = require("@solana/kit");
12193
12159
  var import_memo12 = require("@solana-program/memo");
12194
12160
  var import_token_202217 = require("@solana-program/token-2022");
12195
12161
  var import_assert15 = __toESM(require("assert"));
12196
- async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
12162
+ async function decreaseTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args, createInstructions, cleanupInstructions) {
12197
12163
  const instructions = [];
12198
12164
  if (!createInstructions) createInstructions = instructions;
12199
12165
  if (!cleanupInstructions) cleanupInstructions = instructions;
12200
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
12166
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpoolAddress))[0];
12167
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
12201
12168
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
12202
12169
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
12203
12170
  const whirlpool = await (0, import_whirlpools_client9.fetchWhirlpool)(rpc, tunaPosition.data.pool);
@@ -12346,11 +12313,12 @@ var import_kit91 = require("@solana/kit");
12346
12313
  var import_memo13 = require("@solana-program/memo");
12347
12314
  var import_token_202218 = require("@solana-program/token-2022");
12348
12315
  var import_assert16 = __toESM(require("assert"));
12349
- async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, positionMint, args, createInstructions, cleanupInstructions) {
12316
+ async function decreaseTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args, createInstructions, cleanupInstructions) {
12350
12317
  const instructions = [];
12351
12318
  if (!createInstructions) createInstructions = instructions;
12352
12319
  if (!cleanupInstructions) cleanupInstructions = instructions;
12353
- const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, (await getTunaSpotPositionAddress(positionMint))[0]);
12320
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPoolAddress))[0];
12321
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
12354
12322
  if (!tunaPosition.exists) throw new Error("Tuna position account not found");
12355
12323
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
12356
12324
  const fusionPool = await (0, import_fusionamm_client9.fetchFusionPool)(rpc, tunaPosition.data.pool);
@@ -12493,17 +12461,18 @@ async function decreaseTunaSpotPositionFusionInstruction(authority, tunaPosition
12493
12461
  // src/txbuilder/closeTunaSpotPosition.ts
12494
12462
  var import_token_202219 = require("@solana-program/token-2022");
12495
12463
  var import_assert17 = __toESM(require("assert"));
12496
- async function closeTunaSpotPositionInstructions(rpc, authority, positionMint) {
12497
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
12498
- const tunaPosition = await fetchTunaSpotPosition(rpc, tunaPositionAddress);
12464
+ async function closeTunaSpotPositionInstructions(rpc, authority, poolAddress) {
12465
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, poolAddress))[0];
12466
+ const tunaPosition = await fetchMaybeTunaSpotPosition(rpc, tunaPositionAddress);
12467
+ if (!tunaPosition.exists) throw new Error("Tuna position account not found");
12499
12468
  const [mintA, mintB] = await (0, import_token_202219.fetchAllMaybeMint)(rpc, [tunaPosition.data.mintA, tunaPosition.data.mintB]);
12500
12469
  (0, import_assert17.default)(mintA.exists, "Token A account not found");
12501
12470
  (0, import_assert17.default)(mintB.exists, "Token B account not found");
12502
- const ix = await closeTunaSpotPositionInstruction(authority, positionMint, mintA, mintB);
12471
+ const ix = await closeTunaSpotPositionInstruction(authority, poolAddress, mintA, mintB);
12503
12472
  return [ix];
12504
12473
  }
12505
- async function closeTunaSpotPositionInstruction(authority, positionMint, mintA, mintB) {
12506
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
12474
+ async function closeTunaSpotPositionInstruction(authority, poolAddress, mintA, mintB) {
12475
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, poolAddress))[0];
12507
12476
  const tunaPositionAtaA = (await (0, import_token_202219.findAssociatedTokenPda)({
12508
12477
  owner: tunaPositionAddress,
12509
12478
  mint: mintA.address,
@@ -12873,7 +12842,7 @@ async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPositi
12873
12842
  instructions.push(...createFeeRecipientAtaInstructions.init);
12874
12843
  const ix = await liquidateTunaSpotPositionFusionInstruction(
12875
12844
  authority,
12876
- tunaPosition.data.positionMint,
12845
+ tunaPosition.address,
12877
12846
  tunaConfig,
12878
12847
  mintA,
12879
12848
  mintB,
@@ -12885,8 +12854,7 @@ async function liquidateTunaSpotPositionFusionInstructions(authority, tunaPositi
12885
12854
  instructions.push(ix);
12886
12855
  return instructions;
12887
12856
  }
12888
- async function liquidateTunaSpotPositionFusionInstruction(authority, positionMint, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
12889
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
12857
+ async function liquidateTunaSpotPositionFusionInstruction(authority, tunaPositionAddress, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, withdrawPercent) {
12890
12858
  const marketAddress = (await getMarketAddress(fusionPool.address))[0];
12891
12859
  const tunaPositionAtaA = (await (0, import_token_202223.findAssociatedTokenPda)({
12892
12860
  owner: tunaPositionAddress,
@@ -12982,7 +12950,7 @@ async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition
12982
12950
  instructions.push(...createFeeRecipientAtaInstructions.init);
12983
12951
  const ix = await liquidateTunaSpotPositionOrcaInstruction(
12984
12952
  authority,
12985
- tunaPosition.data.positionMint,
12953
+ tunaPosition.address,
12986
12954
  tunaConfig,
12987
12955
  mintA,
12988
12956
  mintB,
@@ -12994,8 +12962,7 @@ async function liquidateTunaSpotPositionOrcaInstructions(authority, tunaPosition
12994
12962
  instructions.push(ix);
12995
12963
  return instructions;
12996
12964
  }
12997
- async function liquidateTunaSpotPositionOrcaInstruction(authority, positionMint, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
12998
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
12965
+ async function liquidateTunaSpotPositionOrcaInstruction(authority, tunaPositionAddress, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, withdrawPercent) {
12999
12966
  const marketAddress = (await getMarketAddress(whirlpool.address))[0];
13000
12967
  const orcaOracleAddress = (await (0, import_whirlpools_client11.getOracleAddress)(whirlpool.address))[0];
13001
12968
  const tunaPositionAtaA = (await (0, import_token_202224.findAssociatedTokenPda)({
@@ -13215,7 +13182,7 @@ async function openAndIncreaseTunaLpPositionOrcaInstructions(rpc, authority, whi
13215
13182
  (await getLendingVaultAddress(whirlpool.data.tokenMintA))[0],
13216
13183
  (await getLendingVaultAddress(whirlpool.data.tokenMintB))[0]
13217
13184
  ]);
13218
- const increaseAmounts = getLiquidityIncreaseQuote({
13185
+ const increaseAmounts = getIncreaseLpPositionQuote({
13219
13186
  collateralA: BigInt(args.collateralA),
13220
13187
  collateralB: BigInt(args.collateralB),
13221
13188
  borrowA: BigInt(args.borrowA),
@@ -13453,7 +13420,7 @@ async function openAndIncreaseTunaLpPositionFusionInstructions(rpc, authority, f
13453
13420
  (await getLendingVaultAddress(fusionPool.data.tokenMintA))[0],
13454
13421
  (await getLendingVaultAddress(fusionPool.data.tokenMintB))[0]
13455
13422
  ]);
13456
- const increaseAmounts = getLiquidityIncreaseQuote({
13423
+ const increaseAmounts = getIncreaseLpPositionQuote({
13457
13424
  collateralA: BigInt(args.collateralA),
13458
13425
  collateralB: BigInt(args.collateralB),
13459
13426
  borrowA: BigInt(args.borrowA),
@@ -13669,7 +13636,6 @@ async function openAndIncreaseTunaSpotPositionFusionInstructions(rpc, authority,
13669
13636
  const instructions = [];
13670
13637
  if (!createInstructions) createInstructions = instructions;
13671
13638
  if (!cleanupInstructions) cleanupInstructions = instructions;
13672
- const positionMint = await (0, import_kit98.generateKeyPairSigner)();
13673
13639
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
13674
13640
  const fusionPool = await (0, import_fusionamm_client15.fetchMaybeFusionPool)(rpc, fusionPoolAddress);
13675
13641
  if (!fusionPool.exists) throw new Error("FusionPool account not found");
@@ -13708,7 +13674,6 @@ async function openAndIncreaseTunaSpotPositionFusionInstructions(rpc, authority,
13708
13674
  createInstructions.push(...createFeeRecipientAtaBInstructions.init);
13709
13675
  const ix = await openAndIncreaseTunaSpotPositionFusionInstruction(
13710
13676
  authority,
13711
- positionMint,
13712
13677
  tunaConfig,
13713
13678
  mintA,
13714
13679
  mintB,
@@ -13719,13 +13684,10 @@ async function openAndIncreaseTunaSpotPositionFusionInstructions(rpc, authority,
13719
13684
  );
13720
13685
  instructions.push(ix);
13721
13686
  cleanupInstructions.push(...createUserAtaInstructions.cleanup);
13722
- return {
13723
- instructions,
13724
- positionMint: positionMint.address
13725
- };
13687
+ return instructions;
13726
13688
  }
13727
- async function openAndIncreaseTunaSpotPositionFusionInstruction(authority, positionMint, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, args) {
13728
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint.address))[0];
13689
+ async function openAndIncreaseTunaSpotPositionFusionInstruction(authority, tunaConfig, mintA, mintB, vaultA, vaultB, fusionPool, args) {
13690
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPool.address))[0];
13729
13691
  const marketAddress = (await getMarketAddress(fusionPool.address))[0];
13730
13692
  const tunaPositionOwnerAtaA = (await (0, import_token_202229.findAssociatedTokenPda)({
13731
13693
  owner: authority.address,
@@ -13799,7 +13761,6 @@ async function openAndIncreaseTunaSpotPositionFusionInstruction(authority, posit
13799
13761
  vaultB: vaultB.address,
13800
13762
  vaultBAta,
13801
13763
  tunaPosition: tunaPositionAddress,
13802
- tunaPositionMint: positionMint,
13803
13764
  tunaPositionAtaA,
13804
13765
  tunaPositionAtaB,
13805
13766
  tunaPositionOwnerAtaA: args.collateralToken == 0 /* A */ ? tunaPositionOwnerAtaA : void 0,
@@ -13827,7 +13788,6 @@ async function openAndIncreaseTunaSpotPositionOrcaInstructions(rpc, authority, w
13827
13788
  const instructions = [];
13828
13789
  if (!createInstructions) createInstructions = instructions;
13829
13790
  if (!cleanupInstructions) cleanupInstructions = instructions;
13830
- const positionMint = await (0, import_kit99.generateKeyPairSigner)();
13831
13791
  const tunaConfig = await fetchTunaConfig(rpc, (await getTunaConfigAddress())[0]);
13832
13792
  const whirlpool = await (0, import_whirlpools_client14.fetchMaybeWhirlpool)(rpc, whirlpoolAddress);
13833
13793
  if (!whirlpool.exists) throw new Error("Whirlpool account not found");
@@ -13866,7 +13826,6 @@ async function openAndIncreaseTunaSpotPositionOrcaInstructions(rpc, authority, w
13866
13826
  createInstructions.push(...createFeeRecipientAtaBInstructions.init);
13867
13827
  const ix = await openAndIncreaseTunaSpotPositionOrcaInstruction(
13868
13828
  authority,
13869
- positionMint,
13870
13829
  tunaConfig,
13871
13830
  mintA,
13872
13831
  mintB,
@@ -13877,13 +13836,10 @@ async function openAndIncreaseTunaSpotPositionOrcaInstructions(rpc, authority, w
13877
13836
  );
13878
13837
  instructions.push(ix);
13879
13838
  cleanupInstructions.push(...createUserAtaInstructions.cleanup);
13880
- return {
13881
- instructions,
13882
- positionMint: positionMint.address
13883
- };
13839
+ return instructions;
13884
13840
  }
13885
- async function openAndIncreaseTunaSpotPositionOrcaInstruction(authority, positionMint, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, args) {
13886
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint.address))[0];
13841
+ async function openAndIncreaseTunaSpotPositionOrcaInstruction(authority, tunaConfig, mintA, mintB, vaultA, vaultB, whirlpool, args) {
13842
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpool.address))[0];
13887
13843
  const marketAddress = (await getMarketAddress(whirlpool.address))[0];
13888
13844
  const orcaOracleAddress = (await (0, import_whirlpools_client14.getOracleAddress)(whirlpool.address))[0];
13889
13845
  const tunaPositionOwnerAtaA = (await (0, import_token_202230.findAssociatedTokenPda)({
@@ -13960,7 +13916,6 @@ async function openAndIncreaseTunaSpotPositionOrcaInstruction(authority, positio
13960
13916
  vaultB: vaultB.address,
13961
13917
  vaultBAta,
13962
13918
  tunaPosition: tunaPositionAddress,
13963
- tunaPositionMint: positionMint,
13964
13919
  tunaPositionAtaA,
13965
13920
  tunaPositionAtaB,
13966
13921
  tunaPositionOwnerAtaA: args.collateralToken == 0 /* A */ ? tunaPositionOwnerAtaA : void 0,
@@ -13982,24 +13937,17 @@ async function openAndIncreaseTunaSpotPositionOrcaInstruction(authority, positio
13982
13937
  var import_fusionamm_client16 = require("@crypticdot/fusionamm-client");
13983
13938
  var import_token_202231 = require("@solana-program/token-2022");
13984
13939
  var import_assert24 = __toESM(require("assert"));
13985
- async function openTunaSpotPositionFusionInstructions(rpc, authority, positionMint, fusionPoolAddress, args) {
13940
+ async function openTunaSpotPositionFusionInstructions(rpc, authority, fusionPoolAddress, args) {
13986
13941
  const fusionPool = await (0, import_fusionamm_client16.fetchMaybeFusionPool)(rpc, fusionPoolAddress);
13987
13942
  if (!fusionPool.exists) throw new Error("FusionPool account not found");
13988
13943
  const [mintA, mintB] = await (0, import_token_202231.fetchAllMaybeMint)(rpc, [fusionPool.data.tokenMintA, fusionPool.data.tokenMintB]);
13989
13944
  (0, import_assert24.default)(mintA.exists, "Token A account not found");
13990
13945
  (0, import_assert24.default)(mintB.exists, "Token B account not found");
13991
- const ix = await openTunaSpotPositionFusionInstruction(
13992
- authority,
13993
- positionMint,
13994
- mintA,
13995
- mintB,
13996
- fusionPoolAddress,
13997
- args
13998
- );
13946
+ const ix = await openTunaSpotPositionFusionInstruction(authority, mintA, mintB, fusionPoolAddress, args);
13999
13947
  return [ix];
14000
13948
  }
14001
- async function openTunaSpotPositionFusionInstruction(authority, positionMint, mintA, mintB, fusionPoolAddress, args) {
14002
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint.address))[0];
13949
+ async function openTunaSpotPositionFusionInstruction(authority, mintA, mintB, fusionPoolAddress, args) {
13950
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, fusionPoolAddress))[0];
14003
13951
  const tunaPositionAtaA = (await (0, import_token_202231.findAssociatedTokenPda)({
14004
13952
  owner: tunaPositionAddress,
14005
13953
  mint: mintA.address,
@@ -14017,7 +13965,6 @@ async function openTunaSpotPositionFusionInstruction(authority, positionMint, mi
14017
13965
  tokenProgramA: mintA.programAddress,
14018
13966
  tokenProgramB: mintB.programAddress,
14019
13967
  tunaPosition: tunaPositionAddress,
14020
- tunaPositionMint: positionMint,
14021
13968
  tunaPositionAtaA,
14022
13969
  tunaPositionAtaB,
14023
13970
  fusionPool: fusionPoolAddress,
@@ -14030,17 +13977,17 @@ async function openTunaSpotPositionFusionInstruction(authority, positionMint, mi
14030
13977
  var import_whirlpools_client15 = require("@orca-so/whirlpools-client");
14031
13978
  var import_token_202232 = require("@solana-program/token-2022");
14032
13979
  var import_assert25 = __toESM(require("assert"));
14033
- async function openTunaSpotPositionOrcaInstructions(rpc, authority, positionMint, whirlpoolAddress, args) {
13980
+ async function openTunaSpotPositionOrcaInstructions(rpc, authority, whirlpoolAddress, args) {
14034
13981
  const whirlpool = await (0, import_whirlpools_client15.fetchMaybeWhirlpool)(rpc, whirlpoolAddress);
14035
13982
  if (!whirlpool.exists) throw new Error("Whirlpool account not found");
14036
13983
  const [mintA, mintB] = await (0, import_token_202232.fetchAllMaybeMint)(rpc, [whirlpool.data.tokenMintA, whirlpool.data.tokenMintB]);
14037
13984
  (0, import_assert25.default)(mintA.exists, "Token A account not found");
14038
13985
  (0, import_assert25.default)(mintB.exists, "Token B account not found");
14039
- const ix = await openTunaSpotPositionOrcaInstruction(authority, positionMint, mintA, mintB, whirlpoolAddress, args);
13986
+ const ix = await openTunaSpotPositionOrcaInstruction(authority, mintA, mintB, whirlpoolAddress, args);
14040
13987
  return [ix];
14041
13988
  }
14042
- async function openTunaSpotPositionOrcaInstruction(authority, positionMint, mintA, mintB, whirlpoolAddress, args) {
14043
- const tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint.address))[0];
13989
+ async function openTunaSpotPositionOrcaInstruction(authority, mintA, mintB, whirlpoolAddress, args) {
13990
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, whirlpoolAddress))[0];
14044
13991
  const tunaPositionAtaA = (await (0, import_token_202232.findAssociatedTokenPda)({
14045
13992
  owner: tunaPositionAddress,
14046
13993
  mint: mintA.address,
@@ -14058,7 +14005,6 @@ async function openTunaSpotPositionOrcaInstruction(authority, positionMint, mint
14058
14005
  tokenProgramA: mintA.programAddress,
14059
14006
  tokenProgramB: mintB.programAddress,
14060
14007
  tunaPosition: tunaPositionAddress,
14061
- tunaPositionMint: positionMint,
14062
14008
  tunaPositionAtaA,
14063
14009
  tunaPositionAtaB,
14064
14010
  whirlpool: whirlpoolAddress,
@@ -14475,13 +14421,8 @@ async function setTunaLpPositionLimitOrdersInstruction(authority, args, position
14475
14421
  }
14476
14422
 
14477
14423
  // src/txbuilder/setTunaSpotPositionLimitOrders.ts
14478
- async function setTunaSpotPositionLimitOrdersInstruction(authority, args, positionMint, tunaPositionAddress) {
14479
- if (tunaPositionAddress === void 0) {
14480
- if (positionMint === void 0) {
14481
- throw new Error("At least one of 'positionMint' or 'tunaPositionAddress' must be provided.");
14482
- }
14483
- tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
14484
- }
14424
+ async function setTunaSpotPositionLimitOrdersInstruction(authority, poolAddress, args) {
14425
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, poolAddress))[0];
14485
14426
  return getSetTunaSpotPositionLimitOrdersInstruction({
14486
14427
  ...args,
14487
14428
  authority,
@@ -14492,13 +14433,8 @@ async function setTunaSpotPositionLimitOrdersInstruction(authority, args, positi
14492
14433
  // src/txbuilder/resetTunaSpotPosition.ts
14493
14434
  var import_token_202236 = require("@solana-program/token-2022");
14494
14435
  var import_assert28 = __toESM(require("assert"));
14495
- async function resetTunaSpotPositionInstruction(rpc, authority, args, positionMint, tunaPositionAddress) {
14496
- if (tunaPositionAddress === void 0) {
14497
- if (positionMint === void 0) {
14498
- throw new Error("At least one of 'positionMint' or 'tunaPositionAddress' must be provided.");
14499
- }
14500
- tunaPositionAddress = (await getTunaSpotPositionAddress(positionMint))[0];
14501
- }
14436
+ async function resetTunaSpotPositionInstruction(rpc, authority, poolAddress, args) {
14437
+ const tunaPositionAddress = (await getTunaSpotPositionAddress(authority.address, poolAddress))[0];
14502
14438
  const tunaPosition = await fetchTunaSpotPosition(rpc, tunaPositionAddress);
14503
14439
  const [mintA, mintB] = await (0, import_token_202236.fetchAllMaybeMint)(rpc, [tunaPosition.data.mintA, tunaPosition.data.mintB]);
14504
14440
  (0, import_assert28.default)(mintA.exists, "Token A not found");
@@ -15164,7 +15100,6 @@ async function rebalanceTunaLpPositionFusionInstruction(authority, tunaPosition,
15164
15100
  DECREASE_TUNA_SPOT_POSITION_FUSION_DISCRIMINATOR,
15165
15101
  DECREASE_TUNA_SPOT_POSITION_ORCA_DISCRIMINATOR,
15166
15102
  DEFAULT_ADDRESS,
15167
- DEFAULT_MAX_AMOUNT_SLIPPAGE,
15168
15103
  DEFAULT_MAX_SWAP_SLIPPAGE,
15169
15104
  DEFAULT_PUSH_ORACLE_PROGRAM_ID,
15170
15105
  DEPOSIT_DISCRIMINATOR,
@@ -15464,6 +15399,7 @@ async function rebalanceTunaLpPositionFusionInstruction(authority, tunaPosition,
15464
15399
  getDepositInstructionDataCodec,
15465
15400
  getDepositInstructionDataDecoder,
15466
15401
  getDepositInstructionDataEncoder,
15402
+ getIncreaseLpPositionQuote,
15467
15403
  getIncreaseTunaLpPositionFusionDiscriminatorBytes,
15468
15404
  getIncreaseTunaLpPositionFusionInstruction,
15469
15405
  getIncreaseTunaLpPositionFusionInstructionDataCodec,
@@ -15511,7 +15447,6 @@ async function rebalanceTunaLpPositionFusionInstruction(authority, tunaPosition,
15511
15447
  getLiquidateTunaSpotPositionOrcaInstructionDataCodec,
15512
15448
  getLiquidateTunaSpotPositionOrcaInstructionDataDecoder,
15513
15449
  getLiquidateTunaSpotPositionOrcaInstructionDataEncoder,
15514
- getLiquidityIncreaseQuote,
15515
15450
  getMarketAddress,
15516
15451
  getMarketCodec,
15517
15452
  getMarketDecoder,
@@ -15814,7 +15749,6 @@ async function rebalanceTunaLpPositionFusionInstruction(authority, tunaPosition,
15814
15749
  tunaSpotPositionAuthorityFilter,
15815
15750
  tunaSpotPositionMintAFilter,
15816
15751
  tunaSpotPositionMintBFilter,
15817
- tunaSpotPositionMintFilter,
15818
15752
  tunaSpotPositionPoolFilter,
15819
15753
  updateMarketInstruction,
15820
15754
  updateVaultInstruction,