@hawksightco/hawk-sdk 1.3.245 → 1.3.246

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.
@@ -5,11 +5,18 @@ import { RaydiumIncreaseLiquidity, RaydiumOpenPosition, RaydiumDecreaseLiquidity
5
5
  import { GeneralUtility } from './GeneralUtility';
6
6
  import { MultiTransaction } from './MultiTransaction';
7
7
  import { SimpleIxGenerator } from './SimpleIxGenerator';
8
+ export declare const MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = 4;
9
+ export declare const MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = 2;
10
+ export declare const MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = 10;
8
11
  export declare function getHybridChunkOffsets(positionLowerBinId: number, chunkLowerBinId: number, chunkUpperBinId: number): {
9
12
  chunkLowerOffset: number;
10
13
  chunkUpperOffset: number;
11
14
  };
12
15
  export declare function batchHybridChunkInstructionGroups(chunkInstructionGroups: LabeledInstruction[][], chunksPerTransaction?: number): LabeledInstruction[][];
16
+ export declare function batchLabeledInstructionGroups(instructions: LabeledInstruction[], instructionsPerTransaction: number): LabeledInstruction[][];
17
+ export declare function buildWideHybridRebuildInstructionGroups(initExtendIxs: LabeledInstruction[], fullRangeBinArrayInitIxs: LabeledInstruction[], chunkInstructionGroups: LabeledInstruction[][]): LabeledInstruction[][];
18
+ export declare function buildLimitCloseMainInstructions(initBinArrayIxs: web3.TransactionInstruction[], closeIx: web3.TransactionInstruction): web3.TransactionInstruction[];
19
+ export declare function stripComputeBudgetInstructions(instructions: web3.TransactionInstruction[]): web3.TransactionInstruction[];
13
20
  export declare function getLastHybridAmountConsumerIndexes(entries: Array<{
14
21
  amountX: BN;
15
22
  amountY: BN;
@@ -540,7 +547,7 @@ export declare class Transactions {
540
547
  private _calculateSweepBinRange;
541
548
  /**
542
549
  * Initialize bin arrays for a given bin range, skipping arrays that already exist.
543
- * Uses getBinArraysRequiredByPositionRange to avoid redundant on-chain inits.
550
+ * Explicitly checks account owners so generated init instructions only target missing arrays.
544
551
  */
545
552
  private _initBinArraysForRange;
546
553
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"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"}
@@ -45,9 +45,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  return (mod && mod.__esModule) ? mod : { "default": mod };
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.txgen = exports.Transactions = void 0;
48
+ exports.txgen = exports.Transactions = exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = void 0;
49
49
  exports.getHybridChunkOffsets = getHybridChunkOffsets;
50
50
  exports.batchHybridChunkInstructionGroups = batchHybridChunkInstructionGroups;
51
+ exports.batchLabeledInstructionGroups = batchLabeledInstructionGroups;
52
+ exports.buildWideHybridRebuildInstructionGroups = buildWideHybridRebuildInstructionGroups;
53
+ exports.buildLimitCloseMainInstructions = buildLimitCloseMainInstructions;
54
+ exports.stripComputeBudgetInstructions = stripComputeBudgetInstructions;
51
55
  exports.getLastHybridAmountConsumerIndexes = getLastHybridAmountConsumerIndexes;
52
56
  exports.buildHybridDepositAmountParams = buildHybridDepositAmountParams;
53
57
  const errors_1 = require("../errors");
@@ -74,6 +78,9 @@ const anchor = __importStar(require("@coral-xyz/anchor"));
74
78
  const RaydiumIxGenerator_1 = require("../ixGenerator/RaydiumIxGenerator");
75
79
  const RaydiumSDK_1 = require("./RaydiumSDK");
76
80
  const types_3 = require("../types");
81
+ exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = 4;
82
+ exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = 2;
83
+ exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = 10;
77
84
  function getHybridChunkOffsets(positionLowerBinId, chunkLowerBinId, chunkUpperBinId) {
78
85
  return {
79
86
  chunkLowerOffset: chunkLowerBinId - positionLowerBinId,
@@ -121,6 +128,33 @@ function batchHybridChunkInstructionGroups(chunkInstructionGroups, chunksPerTran
121
128
  }
122
129
  return batchedGroups;
123
130
  }
131
+ function batchLabeledInstructionGroups(instructions, instructionsPerTransaction) {
132
+ if (!Number.isInteger(instructionsPerTransaction) ||
133
+ instructionsPerTransaction <= 0) {
134
+ throw new Error('instructionsPerTransaction must be a positive integer');
135
+ }
136
+ const groups = [];
137
+ for (let i = 0; i < instructions.length; i += instructionsPerTransaction) {
138
+ groups.push(instructions.slice(i, i + instructionsPerTransaction));
139
+ }
140
+ return groups;
141
+ }
142
+ function buildWideHybridRebuildInstructionGroups(initExtendIxs, fullRangeBinArrayInitIxs, chunkInstructionGroups) {
143
+ return [
144
+ ...batchLabeledInstructionGroups(initExtendIxs, exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION),
145
+ ...batchLabeledInstructionGroups(fullRangeBinArrayInitIxs, exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION),
146
+ ...chunkInstructionGroups,
147
+ ];
148
+ }
149
+ function buildLimitCloseMainInstructions(initBinArrayIxs, closeIx) {
150
+ if (initBinArrayIxs.length > exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS) {
151
+ throw new Error(`Limit close requires ${initBinArrayIxs.length} bin-array initialization instructions; max supported in one transaction is ${exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS}. Multi-transaction limit close is required.`);
152
+ }
153
+ return [...initBinArrayIxs, closeIx];
154
+ }
155
+ function stripComputeBudgetInstructions(instructions) {
156
+ return instructions.filter(ix => !ix.programId.equals(web3.ComputeBudgetProgram.programId));
157
+ }
124
158
  function findLastIndex(items, predicate) {
125
159
  for (let i = items.length - 1; i >= 0; i--) {
126
160
  if (predicate(items[i], i)) {
@@ -3499,10 +3533,8 @@ class Transactions {
3499
3533
  ix: limitCloseAutomationIx,
3500
3534
  });
3501
3535
  }
3502
- const mainInstructions = [
3503
- // Limit Close Automation Instruction (Hawksight CPI)
3504
- ix,
3505
- ];
3536
+ const initBinArrayIxs = yield this._initBinArraysForRange(connection, lbPair.pubkey, dlmmPool, position.lowerBinId, position.upperBinId);
3537
+ const mainInstructions = buildLimitCloseMainInstructions(initBinArrayIxs, ix);
3506
3538
  return (0, functions_1.createTransactionMeta)({
3507
3539
  payer: params.userWallet,
3508
3540
  description: 'Automation IX: Meteora limit close instruction (Full withdraw and close on to specific bin id)',
@@ -3635,10 +3667,8 @@ class Transactions {
3635
3667
  });
3636
3668
  }));
3637
3669
  }
3638
- const mainInstructions = [
3639
- // Limit Close Automation Instruction (Hawksight CPI)
3640
- ix,
3641
- ];
3670
+ const initBinArrayIxs = yield this._initBinArraysForRange(connection, lbPair.pubkey, dlmmPool, position.lowerBinId, position.upperBinId);
3671
+ const mainInstructions = buildLimitCloseMainInstructions(initBinArrayIxs, ix);
3642
3672
  return (0, functions_1.createTransactionMeta)({
3643
3673
  payer: params.userWallet,
3644
3674
  description: 'Automation IX: Meteora limit close instruction (Full withdraw and close on to specific bin id)',
@@ -6386,7 +6416,8 @@ class Transactions {
6386
6416
  ];
6387
6417
  for (let i = 0; i < strategyResults.length; i++) {
6388
6418
  const layerStrategy = strategyResults[i];
6389
- if (layerStrategy.maxAmountX.isZero() && layerStrategy.maxAmountY.isZero()) {
6419
+ if (layerStrategy.maxAmountX.isZero() &&
6420
+ layerStrategy.maxAmountY.isZero()) {
6390
6421
  continue;
6391
6422
  }
6392
6423
  const singleLayer = {
@@ -6405,7 +6436,11 @@ class Transactions {
6405
6436
  tokenYMint,
6406
6437
  tokenXProgram,
6407
6438
  tokenYProgram, layers: [singleLayer], checkRange: params.checkRange }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: newLowerBinId, upperBinId: newUpperBinId }));
6408
- layeredDepositIxs.push({ label: 'deposit_v2', class: CLASS, instruction: depositIx });
6439
+ layeredDepositIxs.push({
6440
+ label: 'deposit_v2',
6441
+ class: CLASS,
6442
+ instruction: depositIx,
6443
+ });
6409
6444
  }
6410
6445
  if (layeredDepositIxs.length > 0) {
6411
6446
  rebuildTxGroups.push(layeredDepositIxs);
@@ -6445,7 +6480,11 @@ class Transactions {
6445
6480
  }
6446
6481
  }
6447
6482
  else {
6448
- rebuildTxGroups.push(initExtendIxs);
6483
+ const fullRangeBinArrayInitIxs = (yield this._initBinArraysForRange(connection, lbPair, dlmmPool, newLowerBinId, newUpperBinId)).map(ix => ({
6484
+ label: 'init_bin_array',
6485
+ class: CLASS,
6486
+ instruction: ix,
6487
+ }));
6449
6488
  const strategyResults = (0, liquidityStrategy_1.distributionToHybridStrategy)({
6450
6489
  hybridDistribution: layers,
6451
6490
  amountX: effectiveAmountX,
@@ -6475,22 +6514,16 @@ class Transactions {
6475
6514
  omitXAmount: i === lastXChunkIndex,
6476
6515
  omitYAmount: i === lastYChunkIndex,
6477
6516
  });
6478
- const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, chunk.lowerBinId, chunk.upperBinId);
6479
6517
  const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.newPosition, tokenXMint,
6480
6518
  tokenYMint,
6481
6519
  tokenXProgram,
6482
6520
  tokenYProgram, layers: contractLayers, checkRange: params.checkRange }, amountParams), { chunkLowerOffset,
6483
6521
  chunkUpperOffset, remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: chunk.lowerBinId, upperBinId: chunk.upperBinId }));
