@hawksightco/hawk-sdk 1.1.29 → 1.1.31

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.
@@ -11,6 +11,7 @@ export declare const SITE_FEE_OWNER: web3.PublicKey;
11
11
  export declare const USDC_FARM: web3.PublicKey;
12
12
  export declare const SOME_METEORA_DLMM_POOL: web3.PublicKey;
13
13
  export declare const METEORA_DLMM_PROGRAM: web3.PublicKey;
14
+ export declare const METEORA_EVENT_AUTHORITY: web3.PublicKey;
14
15
  export declare const COMPUTE_BUDGET: web3.PublicKey;
15
16
  export declare const HS_AUTHORITY: web3.PublicKey;
16
17
  export declare const ORCA_WHIRLPOOL_PROGRAM: web3.PublicKey;
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/addresses.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,eAAO,MAAM,UAAU,UAYtB,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAqE,CAAC;AAC3F,eAAO,MAAM,aAAa,gBAAqE,CAAC;AAChG,eAAO,MAAM,YAAY,gBAAqE,CAAC;AAC/F,eAAO,MAAM,YAAY,gBAAqE,CAAC;AAC/F,eAAO,MAAM,gBAAgB,gBAAoE,CAAC;AAClG,eAAO,MAAM,wBAAwB,gBAAqE,CAAC;AAC3G,eAAO,MAAM,cAAc,gBAAqE,CAAC;AACjG,eAAO,MAAM,SAAS,gBAAqE,CAAC;AAC5F,eAAO,MAAM,sBAAsB,gBAAqE,CAAC;AACzG,eAAO,MAAM,oBAAoB,gBAAoE,CAAC;AACtG,eAAO,MAAM,cAAc,gBAAoE,CAAC;AAChG,eAAO,MAAM,YAAY,gBAAoE,CAAC;AAC9F,eAAO,MAAM,sBAAsB,gBAAoE,CAAC;AACxG,eAAO,MAAM,SAAS,gBAAoE,CAAC;AAC3F,eAAO,MAAM,eAAe,gBAAoE,CAAC"}
1
+ {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/addresses.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,eAAO,MAAM,UAAU,UAYtB,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAqE,CAAC;AAC3F,eAAO,MAAM,aAAa,gBAAqE,CAAC;AAChG,eAAO,MAAM,YAAY,gBAAqE,CAAC;AAC/F,eAAO,MAAM,YAAY,gBAAqE,CAAC;AAC/F,eAAO,MAAM,gBAAgB,gBAAoE,CAAC;AAClG,eAAO,MAAM,wBAAwB,gBAAqE,CAAC;AAC3G,eAAO,MAAM,cAAc,gBAAqE,CAAC;AACjG,eAAO,MAAM,SAAS,gBAAqE,CAAC;AAC5F,eAAO,MAAM,sBAAsB,gBAAqE,CAAC;AACzG,eAAO,MAAM,oBAAoB,gBAAoE,CAAC;AACtG,eAAO,MAAM,uBAAuB,gBAAqE,CAAC;AAC1G,eAAO,MAAM,cAAc,gBAAoE,CAAC;AAChG,eAAO,MAAM,YAAY,gBAAoE,CAAC;AAC9F,eAAO,MAAM,sBAAsB,gBAAoE,CAAC;AACxG,eAAO,MAAM,SAAS,gBAAoE,CAAC;AAC3F,eAAO,MAAM,eAAe,gBAAoE,CAAC"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.JUPITER_PROGRAM = exports.WSOL_MINT = exports.ORCA_WHIRLPOOL_PROGRAM = exports.HS_AUTHORITY = exports.COMPUTE_BUDGET = exports.METEORA_DLMM_PROGRAM = exports.SOME_METEORA_DLMM_POOL = exports.USDC_FARM = exports.SITE_FEE_OWNER = exports.ASSOCIATED_TOKEN_PROGRAM = exports.TOKEN_PROGRAM_ID = exports.STABLEMINT_2 = exports.STABLEMINT_1 = exports.IYF_EXTENSION = exports.IYF_MAIN = exports.GLOBAL_ALT = void 0;
26
+ exports.JUPITER_PROGRAM = exports.WSOL_MINT = exports.ORCA_WHIRLPOOL_PROGRAM = exports.HS_AUTHORITY = exports.COMPUTE_BUDGET = exports.METEORA_EVENT_AUTHORITY = exports.METEORA_DLMM_PROGRAM = exports.SOME_METEORA_DLMM_POOL = exports.USDC_FARM = exports.SITE_FEE_OWNER = exports.ASSOCIATED_TOKEN_PROGRAM = exports.TOKEN_PROGRAM_ID = exports.STABLEMINT_2 = exports.STABLEMINT_1 = exports.IYF_EXTENSION = exports.IYF_MAIN = exports.GLOBAL_ALT = void 0;
27
27
  const web3 = __importStar(require("@solana/web3.js"));
28
28
  exports.GLOBAL_ALT = [
29
29
  "AC3t5k5PUTJirxGEHgGGQStafu1vXkvddPyqVNDrRQDt",
@@ -48,6 +48,7 @@ exports.SITE_FEE_OWNER = new web3.PublicKey("4K3a2ucXiGvuMJMPNneRDyzmNp6i4RdzXJm
48
48
  exports.USDC_FARM = new web3.PublicKey("7jLQhREMxXjKdpwVuN6gwsWt3BNfAg9WqbepffPbi4ww");
49
49
  exports.SOME_METEORA_DLMM_POOL = new web3.PublicKey("7eexH14UjhNxJe6zTT3f1Vb1E8iACsBMVaWheDEmxdT2");
50
50
  exports.METEORA_DLMM_PROGRAM = new web3.PublicKey("LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo");
51
+ exports.METEORA_EVENT_AUTHORITY = new web3.PublicKey("D1ZN9Wj1fRSUQfCjhvnu1hqDMT7hzjzBBpi12nVniYD6");
51
52
  exports.COMPUTE_BUDGET = new web3.PublicKey("ComputeBudget111111111111111111111111111111");
52
53
  exports.HS_AUTHORITY = new web3.PublicKey("dche7M2764e8AxNihBdn7uffVzZvTBNeL8x4LZg5E2c");
53
54
  exports.ORCA_WHIRLPOOL_PROGRAM = new web3.PublicKey("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc");
@@ -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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"}
@@ -287,29 +287,29 @@ class Transactions {
287
287
  */
288
288
  meteoraClaim(_a) {
289
289
  return __awaiter(this, arguments, void 0, function* ({ connection, params, }) {
290
- const program = yield meteora_1.MeteoraDLMM.program(connection);
291
290
  let lbPair;
292
291
  if (params.fastGeneration !== undefined) {
293
292
  lbPair = params.fastGeneration.pool;
294
293
  }
295
294
  else {
295
+ const program = yield meteora_1.MeteoraDLMM.program(connection);
296
296
  const position = yield program.account.positionV2.fetch(params.position);
297
297
  lbPair = position.lbPair;
298
298
  }
299
- const dlmmPool = yield meteora_1.MeteoraDLMM.create(connection, lbPair);
300
299
  const userPda = (0, functions_1.generateUserPda)(params.userWallet);
301
- const { userPositions } = yield dlmmPool.getPositionsByUserAndLbPair(userPda);
302
- const index = userPositions.findIndex((v) => v.publicKey.equals(params.position));
303
- const mainInstructions = (yield dlmmPool.claimAllRewardsByPosition(params.userWallet, params.userWallet, {
300
+ const fn = new meteora_1.MeteoraFunctions();
301
+ const mainInstructions = (yield fn.claimAllRewardsByPosition(connection, params.userWallet, params.userWallet, {
304
302
  owner: userPda,
305
- position: userPositions[index],
303
+ position: params.position,
304
+ lbPair,
306
305
  }, hsToMeteora_1.meteoraToHawksight)).default();
307
- return (0, functions_1.createTransactionMeta)({
306
+ const txMeta = (0, functions_1.createTransactionMeta)({
308
307
  payer: params.userWallet,
309
308
  description: "Claim fees / rewards from Meteora DLMM Position",
310
309
  addressLookupTableAddresses: addresses_1.GLOBAL_ALT,
311
310
  mainInstructions,
312
311
  });
312
+ return txMeta;
313
313
  });
314
314
  }
315
315
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TxGenerator.d.ts","sourceRoot":"","sources":["../../../src/classes/TxGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TxGenerator.d.ts","sourceRoot":"","sources":["../../../src/classes/TxGenerator.ts"],"names":[],"mappings":"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"}
@@ -203,6 +203,7 @@ class TxGenerator {
203
203
  anchor_1.Anchor.initialize(connection);
204
204
  try {
205
205
  const startTime = new Date().getTime() / 1000;
206
+ console.log(`meteoraClaim: Benchmarking txgen.meteoraClaim`);
206
207
  const result = yield Transactions_1.txgen.meteoraClaim({
207
208
  connection,
208
209
  params: {
@@ -215,6 +216,7 @@ class TxGenerator {
215
216
  : undefined,
216
217
  },
217
218
  });
219
+ console.log(`meteoraClaim: await txgen.meteoraClaim: ${new Date().getTime() / 1000 - startTime}`);
218
220
  return {
219
221
  status: 200,
220
222
  data: yield (0, functions_1.createTxMetadata)(this.generalUtility, connection, payer, result),
@@ -7,6 +7,10 @@ export declare class MeteoraDLMM {
7
7
  readonly dlmm: DLMM;
8
8
  private constructor();
9
9
  readonly pubkey: web3.PublicKey;
10
+ private static _program;
11
+ private static _instance;
12
+ private static _poolAddress;
13
+ private static _connection;
10
14
  static create(connection: web3.Connection, poolAddress: web3.PublicKey): Promise<MeteoraDLMM>;
11
15
  /**
12
16
  * Meteora DLMM Program
@@ -161,6 +165,59 @@ export declare class MeteoraDLMM {
161
165
  position: LbPosition;
162
166
  }, meteoraToHawksight: MeteoraToHawksightFn): Promise<web3.TransactionInstruction[]>;
163
167
  }
168
+ /**
169
+ * Meteora functions / transaction generators that we re-written for performance improvement purposes
170
+ */
171
+ export declare class MeteoraFunctions {
172
+ /**
173
+ * Claims all rewards for a specified position.
174
+ *
175
+ * This method communicates with the DLMM (Dynamic Liquidity Market Maker) to claim all rewards
176
+ * for a given position. It filters the transaction instructions to include only those relevant
177
+ * to the Meteora DLMM program. The method returns a `ClaimAllRewardsByPositionBuilder` object
178
+ * which provides a structured way to build the necessary transaction instructions for the reward
179
+ * claiming process.
180
+ *
181
+ * @param {web3.PublicKey} userWallet - The public key of the user's wallet executing the transaction.
182
+ * @param {web3.PublicKey} payer - The public key of the transaction payer.
183
+ * @param {Object} params - The parameters for claiming rewards.
184
+ * @param {web3.PublicKey} params.owner - The public key of the owner of the position.
185
+ * @param {LbPosition} params.position - The position object representing the liquidity position.
186
+ * @param {Function} meteoraToHawksight - A function to convert Meteora instructions to Hawksight instructions.
187
+ *
188
+ * @returns {Promise<ClaimAllRewardsByPositionBuilder>} - A promise that resolves to a `ClaimAllRewardsByPositionBuilder` object.
189
+ */
190
+ claimAllRewardsByPosition(connection: web3.Connection, userWallet: web3.PublicKey, payer: web3.PublicKey, params: {
191
+ owner: web3.PublicKey;
192
+ lbPair: web3.PublicKey;
193
+ position: web3.PublicKey;
194
+ }, meteoraToHawksight: MeteoraToHawksightFn): Promise<ClaimAllRewardsByPositionBuilder>;
195
+ constants(program: any): {
196
+ MAX_BIN_ARRAY_SIZE: BN;
197
+ MAX_BIN_PER_POSITION: BN;
198
+ BIN_ARRAY_BITMAP_SIZE: BN;
199
+ EXTENSION_BINARRAY_BITMAP_SIZE: BN;
200
+ };
201
+ deriveReserve(token: web3.PublicKey, lbPair: web3.PublicKey): web3.PublicKey;
202
+ deriveBinArray(lbPair: web3.PublicKey, index: BN): web3.PublicKey;
203
+ binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE: BN, binId: BN): BN;
204
+ getPositionAndLbPair(connection: web3.Connection, lbPair: web3.PublicKey, position: web3.PublicKey): Promise<{
205
+ lbPairAccount: any;
206
+ positionAccount: any;
207
+ constants: any;
208
+ }>;
209
+ claimFeeAndRewardIxs(connection: web3.Connection, lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey): Promise<web3.TransactionInstruction[]>;
210
+ claimFeeIx(lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey, getPositionAndLbPairResult: {
211
+ lbPairAccount: any;
212
+ positionAccount: any;
213
+ constants: any;
214
+ }): web3.TransactionInstruction;
215
+ claimRewardIxs(lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey, getPositionAndLbPairResult: {
216
+ lbPairAccount: any;
217
+ positionAccount: any;
218
+ constants: any;
219
+ }): web3.TransactionInstruction[];
220
+ }
164
221
  /**
165
222
  * A builder class for constructing transaction instructions to claim all rewards by position.
166
223
  *
@@ -1 +1 @@
1
- {"version":3,"file":"meteora.d.ts","sourceRoot":"","sources":["../../src/meteora.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meteora.d.ts","sourceRoot":"","sources":["../../src/meteora.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
34
37
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.InitializePositionAndAddLiquidityByStrategyBuilder = exports.RemoveLiquidityBuilder = exports.AddLiquidityByStrategyBuilder = exports.ClaimAllRewardsByPositionBuilder = exports.MeteoraDLMM = void 0;
38
+ exports.InitializePositionAndAddLiquidityByStrategyBuilder = exports.RemoveLiquidityBuilder = exports.AddLiquidityByStrategyBuilder = exports.ClaimAllRewardsByPositionBuilder = exports.MeteoraFunctions = exports.MeteoraDLMM = void 0;
36
39
  const dlmm_1 = __importStar(require("@meteora-ag/dlmm"));
40
+ const bn_js_1 = __importDefault(require("bn.js"));
41
+ const web3 = __importStar(require("@solana/web3.js"));
37
42
  const errors_1 = require("./errors");
38
43
  const addresses_1 = require("./addresses");
39
44
  const functions_1 = require("./functions");
@@ -46,8 +51,13 @@ class MeteoraDLMM {
46
51
  }
47
52
  static create(connection, poolAddress) {
48
53
  return __awaiter(this, void 0, void 0, function* () {
49
- const dlmm = yield dlmm_1.default.create(connection, poolAddress);
50
- return new MeteoraDLMM(dlmm);
54
+ if (this._instance == undefined || this._poolAddress !== poolAddress || this._connection.rpcEndpoint !== connection.rpcEndpoint) {
55
+ const dlmm = yield dlmm_1.default.create(connection, poolAddress);
56
+ this._poolAddress = poolAddress;
57
+ this._instance = new MeteoraDLMM(dlmm);
58
+ this._program = dlmm.program;
59
+ }
60
+ return this._instance;
51
61
  });
52
62
  }
53
63
  /**
@@ -57,8 +67,11 @@ class MeteoraDLMM {
57
67
  */
58
68
  static program(connection) {
59
69
  return __awaiter(this, void 0, void 0, function* () {
60
- const dlmm = yield dlmm_1.default.create(connection, addresses_1.SOME_METEORA_DLMM_POOL);
61
- return dlmm.program;
70
+ if (this._program == undefined) {
71
+ const dlmm = yield dlmm_1.default.create(connection, addresses_1.SOME_METEORA_DLMM_POOL);
72
+ this._program = dlmm.program;
73
+ }
74
+ return this._program;
62
75
  });
63
76
  }
64
77
  getXYAmountDistribution(distribution, activeBin, lowerRange, upperRange) {
@@ -417,6 +430,207 @@ class MeteoraDLMM {
417
430
  }
418
431
  }
419
432
  exports.MeteoraDLMM = MeteoraDLMM;
433
+ /**
434
+ * Meteora functions / transaction generators that we re-written for performance improvement purposes
435
+ */
436
+ class MeteoraFunctions {
437
+ /**
438
+ * Claims all rewards for a specified position.
439
+ *
440
+ * This method communicates with the DLMM (Dynamic Liquidity Market Maker) to claim all rewards
441
+ * for a given position. It filters the transaction instructions to include only those relevant
442
+ * to the Meteora DLMM program. The method returns a `ClaimAllRewardsByPositionBuilder` object
443
+ * which provides a structured way to build the necessary transaction instructions for the reward
444
+ * claiming process.
445
+ *
446
+ * @param {web3.PublicKey} userWallet - The public key of the user's wallet executing the transaction.
447
+ * @param {web3.PublicKey} payer - The public key of the transaction payer.
448
+ * @param {Object} params - The parameters for claiming rewards.
449
+ * @param {web3.PublicKey} params.owner - The public key of the owner of the position.
450
+ * @param {LbPosition} params.position - The position object representing the liquidity position.
451
+ * @param {Function} meteoraToHawksight - A function to convert Meteora instructions to Hawksight instructions.
452
+ *
453
+ * @returns {Promise<ClaimAllRewardsByPositionBuilder>} - A promise that resolves to a `ClaimAllRewardsByPositionBuilder` object.
454
+ */
455
+ claimAllRewardsByPosition(connection, userWallet, payer, params, meteoraToHawksight) {
456
+ return __awaiter(this, void 0, void 0, function* () {
457
+ // Generate claim fee and reward instruction (fast generator)
458
+ const ixs = yield this.claimFeeAndRewardIxs(connection, params.lbPair, params.position, params.owner);
459
+ // Find mint from meteora instructions
460
+ const mints = (0, functions_1.getMintsFromInstruction)({
461
+ instructions: ixs,
462
+ find: {
463
+ ClaimFee: {
464
+ programId: addresses_1.METEORA_DLMM_PROGRAM.toBase58(),
465
+ mintIndices: [9, 10],
466
+ },
467
+ ClaimReward: {
468
+ programId: addresses_1.METEORA_DLMM_PROGRAM.toBase58(),
469
+ mintIndices: [6],
470
+ },
471
+ },
472
+ });
473
+ return new ClaimAllRewardsByPositionBuilder(
474
+ // Step 1: Init ATA prior to withdrawal
475
+ (0, functions_1.createAtaIdempotentIxs)({
476
+ accounts: mints.map((mint) => {
477
+ return { owner: params.owner, payer, mint };
478
+ }),
479
+ }),
480
+ // Step 2: Claim fees and/or rewards, remove liquidity, and possibly close position (if set)
481
+ yield meteoraToHawksight({
482
+ ixs,
483
+ userPda: params.owner,
484
+ authority: userWallet,
485
+ }),
486
+ // Step 3: Withdraw tokens to user wallet
487
+ yield (0, hawksight_1.withdrawMultipleToken)({
488
+ payer: userWallet,
489
+ withdraw: mints.map((mint) => {
490
+ return { mint };
491
+ }),
492
+ }),
493
+ // Step 4: Close wSOL account (if there's any)
494
+ (0, functions_1.unwrapSolIfMintIsWsol)(userWallet, mints));
495
+ });
496
+ }
497
+ constants(program) {
498
+ var _a, _b, _c, _d, _e, _f, _g, _h;
499
+ const CONSTANTS = Object.entries(program.idl.constants);
500
+ const MAX_BIN_ARRAY_SIZE = new bn_js_1.default((_b = ((_a = CONSTANTS.find(([k, v]) => v.name == "MAX_BIN_PER_ARRAY")) === null || _a === void 0 ? void 0 : _a[1]).value) !== null && _b !== void 0 ? _b : 0);
501
+ const MAX_BIN_PER_POSITION = new bn_js_1.default((_d = ((_c = CONSTANTS.find(([k, v]) => v.name == "MAX_BIN_PER_POSITION")) === null || _c === void 0 ? void 0 : _c[1]).value) !== null && _d !== void 0 ? _d : 0);
502
+ const BIN_ARRAY_BITMAP_SIZE = new bn_js_1.default((_f = ((_e = CONSTANTS.find(([k, v]) => v.name == "BIN_ARRAY_BITMAP_SIZE")) === null || _e === void 0 ? void 0 : _e[1]).value) !== null && _f !== void 0 ? _f : 0);
503
+ const EXTENSION_BINARRAY_BITMAP_SIZE = new bn_js_1.default((_h = ((_g = CONSTANTS.find(([k, v]) => v.name == "EXTENSION_BINARRAY_BITMAP_SIZE")) === null || _g === void 0 ? void 0 : _g[1])
504
+ .value) !== null && _h !== void 0 ? _h : 0);
505
+ return {
506
+ MAX_BIN_ARRAY_SIZE,
507
+ MAX_BIN_PER_POSITION,
508
+ BIN_ARRAY_BITMAP_SIZE,
509
+ EXTENSION_BINARRAY_BITMAP_SIZE,
510
+ };
511
+ }
512
+ deriveReserve(token, lbPair) {
513
+ const [reserve] = web3.PublicKey.findProgramAddressSync([
514
+ lbPair.toBuffer(),
515
+ token.toBuffer(),
516
+ ], addresses_1.METEORA_DLMM_PROGRAM);
517
+ return reserve;
518
+ }
519
+ deriveBinArray(lbPair, index) {
520
+ let binArrayBytes;
521
+ if (index.isNeg()) {
522
+ binArrayBytes = new Uint8Array(index.toTwos(64).toArrayLike(Buffer, "le", 8));
523
+ }
524
+ else {
525
+ binArrayBytes = new Uint8Array(index.toArrayLike(Buffer, "le", 8));
526
+ }
527
+ const [binArray] = web3.PublicKey.findProgramAddressSync([Buffer.from("bin_array"), lbPair.toBytes(), binArrayBytes], addresses_1.METEORA_DLMM_PROGRAM);
528
+ return binArray;
529
+ }
530
+ binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, binId) {
531
+ const { div: idx, mod } = binId.divmod(MAX_BIN_ARRAY_SIZE);
532
+ return binId.isNeg() && !mod.isZero() ? idx.sub(new bn_js_1.default(1)) : idx;
533
+ }
534
+ getPositionAndLbPair(connection, lbPair, position) {
535
+ return __awaiter(this, void 0, void 0, function* () {
536
+ const program = yield MeteoraDLMM.program(connection);
537
+ const constants = this.constants(program);
538
+ const [lbPairInfo, positionInfo] = yield connection.getMultipleAccountsInfo([lbPair, position]);
539
+ const lbPairAccount = program.coder.accounts.decode('lbPair', lbPairInfo.data);
540
+ const positionAccount = program.coder.accounts.decode('positionV2', positionInfo.data);
541
+ return {
542
+ lbPairAccount,
543
+ positionAccount,
544
+ constants,
545
+ };
546
+ });
547
+ }
548
+ claimFeeAndRewardIxs(connection, lbPair, position, userPda) {
549
+ return __awaiter(this, void 0, void 0, function* () {
550
+ const result = yield this.getPositionAndLbPair(connection, lbPair, position);
551
+ const claimFeeIx = this.claimFeeIx(lbPair, position, userPda, result);
552
+ const claimRewardIxs = this.claimRewardIxs(lbPair, position, userPda, result);
553
+ return [
554
+ claimFeeIx,
555
+ ...claimRewardIxs
556
+ ];
557
+ });
558
+ }
559
+ claimFeeIx(lbPair, position, userPda, getPositionAndLbPairResult) {
560
+ const tokenMintX = getPositionAndLbPairResult.lbPairAccount.tokenXMint;
561
+ const tokenMintY = getPositionAndLbPairResult.lbPairAccount.tokenYMint;
562
+ const { lowerBinId } = getPositionAndLbPairResult.positionAccount;
563
+ const MAX_BIN_ARRAY_SIZE = getPositionAndLbPairResult.constants.MAX_BIN_ARRAY_SIZE;
564
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new bn_js_1.default(lowerBinId));
565
+ const binArrayLower = this.deriveBinArray(lbPair, lowerBinArrayIndex);
566
+ const upperBinArrayIndex = lowerBinArrayIndex.add(new bn_js_1.default(1));
567
+ const binArrayUpper = this.deriveBinArray(lbPair, upperBinArrayIndex);
568
+ const userTokenX = (0, functions_1.generateAta)(userPda, tokenMintX);
569
+ const userTokenY = (0, functions_1.generateAta)(userPda, tokenMintY);
570
+ const reserveX = this.deriveReserve(tokenMintX, lbPair);
571
+ const reserveY = this.deriveReserve(tokenMintY, lbPair);
572
+ const ix = new web3.TransactionInstruction({
573
+ programId: addresses_1.METEORA_DLMM_PROGRAM,
574
+ keys: [
575
+ { pubkey: lbPair, isSigner: false, isWritable: true },
576
+ { pubkey: position, isSigner: false, isWritable: true },
577
+ { pubkey: binArrayLower, isSigner: false, isWritable: true },
578
+ { pubkey: binArrayUpper, isSigner: false, isWritable: true },
579
+ { pubkey: userPda, isSigner: false, isWritable: false },
580
+ { pubkey: reserveX, isSigner: false, isWritable: true },
581
+ { pubkey: reserveY, isSigner: false, isWritable: true },
582
+ { pubkey: userTokenX, isSigner: false, isWritable: true },
583
+ { pubkey: userTokenY, isSigner: false, isWritable: true },
584
+ { pubkey: tokenMintX, isSigner: false, isWritable: false },
585
+ { pubkey: tokenMintY, isSigner: false, isWritable: false },
586
+ { pubkey: addresses_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
587
+ { pubkey: addresses_1.METEORA_EVENT_AUTHORITY, isSigner: false, isWritable: false },
588
+ { pubkey: addresses_1.METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
589
+ ],
590
+ data: Buffer.concat([
591
+ (0, functions_1.sighash)('ClaimFee')
592
+ ]),
593
+ });
594
+ return ix;
595
+ }
596
+ claimRewardIxs(lbPair, position, userPda, getPositionAndLbPairResult) {
597
+ const { lowerBinId } = getPositionAndLbPairResult.positionAccount;
598
+ const MAX_BIN_ARRAY_SIZE = getPositionAndLbPairResult.constants.MAX_BIN_ARRAY_SIZE;
599
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new bn_js_1.default(lowerBinId));
600
+ const binArrayLower = this.deriveBinArray(lbPair, lowerBinArrayIndex);
601
+ const upperBinArrayIndex = lowerBinArrayIndex.add(new bn_js_1.default(1));
602
+ const binArrayUpper = this.deriveBinArray(lbPair, upperBinArrayIndex);
603
+ const ixs = [];
604
+ for (const rewardInfo of getPositionAndLbPairResult.lbPairAccount.rewardInfos) {
605
+ if (!rewardInfo || rewardInfo.mint.equals(web3.PublicKey.default))
606
+ continue;
607
+ const userTokenAccount = (0, functions_1.generateAta)(userPda, rewardInfo.mint);
608
+ const ix = new web3.TransactionInstruction({
609
+ programId: addresses_1.METEORA_DLMM_PROGRAM,
610
+ keys: [
611
+ { pubkey: lbPair, isSigner: false, isWritable: true },
612
+ { pubkey: position, isSigner: false, isWritable: true },
613
+ { pubkey: binArrayLower, isSigner: false, isWritable: true },
614
+ { pubkey: binArrayUpper, isSigner: false, isWritable: true },
615
+ { pubkey: userPda, isSigner: false, isWritable: false },
616
+ { pubkey: rewardInfo.vault, isSigner: false, isWritable: true },
617
+ { pubkey: rewardInfo.mint, isSigner: false, isWritable: true },
618
+ { pubkey: userTokenAccount, isSigner: false, isWritable: true },
619
+ { pubkey: addresses_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
620
+ { pubkey: addresses_1.METEORA_EVENT_AUTHORITY, isSigner: false, isWritable: false },
621
+ { pubkey: addresses_1.METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
622
+ ],
623
+ data: Buffer.concat([
624
+ (0, functions_1.sighash)('ClaimReward')
625
+ ]),
626
+ });
627
+ ixs.push(ix);
628
+ }
629
+ console.log(`Reward ixs count: ` + ixs.length);
630
+ return ixs;
631
+ }
632
+ }
633
+ exports.MeteoraFunctions = MeteoraFunctions;
420
634
  /**
421
635
  * A builder class for constructing transaction instructions to claim all rewards by position.
422
636
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.1.29",
3
+ "version": "1.1.31",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",