@hawksightco/hawk-sdk 1.3.238 → 1.3.240

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.
@@ -1,4 +1,5 @@
1
1
  import * as web3 from '@solana/web3.js';
2
+ import BN from 'bn.js';
2
3
  import { MeteoraClaim, MeteoraClaimAll, MeteoraClose, MeteoraCompound, MeteoraRedeposit, MeteoraRedeposit2, MeteoraCreatePositionAndDeposit, MeteoraCreatePositionAndDepositPda, MeteoraDeposit, MeteoraInitializeBinArrays, MeteoraWithdraw, Register, TxgenParams, InitializeStorageTokenAccount, MeteoraLimitCloseAutomation, MeteoraLimitCloseAutomation2, OrcaOpenPosition, OrcaClosePosition, OrcaDeposit, OrcaWithdraw, OrcaSweepDust, OrcaClaimRewards, TransactionMetadataResponse, MeteoraRebalance2, ClaimTokensFromSTA, RaydiumClosePosition, OpenAutomationIx, RelativeOpenAutomationIx, RaydiumWithdrawAndClosePosition, MeteoraCreatePoolAndPosition, ClaimTokenFromPda, MeteoraInitializeLargePosition, MeteoraDepositLargerPosition, MeteoraWithdrawLargerPosition, MeteoraRebalanceForLargerPosition, LabeledInstruction, TransactionMetadataResponse2, MeteoraRebalanceHybridLiquidity, MeteoraRedepositHybridLiquidity, MeteoraDepositHybridToLargePosition, MeteoraCreatePositionAndDepositHybridToLargePosition, SaberWithdrawAndClosePosition } from '../types';
3
4
  import { RaydiumIncreaseLiquidity, RaydiumOpenPosition, RaydiumDecreaseLiquidity } from '../types';
4
5
  import { GeneralUtility } from './GeneralUtility';
@@ -9,6 +10,22 @@ export declare function getHybridChunkOffsets(positionLowerBinId: number, chunkL
9
10
  chunkUpperOffset: number;
10
11
  };
11
12
  export declare function batchHybridChunkInstructionGroups(chunkInstructionGroups: LabeledInstruction[][], chunksPerTransaction?: number): LabeledInstruction[][];