6484
6522
  chunkInstructionGroups.push([
6485
- ...binArrayInitIxs.map(ix => ({
6486
- label: 'init_bin_array',
6487
- class: CLASS,
6488
- instruction: ix,
6489
- })),
6490
6523
  { label: 'deposit_v2', class: CLASS, instruction: depositIx },
6491
6524
  ]);
6492
6525
  }
6493
- rebuildTxGroups.push(...batchHybridChunkInstructionGroups(chunkInstructionGroups, CHUNKS_PER_TRANSACTION));
6526
+ rebuildTxGroups.push(...buildWideHybridRebuildInstructionGroups(initExtendIxs, fullRangeBinArrayInitIxs, batchHybridChunkInstructionGroups(chunkInstructionGroups, CHUNKS_PER_TRANSACTION)));
6494
6527
  }
6495
6528
  // =========================================================================
6496
6529
  // Assemble final TX list
@@ -6606,7 +6639,8 @@ class Transactions {
6606
6639
  const layeredDepositIxs = [];
6607
6640
  for (let i = 0; i < strategyResults.length; i++) {
6608
6641
  const layerStrategy = strategyResults[i];
6609
- if (layerStrategy.maxAmountX.isZero() && layerStrategy.maxAmountY.isZero()) {
6642
+ if (layerStrategy.maxAmountX.isZero() &&
6643
+ layerStrategy.maxAmountY.isZero()) {
6610
6644
  continue;
6611
6645
  }
6612
6646
  const singleLayer = {
@@ -6626,7 +6660,11 @@ class Transactions {
6626
6660
  tokenXProgram,
6627
6661
  tokenYProgram, layers: [singleLayer] }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId,
6628
6662
  upperBinId }));
6629
- layeredDepositIxs.push({ label: 'deposit_v2', class: CLASS, instruction: depositIx });
6663
+ layeredDepositIxs.push({
6664
+ label: 'deposit_v2',
6665
+ class: CLASS,
6666
+ instruction: depositIx,
6667
+ });
6630
6668
  }
