@hawksightco/hawk-sdk 1.3.43 → 1.3.45

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 +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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"}
@@ -822,67 +822,107 @@ class Transactions {
822
822
  }
823
823
  rebalanceAutomationIx2(_a) {
824
824
  return __awaiter(this, arguments, void 0, function* ({ connection, params, }) {
825
- const program = yield meteora_1.MeteoraDLMM.program(connection);
826
- const position = yield program.account.positionV2.fetch(params.currentPosition);
827
- const dlmmPool = yield meteora_1.MeteoraDLMM.create(connection, position.lbPair, this.ix);
828
- const userPda = (0, functions_1.generateUserPda)(params.userWallet);
829
- // Step 1: Claim all fees/rewards, remove all liquidity and close current position
830
- const { userPositions } = yield dlmmPool.getPositionsByUserAndLbPair(userPda);
831
- const userPosition = userPositions.find((userPosition) => userPosition.publicKey.equals(params.currentPosition));
832
- if (userPosition === undefined) {
833
- throw new Error(`Position: ${params.currentPosition} does not exist.`);
834
- }
835
- const removeLiquidityBuilder = yield dlmmPool.removeLiquidity(connection, params.userWallet, addresses_1.HS_AUTHORITY, {
836
- user: userPda,
837
- position: params.currentPosition,
838
- fromBinId: position.lowerBinId,
839
- toBinId: position.upperBinId,
840
- bps: new bn_js_1.default(10000),
841
- shouldClaimAndClose: true,
842
- }, hsToMeteora_1.meteoraToHawksightAutomationIxs);
843
- console.log('Before replace claim fee token ...');
844
- if (!!params.useAta) {
845
- removeLiquidityBuilder.replaceClaimFeeTokenToATA();
846
- console.log('After replace claim fee token ...');
847
- removeLiquidityBuilder.replaceClaimRewardToSTA();
848
- console.log('After replace claim reward token ...');
825
+ try {
826
+ console.log('=== REBALANCE AUTOMATION IX2 START ===');
827
+ console.log('Params:', JSON.stringify({
828
+ userWallet: params.userWallet.toString(),
829
+ currentPosition: params.currentPosition.toString(),
830
+ newPosition: params.newPosition.toString(),
831
+ relativeBinRange: params.relativeBinRange,
832
+ distribution: params.distribution,
833
+ checkRange: params.checkRange,
834
+ useAta: params.useAta
835
+ }, null, 2));
836
+ console.log('Step 1: Fetching position data...');
837
+ const program = yield meteora_1.MeteoraDLMM.program(connection);
838
+ const position = yield program.account.positionV2.fetch(params.currentPosition);
839
+ console.log('Position data:', {
840
+ lbPair: position.lbPair.toString(),
841
+ lowerBinId: position.lowerBinId,
842
+ upperBinId: position.upperBinId,
843
+ owner: position.owner.toString()
844
+ });
845
+ console.log('Step 2: Creating DLMM pool...');
846
+ const dlmmPool = yield meteora_1.MeteoraDLMM.create(connection, position.lbPair, this.ix);
847
+ const userPda = (0, functions_1.generateUserPda)(params.userWallet);
848
+ console.log('User PDA:', userPda.toString());
849
+ // Step 1: Claim all fees/rewards, remove all liquidity and close current position
850
+ console.log('Step 3: Getting user positions...');
851
+ const { userPositions } = yield dlmmPool.getPositionsByUserAndLbPair(userPda);
852
+ console.log('Found user positions:', userPositions.length);
853
+ const userPosition = userPositions.find((userPosition) => userPosition.publicKey.equals(params.currentPosition));
854
+ if (userPosition === undefined) {
855
+ throw new Error(`Position: ${params.currentPosition} does not exist.`);
856
+ }
857
+ console.log('User position found:', userPosition.publicKey.toString());
858
+ console.log('Step 4: Creating remove liquidity builder...');
859
+ const removeLiquidityBuilder = yield dlmmPool.removeLiquidity(connection, params.userWallet, addresses_1.HS_AUTHORITY, {
860
+ user: userPda,
861
+ position: params.currentPosition,
862
+ fromBinId: position.lowerBinId,
863
+ toBinId: position.upperBinId,
864
+ bps: new bn_js_1.default(10000),
865
+ shouldClaimAndClose: true,
866
+ }, hsToMeteora_1.meteoraToHawksightAutomationIxs);
867
+ console.log('Remove liquidity builder created successfully');
868
+ console.log('Step 5: Replacing claim tokens...');
869
+ if (!!params.useAta) {
870
+ removeLiquidityBuilder.replaceClaimFeeTokenToATA();
871
+ console.log('Replaced claim fee token to ATA');
872
+ removeLiquidityBuilder.replaceClaimRewardToSTA();
873
+ console.log('Replaced claim reward token to STA');
874
+ }
875
+ else {
876
+ removeLiquidityBuilder.replaceClaimFeeTokenToSTA();
877
+ removeLiquidityBuilder.replaceClaimRewardToSTA();
878
+ console.log('Replaced both claim tokens to STA');
879
+ }
880
+ // Re-deposit fees (TODO: How to re-deposit reward tokens that is not X or Y token?)
881
+ const { userWallet, newPosition, relativeBinRange, distribution, checkRange, } = params;
882
+ console.log('Step 6: Preparing redeposit parameters...');
883
+ const redepositParams = {
884
+ userWallet,
885
+ lbPair: position.lbPair,
886
+ position: newPosition,
887
+ relativeLowerBinId: relativeBinRange.lowerRange,
888
+ relativeUpperBinId: relativeBinRange.upperRange,
889
+ strategyType: types_3.StrategyTypeMap[distribution],
890
+ checkRange: {
891
+ minBinId: checkRange.lowerRange,
892
+ maxBinId: checkRange.upperRange,
893
+ },
894
+ };
895
+ console.log('Redeposit params:', JSON.stringify(Object.assign(Object.assign({}, redepositParams), { userWallet: redepositParams.userWallet.toString(), lbPair: redepositParams.lbPair.toString(), position: redepositParams.position.toString(), strategyType: redepositParams.strategyType }), null, 2));
896
+ console.log('Step 7: Calling redepositAutomation2...');
897
+ const redepositIx = yield this.ix.meteoraDlmm.redepositAutomation2(connection, redepositParams);
898
+ console.log('Redeposit instruction created successfully');
899
+ console.log('Step 8: Building final instructions...');
900
+ const mainInstructions = [
901
+ // Initialize required ATA
902
+ ...removeLiquidityBuilder.createAtaIxs,
903
+ // Remove liquidity
904
+ ...removeLiquidityBuilder.mainIxs,
905
+ // Re-deposit liquidity
906
+ redepositIx,
907
+ ];
908
+ console.log('Final instruction count:', mainInstructions.length);
909
+ console.log('=== REBALANCE AUTOMATION IX2 SUCCESS ===');
910
+ return (0, functions_1.createTransactionMeta)({
911
+ payer: params.userWallet,
912
+ description: "Automation IX: Meteora Auto-rebalance instructions (Close position and deposit to new position)",
913
+ addressLookupTableAddresses: addresses_1.GLOBAL_ALT,
914
+ mainInstructions,
915
+ });
849
916
  }
850
- else {
851
- removeLiquidityBuilder.replaceClaimFeeTokenToSTA();
852
- removeLiquidityBuilder.replaceClaimRewardToSTA();
917
+ catch (error) {
918
+ console.error('=== REBALANCE AUTOMATION IX2 ERROR ===');
919
+ console.error('Error type:', error instanceof Error ? error.constructor.name : typeof error);
920
+ console.error('Error message:', error instanceof Error ? error.message : String(error));
921
+ console.error('Error stack:', error instanceof Error ? error.stack : 'No stack trace');
922
+ console.error('Full error object:', error);
923
+ console.error('=== END ERROR LOG ===');
924
+ throw error;
853
925
  }
854
- // Re-deposit fees (TODO: How to re-deposit reward tokens that is not X or Y token?)
855
- const { userWallet, newPosition, relativeBinRange, distribution, checkRange, } = params;
856
- console.log('Before redeposit ...');
857
- const redepositIx = yield this.ix.meteoraDlmm.redepositAutomation2(connection, {
858
- userWallet,
859
- lbPair: position.lbPair,
860
- position: newPosition,
861
- relativeLowerBinId: relativeBinRange.lowerRange,
862
- relativeUpperBinId: relativeBinRange.upperRange,
863
- // Note: we use the raw strategy types since the type is passed directly as IX instead of converted via meteora SDK
864
- //
865
- strategyType: types_3.StrategyTypeMap[distribution],
866
- checkRange: {
867
- minBinId: checkRange.lowerRange,
868
- maxBinId: checkRange.upperRange,
869
- },
870
- });
871
- console.log('After redeposit ...');
872
- const mainInstructions = [
873
- // Initialize required ATA
874
- ...removeLiquidityBuilder.createAtaIxs,
875
- // Remove liquidity
876
- ...removeLiquidityBuilder.mainIxs,
877
- // Re-deposit liquidity
878
- redepositIx,
879
- ];
880
- return (0, functions_1.createTransactionMeta)({
881
- payer: params.userWallet,
882
- description: "Automation IX: Meteora Auto-rebalance instructions (Close position and deposit to new position)",
883
- addressLookupTableAddresses: addresses_1.GLOBAL_ALT,
884
- mainInstructions,
885
- });
886
926
  });
887
927
  }
888
928
  openAutomationIx(_a) {
@@ -2356,7 +2356,7 @@ class MeteoraDlmmWithdraw2Automation extends HawksightMeteoraAutomationCpi {
2356
2356
  * @param authority The authority public key that has signing capabilities over the transaction.
2357
2357
  */
2358
2358
  constructor(ix, userPda, authority, opt) {
2359
- super(ix, userPda, authority, Buffer.from([54, 152, 149, 59, 20, 177, 13, 212]), opt);
2359
+ super(ix, userPda, authority, util.sighash("remove_liquidity_by_range2", undefined, true), opt);
2360
2360
  }
2361
2361
  /**
2362
2362
  * Modifies transaction keys for the purpose of withdrawing liquidity.
@@ -1 +1 @@
1
- {"version":3,"file":"MeteoraDlmmIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/MeteoraDlmmIxGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeteoraDlmmIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/MeteoraDlmmIxGenerator.ts"],"names":[],"mappings":"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"}
@@ -213,105 +213,151 @@ class MeteoraDlmmIxGenerator {
213
213
  }
214
214
  redepositAutomation2(connection_1, _a) {
215
215
  return __awaiter(this, arguments, void 0, function* (connection, { userWallet, lbPair, position, relativeLowerBinId, relativeUpperBinId, strategyType, checkRange }) {
216
- // Initialize anchor
217
- anchor_1.Anchor.initialize(connection);
218
- // Meteora utility function
219
- // const fn = new MeteoraFunctions(this.ix);
220
- // Generate user pda
221
- const userPda = (0, functions_1.generateUserPda)(userWallet);
222
- // Get meteora pool
223
- const lbPairInfo = yield anchor_1.Anchor.instance().meteoraProgram.account.lbPair.fetch(lbPair);
224
- const tokenXMint = lbPairInfo.tokenXMint;
225
- const tokenYMint = lbPairInfo.tokenYMint;
226
- const reserveX = lbPairInfo.reserveX;
227
- const reserveY = lbPairInfo.reserveY;
228
- const userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint);
229
- const userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint);
230
- const activeBinId = lbPairInfo.activeId;
231
- // const MAX_BIN_ARRAY_SIZE = new BN(Anchor.instance().meteoraProgram.idl.constants[1].value);
232
- // Get min and max bin id values from checkRange threshold
233
- const { minBinId, maxBinId } = checkRange;
234
- let _checkRange = [minBinId, maxBinId];
235
- // Note: relative lower & upper bins can be positive or negative
236
- const expectedMinBinId = activeBinId + relativeLowerBinId;
237
- const expectedMaxBinId = activeBinId + relativeUpperBinId;
238
- if (expectedMaxBinId < expectedMinBinId) {
239
- throw new Error("Invalid bin range");
216
+ try {
217
+ console.log('=== REDEPOSIT AUTOMATION 2 START ===');
218
+ console.log('Parameters:', {
219
+ userWallet: userWallet.toString(),
220
+ lbPair: lbPair.toString(),
221
+ position: position.toString(),
222
+ relativeLowerBinId,
223
+ relativeUpperBinId,
224
+ strategyType,
225
+ checkRange
226
+ });
227
+ // Initialize anchor
228
+ anchor_1.Anchor.initialize(connection);
229
+ // Meteora utility function
230
+ // const fn = new MeteoraFunctions(this.ix);
231
+ // Generate user pda
232
+ const userPda = (0, functions_1.generateUserPda)(userWallet);
233
+ console.log('User PDA generated:', userPda.toString());
234
+ // Get meteora pool
235
+ console.log('Fetching LB pair info...');
236
+ const lbPairInfo = yield anchor_1.Anchor.instance().meteoraProgram.account.lbPair.fetch(lbPair);
237
+ const tokenXMint = lbPairInfo.tokenXMint;
238
+ const tokenYMint = lbPairInfo.tokenYMint;
239
+ const reserveX = lbPairInfo.reserveX;
240
+ const reserveY = lbPairInfo.reserveY;
241
+ const userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint);
242
+ const userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint);
243
+ const activeBinId = lbPairInfo.activeId;
244
+ console.log('LB pair info:', {
245
+ tokenXMint: tokenXMint.toString(),
246
+ tokenYMint: tokenYMint.toString(),
247
+ activeBinId: activeBinId.toString()
248
+ });
249
+ // const MAX_BIN_ARRAY_SIZE = new BN(Anchor.instance().meteoraProgram.idl.constants[1].value);
250
+ // Get min and max bin id values from checkRange threshold
251
+ const { minBinId, maxBinId } = checkRange;
252
+ let _checkRange = [minBinId, maxBinId];
253
+ // Note: relative lower & upper bins can be positive or negative
254
+ const expectedMinBinId = activeBinId + relativeLowerBinId;
255
+ const expectedMaxBinId = activeBinId + relativeUpperBinId;
256
+ console.log('Bin calculations:', {
257
+ activeBinId: activeBinId.toString(),
258
+ relativeLowerBinId,
259
+ relativeUpperBinId,
260
+ expectedMinBinId,
261
+ expectedMaxBinId
262
+ });
263
+ if (expectedMaxBinId < expectedMinBinId) {
264
+ throw new Error("Invalid bin range");
265
+ }
266
+ // get min and max bin +- 3
267
+ // this is to ensure that we allow for some buffer
268
+ // let lowerTickArrays = fn.findMeteoraTickArrays(lbPair, expectedMinBinId - 3, expectedMinBinId + 3);
269
+ // let upperTickArrays = fn.findMeteoraTickArrays(lbPair, expectedMaxBinId - 3, expectedMaxBinId + 3);
270
+ // Merge and remove duplicates
271
+ // it will handle overlapping tick arrays
272
+ // if lower is 1 2 3 4 5 6 7 and upper is 3 4 5 6 7 8 9
273
+ // we want to merge it to 1 2 3 4 5 6 7 8 9
274
+ // const tickArrays: web3.PublicKey[] = [...new Set([...lowerTickArrays, ...upperTickArrays])];
275
+ // comment out for reference
276
+ // const lowerBinArrayIndex = fn.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new BN(activeBinId - relativeLowerBinId));
277
+ // const binArrayLower = fn.deriveBinArray(lbPair, lowerBinArrayIndex);
278
+ // const binArrayUpper = fn.deriveBinArray(lbPair, lowerBinArrayIndex.add(new BN(1)));
279
+ // comment out for reference
280
+ // let _checkRange: null | [number, number];
281
+ // if (!!checkRange) {
282
+ // const { minBinId, maxBinId } = checkRange;
283
+ // _checkRange = [minBinId, maxBinId];
284
+ // } else {
285
+ // _checkRange = null;
286
+ // }
287
+ console.log('Creating DLMM instance...');
288
+ let DLMM = yield this.dlmm(connection, lbPair);
289
+ console.log('Calling addLiquidityByStrategy...');
290
+ const addLiquidityByStrategyTx = yield DLMM.dlmm.addLiquidityByStrategy({
291
+ positionPubKey: position,
292
+ totalXAmount: new bn_js_1.default(0),
293
+ totalYAmount: new bn_js_1.default(0),
294
+ strategy: {
295
+ maxBinId: expectedMinBinId,
296
+ minBinId: expectedMaxBinId,
297
+ strategyType: mapOldStrategyTypeToNew(strategyType),
298
+ },
299
+ user: userWallet,
300
+ });
301
+ console.log('addLiquidityByStrategy completed, instruction count:', addLiquidityByStrategyTx.instructions.length);
302
+ // const addLiquidityByStrategyIxs = addLiquidityByStrategyTx.instructions.filter((ix) => ix.programId.equals(METEORA_DLMM_PROGRAM))
303
+ console.log('Filtering instructions for add_liquidity_by_strategy2...');
304
+ const addLiquidityByStrategyIx = addLiquidityByStrategyTx.instructions.filter((ix) => {
305
+ return ix.programId.equals(METEORA_DLMM_PROGRAM) &&
306
+ ix.data.subarray(0, 8).equals(Buffer.from([3, 221, 149, 218, 111, 141, 118, 213]));
307
+ })[0];
308
+ if (!addLiquidityByStrategyIx) {
309
+ throw new Error('add_liquidity_by_strategy2 instruction not found in transaction');
310
+ }
311
+ console.log('Found add_liquidity_by_strategy2 instruction');
312
+ // index 14 onwards are remaining accounts
313
+ const remainingAccountMeta = addLiquidityByStrategyIx.keys.slice(14);
314
+ // index 97 onwards are remaining accounts info
315
+ const remainingAccountsInfo = addLiquidityByStrategyIx.data.subarray(97);
316
+ console.log('Remaining accounts count:', remainingAccountMeta.length);
317
+ console.log('Remaining accounts info length:', remainingAccountsInfo.length);
318
+ // Generate instruction
319
+ return this.ix.iyfMain.iyfExtensionExecute(connection, {
320
+ userWallet,
321
+ // @ts-ignore
322
+ iyfExtensionIx: yield anchor_1.Anchor.instance().iyfExtension
323
+ .methods
324
+ .meteoraDlmmRedepositAutomation2(relativeLowerBinId, relativeUpperBinId, mapOldStrategyTypeToNew(strategyType), _checkRange, remainingAccountsInfo)
325
+ .accounts({
326
+ farm: addresses_1.USDC_FARM,
327
+ userPda,
328
+ authority: userWallet,
329
+ iyfProgram: addresses_1.IYF_MAIN,
330
+ hawksightAuthority: addresses_1.HS_AUTHORITY,
331
+ position,
332
+ lbPair,
333
+ userTokenX,
334
+ userTokenY,
335
+ reserveX,
336
+ reserveY,
337
+ tokenXMint,
338
+ tokenYMint,
339
+ // binArrayLower,
340
+ // binArrayUpper,
341
+ systemProgram: web3.SystemProgram.programId,
342
+ tokenProgram: addresses_1.TOKEN_PROGRAM_ID,
343
+ rent: web3.SYSVAR_RENT_PUBKEY,
344
+ eventAuthority: METEORA_EVENT_AUTHORITY,
345
+ meteoraDlmmProgram: METEORA_DLMM_PROGRAM,
346
+ })
347
+ .remainingAccounts(remainingAccountMeta)
348
+ .instruction(),
349
+ });
350
+ console.log('=== REDEPOSIT AUTOMATION 2 SUCCESS ===');
351
+ }
352
+ catch (error) {
353
+ console.error('=== REDEPOSIT AUTOMATION 2 ERROR ===');
354
+ console.error('Error type:', error instanceof Error ? error.constructor.name : typeof error);
355
+ console.error('Error message:', error instanceof Error ? error.message : String(error));
356
+ console.error('Error stack:', error instanceof Error ? error.stack : 'No stack trace');
357
+ console.error('Full error object:', error);
358
+ console.error('=== END REDEPOSIT ERROR LOG ===');
359
+ throw error;
240
360
  }
241
- // get min and max bin +- 3
242
- // this is to ensure that we allow for some buffer
243
- // let lowerTickArrays = fn.findMeteoraTickArrays(lbPair, expectedMinBinId - 3, expectedMinBinId + 3);
244
- // let upperTickArrays = fn.findMeteoraTickArrays(lbPair, expectedMaxBinId - 3, expectedMaxBinId + 3);
245
- // Merge and remove duplicates
246
- // it will handle overlapping tick arrays
247
- // if lower is 1 2 3 4 5 6 7 and upper is 3 4 5 6 7 8 9
248
- // we want to merge it to 1 2 3 4 5 6 7 8 9
249
- // const tickArrays: web3.PublicKey[] = [...new Set([...lowerTickArrays, ...upperTickArrays])];
250
- // comment out for reference
251
- // const lowerBinArrayIndex = fn.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new BN(activeBinId - relativeLowerBinId));
252
- // const binArrayLower = fn.deriveBinArray(lbPair, lowerBinArrayIndex);
253
- // const binArrayUpper = fn.deriveBinArray(lbPair, lowerBinArrayIndex.add(new BN(1)));
254
- // comment out for reference
255
- // let _checkRange: null | [number, number];
256
- // if (!!checkRange) {
257
- // const { minBinId, maxBinId } = checkRange;
258
- // _checkRange = [minBinId, maxBinId];
259
- // } else {
260
- // _checkRange = null;
261
- // }
262
- let DLMM = yield this.dlmm(connection, lbPair);
263
- const addLiquidityByStrategyTx = yield DLMM.dlmm.addLiquidityByStrategy({
264
- positionPubKey: position,
265
- totalXAmount: new bn_js_1.default(0),
266
- totalYAmount: new bn_js_1.default(0),
267
- strategy: {
268
- maxBinId: expectedMinBinId,
269
- minBinId: expectedMaxBinId,
270
- strategyType: mapOldStrategyTypeToNew(strategyType),
271
- },
272
- user: userWallet,
273
- });
274
- // const addLiquidityByStrategyIxs = addLiquidityByStrategyTx.instructions.filter((ix) => ix.programId.equals(METEORA_DLMM_PROGRAM))
275
- const addLiquidityByStrategyIx = addLiquidityByStrategyTx.instructions.filter((ix) => {
276
- return ix.programId.equals(METEORA_DLMM_PROGRAM) &&
277
- ix.data.subarray(0, 8).equals(Buffer.from([3, 221, 149, 218, 111, 141, 118, 213]));
278
- })[0];
279
- // index 14 onwards are remaining accounts
280
- const remainingAccountMeta = addLiquidityByStrategyIx.keys.slice(14);
281
- // index 97 onwards are remaining accounts info
282
- const remainingAccountsInfo = addLiquidityByStrategyIx.data.subarray(97);
283
- // Generate instruction
284
- return this.ix.iyfMain.iyfExtensionExecute(connection, {
285
- userWallet,
286
- // @ts-ignore
287
- iyfExtensionIx: yield anchor_1.Anchor.instance().iyfExtension
288
- .methods
289
- .meteoraDlmmRedepositAutomation2(relativeLowerBinId, relativeUpperBinId, mapOldStrategyTypeToNew(strategyType), _checkRange, remainingAccountsInfo)
290
- .accounts({
291
- farm: addresses_1.USDC_FARM,
292
- userPda,
293
- authority: userWallet,
294
- iyfProgram: addresses_1.IYF_MAIN,
295
- hawksightAuthority: addresses_1.HS_AUTHORITY,
296
- position,
297
- lbPair,
298
- userTokenX,
299
- userTokenY,
300
- reserveX,
301
- reserveY,
302
- tokenXMint,
303
- tokenYMint,
304
- // binArrayLower,
305
- // binArrayUpper,
306
- systemProgram: web3.SystemProgram.programId,
307
- tokenProgram: addresses_1.TOKEN_PROGRAM_ID,
308
- rent: web3.SYSVAR_RENT_PUBKEY,
309
- eventAuthority: METEORA_EVENT_AUTHORITY,
310
- meteoraDlmmProgram: METEORA_DLMM_PROGRAM,
311
- })
312
- .remainingAccounts(remainingAccountMeta)
313
- .instruction(),
314
- });
315
361
  });
316
362
  }
317
363
  claimFee(connection, params) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.3.43",
3
+ "version": "1.3.45",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",