13
+ export declare function getLastHybridAmountConsumerIndexes(entries: Array<{
14
+ amountX: BN;
15
+ amountY: BN;
16
+ }>): {
17
+ lastXIndex: number;
18
+ lastYIndex: number;
19
+ };
20
+ export declare function buildHybridDepositAmountParams({ userTokenXAmount, userTokenYAmount, omitXAmount, omitYAmount, }: {
21
+ userTokenXAmount: BN;
22
+ userTokenYAmount: BN;
23
+ omitXAmount?: boolean;
24
+ omitYAmount?: boolean;
25
+ }): {
26
+ userTokenXAmount?: BN;
27
+ userTokenYAmount?: BN;
28
+ };
12
29
  export declare class Transactions {
13
30
  /**
14
31
  * Prohibit creating instance other than getInstance
@@ -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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"}
@@ -48,6 +48,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.txgen = exports.Transactions = void 0;
49
49
  exports.getHybridChunkOffsets = getHybridChunkOffsets;
50
50
  exports.batchHybridChunkInstructionGroups = batchHybridChunkInstructionGroups;
51
+ exports.getLastHybridAmountConsumerIndexes = getLastHybridAmountConsumerIndexes;
52
+ exports.buildHybridDepositAmountParams = buildHybridDepositAmountParams;
51
53
  const errors_1 = require("../errors");
52
54
  const dlmm_1 = require("@meteora-ag/dlmm");
53
55
  const web3 = __importStar(require("@solana/web3.js"));
@@ -119,6 +121,30 @@ function batchHybridChunkInstructionGroups(chunkInstructionGroups, chunksPerTran
119
121
  }
120
122
  return batchedGroups;
121
123
  }
124
+ function findLastIndex(items, predicate) {
125
+ for (let i = items.length - 1; i >= 0; i--) {
126
+ if (predicate(items[i], i)) {
127
+ return i;
128
+ }
129
+ }
130
+ return -1;
131
+ }
132
+ function getLastHybridAmountConsumerIndexes(entries) {
133
+ return {
134
+ lastXIndex: findLastIndex(entries, entry => entry.amountX.gt(new bn_js_1.default(0))),
135
+ lastYIndex: findLastIndex(entries, entry => entry.amountY.gt(new bn_js_1.default(0))),
136
+ };
137
+ }
138
+ function buildHybridDepositAmountParams({ userTokenXAmount, userTokenYAmount, omitXAmount = false, omitYAmount = false, }) {
139
+ const amountParams = {};
140
+ if (!omitXAmount) {
141
+ amountParams.userTokenXAmount = userTokenXAmount;
142
+ }
143
+ if (!omitYAmount) {
144
+ amountParams.userTokenYAmount = userTokenYAmount;
145
+ }
146
+ return amountParams;
147
+ }
122
148
  class Transactions {
123
149
  /**
124
150
  * Prohibit creating instance other than getInstance
@@ -6085,7 +6111,7 @@ class Transactions {
6085
6111
  const newUpperBinId = activeId + params.relativeBinRange.upperRange;
6086
6112
  const newWidth = newUpperBinId - newLowerBinId + 1;
6087
6113
  const currentWidth = currentUpperBinId - currentLowerBinId + 1;
6088
- const maxBinsPerDepositChunk = newWidth === 69 ? 69 : 50;
6114
+ const maxBinsPerDepositChunk = newWidth <= 69 ? 69 : 45;
6089
6115
  const useLayeredDepositsForSmallPosition = newWidth <= 69 && layers.length > 1;
6090
6116
  // =========================================================================
6091
6117
  // PHASE 1: TEARDOWN (withdraw from old position + close)
@@ -6205,6 +6231,10 @@ class Transactions {
6205
6231
  binStep,
6206
6232
  activeId: new bn_js_1.default(activeId),
6207
6233
  });
6234
+ const { lastXIndex: lastXLayerIndex, lastYIndex: lastYLayerIndex } = getLastHybridAmountConsumerIndexes(strategyResults.map(layer => ({
6235
+ amountX: layer.maxAmountX,
6236
+ amountY: layer.maxAmountY,
6237
+ })));
6208
6238
  rebuildTxGroups.push(initExtendIxs);
6209
6239
  const layeredDepositIxs = [
6210
6240
  ...binArrayInitIxsLabeled,
@@ -6220,24 +6250,16 @@ class Transactions {
6220
6250
  percentageX: layers[i].x.percentage > 0 ? 100 : 0,
6221
6251
  percentageY: layers[i].y.percentage > 0 ? 100 : 0,
6222
6252
  };
6223
- const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation({
6224
- connection,
6225
- userWallet: params.userWallet,
6226
- lbPair,
6227
- position: params.newPosition,
6228
- tokenXMint,
6229
- tokenYMint,
6230
- tokenXProgram,
6231
- tokenYProgram,
6232
- layers: [singleLayer],
6233
- checkRange: params.checkRange,
6253
+ const amountParams = buildHybridDepositAmountParams({
6234
6254
  userTokenXAmount: layerStrategy.maxAmountX,
6235
6255
  userTokenYAmount: layerStrategy.maxAmountY,
6236
- remainingAccountsInfo: baseRemainingAccountsInfo,
6237
- pdaTokenType: types_1.TokenType.ATA,
6238
- lowerBinId: newLowerBinId,
6239
- upperBinId: newUpperBinId,
6256
+ omitXAmount: i === lastXLayerIndex,
6257
+ omitYAmount: i === lastYLayerIndex,
6240
6258
  });
6259
+ const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.newPosition, tokenXMint,
6260
+ tokenYMint,
6261
+ tokenXProgram,
6262
+ tokenYProgram, layers: [singleLayer], checkRange: params.checkRange }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: newLowerBinId, upperBinId: newUpperBinId }));
6241
6263
  layeredDepositIxs.push({ label: 'deposit_v2', class: CLASS, instruction: depositIx });
6242
6264
  }
6243
6265
  if (layeredDepositIxs.length > 0) {
@@ -6256,8 +6278,6 @@ class Transactions {
6256
6278
  tokenYProgram,
6257
6279
  layers: contractLayers,
6258
6280
  checkRange: params.checkRange,
6259
- userTokenXAmount: effectiveAmountX,
6260
- userTokenYAmount: effectiveAmountY,
6261
6281
  remainingAccountsInfo: baseRemainingAccountsInfo,
6262
6282
  pdaTokenType: types_1.TokenType.ATA,
6263
6283
  lowerBinId: newLowerBinId,
@@ -6291,35 +6311,31 @@ class Transactions {
6291
6311
  activeId: new bn_js_1.default(activeId),
6292
6312
  });
6293
6313
  const depositChunks = (0, liquidityStrategy_1.chunkHybridDepositParameters)(strategyResults, new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), new bn_js_1.default(activeId), binStep, maxBinsPerDepositChunk, favorXInActiveId);
6314
+ const { lastXIndex: lastXChunkIndex, lastYIndex: lastYChunkIndex } = getLastHybridAmountConsumerIndexes(depositChunks.map(chunk => ({
6315
+ amountX: chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountX), new bn_js_1.default(0)),
6316
+ amountY: chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountY), new bn_js_1.default(0)),
6317
+ })));
6294
6318
  const chunkInstructionGroups = [];
6295
- for (const chunk of depositChunks) {
6319
+ for (let i = 0; i < depositChunks.length; i++) {
6320
+ const chunk = depositChunks[i];
6296
6321
  const { chunkLowerOffset, chunkUpperOffset } = getHybridChunkOffsets(newLowerBinId, chunk.lowerBinId, chunk.upperBinId);
6297
6322
  const chunkAmountX = chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountX), new bn_js_1.default(0));
6298
6323
  const chunkAmountY = chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountY), new bn_js_1.default(0));
6299
6324
  if (chunkAmountX.isZero() && chunkAmountY.isZero()) {
6300
6325
  continue;
6301
6326
  }
6302
- const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, chunk.lowerBinId, chunk.upperBinId);
6303
- const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation({
6304
- connection,
6305
- userWallet: params.userWallet,
6306
- lbPair,
6307
- position: params.newPosition,
6308
- tokenXMint,
6309
- tokenYMint,
6310
- tokenXProgram,
6311
- tokenYProgram,
6312
- layers: contractLayers,
6313
- checkRange: params.checkRange,
6327
+ const amountParams = buildHybridDepositAmountParams({
6314
6328
  userTokenXAmount: chunkAmountX,
6315
6329
  userTokenYAmount: chunkAmountY,
6316
- chunkLowerOffset,
6317
- chunkUpperOffset,
6318
- remainingAccountsInfo: baseRemainingAccountsInfo,
6319
- pdaTokenType: types_1.TokenType.ATA,
6320
- lowerBinId: chunk.lowerBinId,
6321
- upperBinId: chunk.upperBinId,
6330
+ omitXAmount: i === lastXChunkIndex,
6331
+ omitYAmount: i === lastYChunkIndex,
6322
6332
  });
6333
+ const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, chunk.lowerBinId, chunk.upperBinId);
6334
+ const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.newPosition, tokenXMint,
6335
+ tokenYMint,
6336
+ tokenXProgram,
6337
+ tokenYProgram, layers: contractLayers, checkRange: params.checkRange }, amountParams), { chunkLowerOffset,
6338
+ chunkUpperOffset, remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: chunk.lowerBinId, upperBinId: chunk.upperBinId }));
6323
6339
  chunkInstructionGroups.push([
6324
6340
  ...binArrayInitIxs.map(ix => ({
6325
6341
  label: 'init_bin_array',
@@ -6380,7 +6396,7 @@ class Transactions {
6380
6396
  skipClaim: true,
6381
6397
  });
6382
6398
  const positionWidth = upperBinId - lowerBinId + 1;
6383
- const maxBinsPerDepositChunk = positionWidth === 69 ? 69 : 45;
6399
+ const maxBinsPerDepositChunk = positionWidth <= 69 ? 69 : 45;
6384
6400
  const useLayeredDepositsForSmallPosition = positionWidth <= 69 && layers.length > 1;
6385
6401
  const effectiveAmountX = (_b = params.amountXOverride) !== null && _b !== void 0 ? _b : estimatedTotalX;
6386
6402
  const effectiveAmountY = (_c = params.amountYOverride) !== null && _c !== void 0 ? _c : estimatedTotalY;
@@ -6438,6 +6454,10 @@ class Transactions {
6438
6454
  binStep,
6439
6455
  activeId: new bn_js_1.default(activeId),
6440
6456
  });
6457
+ const { lastXIndex: lastXLayerIndex, lastYIndex: lastYLayerIndex } = getLastHybridAmountConsumerIndexes(strategyResults.map(layer => ({
6458
+ amountX: layer.maxAmountX,
6459
+ amountY: layer.maxAmountY,
6460
+ })));
6441
6461
  const layeredDepositIxs = [];
6442
6462
  for (let i = 0; i < strategyResults.length; i++) {
6443
6463
  const layerStrategy = strategyResults[i];
@@ -6450,23 +6470,17 @@ class Transactions {
6450
6470
  percentageX: layers[i].x.percentage > 0 ? 100 : 0,
6451
6471
  percentageY: layers[i].y.percentage > 0 ? 100 : 0,
6452
6472
  };
6453
- const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation({
6454
- connection,
6455
- userWallet: params.userWallet,
6456
- lbPair,
6457
- position: params.position,
6458
- tokenXMint,
6459
- tokenYMint,
6460
- tokenXProgram,
6461
- tokenYProgram,
6462
- layers: [singleLayer],
6473
+ const amountParams = buildHybridDepositAmountParams({
6463
6474
  userTokenXAmount: layerStrategy.maxAmountX,
6464
6475
  userTokenYAmount: layerStrategy.maxAmountY,
6465
- remainingAccountsInfo: baseRemainingAccountsInfo,
6466
- pdaTokenType: types_1.TokenType.ATA,
6467
- lowerBinId,
6468
- upperBinId,
6476
+ omitXAmount: i === lastXLayerIndex,
6477
+ omitYAmount: i === lastYLayerIndex,
6469
6478
  });
6479
+ const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.position, tokenXMint,
6480
+ tokenYMint,
6481
+ tokenXProgram,
6482
+ tokenYProgram, layers: [singleLayer] }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId,
6483
+ upperBinId }));
6470
6484
  layeredDepositIxs.push({ label: 'deposit_v2', class: CLASS, instruction: depositIx });
6471
6485
  }
6472
6486
  if (layeredDepositIxs.length > 0) {
@@ -6484,8 +6498,6 @@ class Transactions {
6484
6498
  tokenXProgram,
6485
6499
  tokenYProgram,
6486
6500
  layers: contractLayers,
6487
- userTokenXAmount: effectiveAmountX,
6488
- userTokenYAmount: effectiveAmountY,
6489
6501
  remainingAccountsInfo: baseRemainingAccountsInfo,
6490
6502
  pdaTokenType: types_1.TokenType.ATA,
6491
6503
  lowerBinId,
@@ -6507,33 +6519,30 @@ class Transactions {
6507
6519
  activeId: new bn_js_1.default(activeId),
6508
6520
  });
6509
6521
  const depositChunks = (0, liquidityStrategy_1.chunkHybridDepositParameters)(strategyResults, new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), new bn_js_1.default(activeId), binStep, maxBinsPerDepositChunk, favorXInActiveId);
6522
+ const { lastXIndex: lastXChunkIndex, lastYIndex: lastYChunkIndex } = getLastHybridAmountConsumerIndexes(depositChunks.map(chunk => ({
6523
+ amountX: chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountX), new bn_js_1.default(0)),
6524
+ amountY: chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountY), new bn_js_1.default(0)),
6525
+ })));
6510
6526
  const chunkInstructionGroups = [];
6511
- for (const chunk of depositChunks) {
6527
+ for (let i = 0; i < depositChunks.length; i++) {
6528
+ const chunk = depositChunks[i];
6512
6529
  const { chunkLowerOffset, chunkUpperOffset } = getHybridChunkOffsets(lowerBinId, chunk.lowerBinId, chunk.upperBinId);
6513
6530
  const chunkAmountX = chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountX), new bn_js_1.default(0));
6514
6531
  const chunkAmountY = chunk.layers.reduce((sum, layer) => sum.add(layer.maxAmountY), new bn_js_1.default(0));
6515
6532
  if (chunkAmountX.isZero() && chunkAmountY.isZero()) {
6516
6533
  continue;
6517
6534
  }
6518
- const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation({
6519
- connection,
6520
- userWallet: params.userWallet,
6521
- lbPair,
6522
- position: params.position,
6523
- tokenXMint,
6524
- tokenYMint,
6525
- tokenXProgram,
6526
- tokenYProgram,
6527
- layers: contractLayers,
6535
+ const amountParams = buildHybridDepositAmountParams({
6528
6536
  userTokenXAmount: chunkAmountX,
6529
6537
  userTokenYAmount: chunkAmountY,
6530
- chunkLowerOffset,
6531
- chunkUpperOffset,
6532
- remainingAccountsInfo: baseRemainingAccountsInfo,
6533
- pdaTokenType: types_1.TokenType.ATA,
6534
- lowerBinId: chunk.lowerBinId,
6535
- upperBinId: chunk.upperBinId,
6538
+ omitXAmount: i === lastXChunkIndex,
6539
+ omitYAmount: i === lastYChunkIndex,
6536
6540
  });
6541
+ const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.position, tokenXMint,
6542
+ tokenYMint,
6543
+ tokenXProgram,
6544
+ tokenYProgram, layers: contractLayers }, amountParams), { chunkLowerOffset,
6545
+ chunkUpperOffset, remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: chunk.lowerBinId, upperBinId: chunk.upperBinId }));
6537
6546
  chunkInstructionGroups.push([
6538
6547
  { label: 'deposit_v2', class: CLASS, instruction: depositIx },
6539
6548
  ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.3.238",
3
+ "version": "1.3.240",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",