6631
6669
  if (layeredDepositIxs.length > 0) {
6632
6670
  depositTxGroups.push(layeredDepositIxs);
@@ -6746,13 +6784,29 @@ class Transactions {
6746
6784
  }
6747
6785
  /**
6748
6786
  * Initialize bin arrays for a given bin range, skipping arrays that already exist.
6749
- * Uses getBinArraysRequiredByPositionRange to avoid redundant on-chain inits.
6787
+ * Explicitly checks account owners so generated init instructions only target missing arrays.
6750
6788
  */
6751
6789
  _initBinArraysForRange(connection, lbPair, dlmmPool, lowerBinId, upperBinId) {
6752
6790
  return __awaiter(this, void 0, void 0, function* () {
6753
6791
  const binArraysRequired = yield (0, dlmm_1.getBinArraysRequiredByPositionRange)(lbPair, new bn_js_1.default(lowerBinId), new bn_js_1.default(upperBinId), dlmmPool.dlmm.program.programId);
6754
- if (binArraysRequired.length > 0) {
6755
- return yield dlmmPool.dlmm.initializeBinArrays(binArraysRequired.map(b => b.index), addresses_1.HS_AUTHORITY);
6792
+ if (binArraysRequired.length === 0) {
6793
+ return [];
6794
+ }
6795
+ const accountInfos = yield connection.getMultipleAccountsInfo(binArraysRequired.map(b => b.key));
6796
+ const missingIndexes = binArraysRequired.flatMap((binArray, index) => {
6797
+ const accountInfo = accountInfos[index];
6798
+ if (accountInfo === null || accountInfo === void 0 ? void 0 : accountInfo.owner.equals(dlmmPool.dlmm.program.programId)) {
6799
+ return [];
6800
+ }
6801
+ if (accountInfo === null ||
6802
+ accountInfo.owner.equals(web3.SystemProgram.programId)) {
6803
+ return [binArray.index];
6804
+ }
6805
+ throw new Error(`Bin array ${binArray.key.toString()} is owned by ${accountInfo.owner.toString()}, expected ${dlmmPool.dlmm.program.programId.toString()}`);
6806
+ });
6807
+ if (missingIndexes.length > 0) {
6808
+ const instructions = yield dlmmPool.dlmm.initializeBinArrays(missingIndexes, addresses_1.HS_AUTHORITY);
6809
+ return stripComputeBudgetInstructions(instructions);
6756
6810
  }
6757
6811
  return [];
6758
6812
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.3.245",
3
+ "version": "1.3.246",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",