@hawksightco/hawk-sdk 1.1.29 → 1.1.30

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),
@@ -161,6 +161,59 @@ export declare class MeteoraDLMM {
161
161
  position: LbPosition;
162
162
  }, meteoraToHawksight: MeteoraToHawksightFn): Promise<web3.TransactionInstruction[]>;
163
163
  }
164
+ /**
165
+ * Meteora functions / transaction generators that we re-written for performance improvement purposes
166
+ */
167
+ export declare class MeteoraFunctions {
168
+ /**
169
+ * Claims all rewards for a specified position.
170
+ *
171
+ * This method communicates with the DLMM (Dynamic Liquidity Market Maker) to claim all rewards
172
+ * for a given position. It filters the transaction instructions to include only those relevant
173
+ * to the Meteora DLMM program. The method returns a `ClaimAllRewardsByPositionBuilder` object
174
+ * which provides a structured way to build the necessary transaction instructions for the reward
175
+ * claiming process.
176
+ *
177
+ * @param {web3.PublicKey} userWallet - The public key of the user's wallet executing the transaction.
178
+ * @param {web3.PublicKey} payer - The public key of the transaction payer.
179
+ * @param {Object} params - The parameters for claiming rewards.
180
+ * @param {web3.PublicKey} params.owner - The public key of the owner of the position.
181
+ * @param {LbPosition} params.position - The position object representing the liquidity position.
182
+ * @param {Function} meteoraToHawksight - A function to convert Meteora instructions to Hawksight instructions.
183
+ *
184
+ * @returns {Promise<ClaimAllRewardsByPositionBuilder>} - A promise that resolves to a `ClaimAllRewardsByPositionBuilder` object.
185
+ */
186
+ claimAllRewardsByPosition(connection: web3.Connection, userWallet: web3.PublicKey, payer: web3.PublicKey, params: {
187
+ owner: web3.PublicKey;
188
+ lbPair: web3.PublicKey;
189
+ position: web3.PublicKey;
190
+ }, meteoraToHawksight: MeteoraToHawksightFn): Promise<ClaimAllRewardsByPositionBuilder>;
191
+ constants(program: any): {
192
+ MAX_BIN_ARRAY_SIZE: BN;
193
+ MAX_BIN_PER_POSITION: BN;
194
+ BIN_ARRAY_BITMAP_SIZE: BN;
195
+ EXTENSION_BINARRAY_BITMAP_SIZE: BN;
196
+ };
197
+ deriveReserve(token: web3.PublicKey, lbPair: web3.PublicKey): web3.PublicKey;
198
+ deriveBinArray(lbPair: web3.PublicKey, index: BN): web3.PublicKey;
199
+ binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE: BN, binId: BN): BN;
200
+ getPositionAndLbPair(connection: web3.Connection, lbPair: web3.PublicKey, position: web3.PublicKey): Promise<{
201
+ lbPairAccount: any;
202
+ positionAccount: any;
203
+ constants: any;
204
+ }>;
205
+ claimFeeAndRewardIxs(connection: web3.Connection, lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey): Promise<web3.TransactionInstruction[]>;
206
+ claimFeeIx(lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey, getPositionAndLbPairResult: {
207
+ lbPairAccount: any;
208
+ positionAccount: any;
209
+ constants: any;
210
+ }): web3.TransactionInstruction;
211
+ claimRewardIxs(lbPair: web3.PublicKey, position: web3.PublicKey, userPda: web3.PublicKey, getPositionAndLbPairResult: {
212
+ lbPairAccount: any;
213
+ positionAccount: any;
214
+ constants: any;
215
+ }): web3.TransactionInstruction[];
216
+ }
164
217
  /**
165
218
  * A builder class for constructing transaction instructions to claim all rewards by position.
166
219
  *
@@ -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":";AAAA,OAAO,IAAI,EAAE,EAAuF,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpK,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAUxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,qBAAa,WAAW;aACc,IAAI,EAAE,IAAI;IAA9C,OAAO;IAEP,QAAQ,CAAC,MAAM,iBAAoB;WAEtB,MAAM,CACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,SAAS;IAM7B;;;;OAIG;WACU,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAKvE,uBAAuB,CACrB,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAC1C,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC3C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM;;;;;IA0Bd,YAAY;IAIZ,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS;;;;IAI5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,2CAA2C,CAC/C,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE;QACN,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;QAC/B,YAAY,EAAE,EAAE,CAAC;QACjB,YAAY,EAAE,EAAE,CAAC;QACjB,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,YAAY,CAAC;SAC5B,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,kDAAkD,CAAC;IAwE9D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,sBAAsB,CAC1B,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE;QACN,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;QAC/B,YAAY,EAAE,EAAE,CAAC;QACjB,YAAY,EAAE,EAAE,CAAC;QACjB,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,YAAY,CAAC;SAC5B,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,6BAA6B,CAAC;IAqEzC;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CACnB,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;QACrB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,EAAE,EAAE,CAAC;QACR,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,sBAAsB,CAAC;IA2DlC;;;;;;;;;;;;;;;;;OAiBG;IACG,yBAAyB,CAC7B,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;KACtB,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,gCAAgC,CAAC;IAmD5C;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;KACtB,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;CAmB1C;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAE3B;;;;;;;;;;;;;;;;;OAiBG;IACG,yBAAyB,CAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;QACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;KAC1B,EACD,kBAAkB,EAAE,oBAAoB,GACvC,OAAO,CAAC,gCAAgC,CAAC;IAoD5C,SAAS,CAAC,OAAO,EAAE,GAAG;;;;;;IAuBtB,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS;IAQ3D,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS;IAgBjE,oBAAoB,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAKhD,oBAAoB,CACxB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,GACvB,OAAO,CAAC;QACT,aAAa,EAAE,GAAG,CAAC;QACnB,eAAe,EAAE,GAAG,CAAC;QACrB,SAAS,EAAE,GAAG,CAAA;KACf,CAAC;IAaI,oBAAoB,CACxB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,OAAO,EAAE,IAAI,CAAC,SAAS,GACtB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAUzC,UAAU,CACR,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,0BAA0B,EAAE;QAC1B,aAAa,EAAE,GAAG,CAAC;QACnB,eAAe,EAAE,GAAG,CAAA;QACpB,SAAS,EAAE,GAAG,CAAC;KAChB,GACA,IAAI,CAAC,sBAAsB;IA4C9B,cAAc,CACZ,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,0BAA0B,EAAE;QAC1B,aAAa,EAAE,GAAG,CAAC;QACnB,eAAe,EAAE,GAAG,CAAA;QACpB,SAAS,EAAE,GAAG,CAAC;KAChB,GACA,IAAI,CAAC,sBAAsB,EAAE;CA6CjC;AAED;;;;;GAKG;AACH,qBAAa,gCAAgC;IAWzC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE;IACpD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAC/C,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,sBAAsB;IAC7D,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAZvD;;;;;;;OAOG;gBAEQ,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAC3C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACtC,uBAAuB,EAAE,IAAI,CAAC,sBAAsB,EACpD,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAGvD;;;;;;;;;;OAUG;IACH,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE;CAezC;AAED;;;;;;GAMG;AACH,qBAAa,6BAA6B;IAYtC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAClD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB;IACrD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAC/C,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB;IACnD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAdvD;;;;;;;;OAQG;gBAEQ,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACzC,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAC5C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACtC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAC1C,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAGvD;;;;;;;;;;;OAWG;IACH,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE;CAkBzC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IAW/B,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE;IACpD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAC/C,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,sBAAsB;IAC7D,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAZvD;;;;;;;OAOG;gBAEQ,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAC3C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACtC,uBAAuB,EAAE,IAAI,CAAC,sBAAsB,EACpD,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAGvD;;;;;;;;;;OAUG;IACH,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE;IAgBxC;;OAEG;IACH,yBAAyB;IAkBzB;;OAEG;IACH,uBAAuB;IAevB;;OAEG;IACH,yBAAyB;IAkBzB;;OAEG;IACH,uBAAuB;CAcxB;AAED;;;;;;GAMG;AACH,qBAAa,kDAAkD;IAY3D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAClD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB;IACrD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAC/C,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB;IACnD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAdvD;;;;;;;;OAQG;gBAEQ,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACzC,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAC5C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,EACtC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAC1C,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;IAGvD;;;;;;;;;;OAUG;IACH,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE;CAkBzC"}
@@ -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");
@@ -417,6 +422,207 @@ class MeteoraDLMM {
417
422
  }
418
423
  }
419
424
  exports.MeteoraDLMM = MeteoraDLMM;
425
+ /**
426
+ * Meteora functions / transaction generators that we re-written for performance improvement purposes
427
+ */
428
+ class MeteoraFunctions {
429
+ /**
430
+ * Claims all rewards for a specified position.
431
+ *
432
+ * This method communicates with the DLMM (Dynamic Liquidity Market Maker) to claim all rewards
433
+ * for a given position. It filters the transaction instructions to include only those relevant
434
+ * to the Meteora DLMM program. The method returns a `ClaimAllRewardsByPositionBuilder` object
435
+ * which provides a structured way to build the necessary transaction instructions for the reward
436
+ * claiming process.
437
+ *
438
+ * @param {web3.PublicKey} userWallet - The public key of the user's wallet executing the transaction.
439
+ * @param {web3.PublicKey} payer - The public key of the transaction payer.
440
+ * @param {Object} params - The parameters for claiming rewards.
441
+ * @param {web3.PublicKey} params.owner - The public key of the owner of the position.
442
+ * @param {LbPosition} params.position - The position object representing the liquidity position.
443
+ * @param {Function} meteoraToHawksight - A function to convert Meteora instructions to Hawksight instructions.
444
+ *
445
+ * @returns {Promise<ClaimAllRewardsByPositionBuilder>} - A promise that resolves to a `ClaimAllRewardsByPositionBuilder` object.
446
+ */
447
+ claimAllRewardsByPosition(connection, userWallet, payer, params, meteoraToHawksight) {
448
+ return __awaiter(this, void 0, void 0, function* () {
449
+ // Generate claim fee and reward instruction (fast generator)
450
+ const ixs = yield this.claimFeeAndRewardIxs(connection, params.lbPair, params.position, params.owner);
451
+ // Find mint from meteora instructions
452
+ const mints = (0, functions_1.getMintsFromInstruction)({
453
+ instructions: ixs,
454
+ find: {
455
+ ClaimFee: {
456
+ programId: addresses_1.METEORA_DLMM_PROGRAM.toBase58(),
457
+ mintIndices: [9, 10],
458
+ },
459
+ ClaimReward: {
460
+ programId: addresses_1.METEORA_DLMM_PROGRAM.toBase58(),
461
+ mintIndices: [6],
462
+ },
463
+ },
464
+ });
465
+ return new ClaimAllRewardsByPositionBuilder(
466
+ // Step 1: Init ATA prior to withdrawal
467
+ (0, functions_1.createAtaIdempotentIxs)({
468
+ accounts: mints.map((mint) => {
469
+ return { owner: params.owner, payer, mint };
470
+ }),
471
+ }),
472
+ // Step 2: Claim fees and/or rewards, remove liquidity, and possibly close position (if set)
473
+ yield meteoraToHawksight({
474
+ ixs,
475
+ userPda: params.owner,
476
+ authority: userWallet,
477
+ }),
478
+ // Step 3: Withdraw tokens to user wallet
479
+ yield (0, hawksight_1.withdrawMultipleToken)({
480
+ payer: userWallet,
481
+ withdraw: mints.map((mint) => {
482
+ return { mint };
483
+ }),
484
+ }),
485
+ // Step 4: Close wSOL account (if there's any)
486
+ (0, functions_1.unwrapSolIfMintIsWsol)(userWallet, mints));
487
+ });
488
+ }
489
+ constants(program) {
490
+ var _a, _b, _c, _d, _e, _f, _g, _h;
491
+ const CONSTANTS = Object.entries(program.idl.constants);
492
+ 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);
493
+ 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);
494
+ 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);
495
+ 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])
496
+ .value) !== null && _h !== void 0 ? _h : 0);
497
+ return {
498
+ MAX_BIN_ARRAY_SIZE,
499
+ MAX_BIN_PER_POSITION,
500
+ BIN_ARRAY_BITMAP_SIZE,
501
+ EXTENSION_BINARRAY_BITMAP_SIZE,
502
+ };
503
+ }
504
+ deriveReserve(token, lbPair) {
505
+ const [reserve] = web3.PublicKey.findProgramAddressSync([
506
+ lbPair.toBuffer(),
507
+ token.toBuffer(),
508
+ ], addresses_1.METEORA_DLMM_PROGRAM);
509
+ return reserve;
510
+ }
511
+ deriveBinArray(lbPair, index) {
512
+ let binArrayBytes;
513
+ if (index.isNeg()) {
514
+ binArrayBytes = new Uint8Array(index.toTwos(64).toArrayLike(Buffer, "le", 8));
515
+ }
516
+ else {
517
+ binArrayBytes = new Uint8Array(index.toArrayLike(Buffer, "le", 8));
518
+ }
519
+ const [binArray] = web3.PublicKey.findProgramAddressSync([Buffer.from("bin_array"), lbPair.toBytes(), binArrayBytes], addresses_1.METEORA_DLMM_PROGRAM);
520
+ return binArray;
521
+ }
522
+ binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, binId) {
523
+ const { div: idx, mod } = binId.divmod(MAX_BIN_ARRAY_SIZE);
524
+ return binId.isNeg() && !mod.isZero() ? idx.sub(new bn_js_1.default(1)) : idx;
525
+ }
526
+ getPositionAndLbPair(connection, lbPair, position) {
527
+ return __awaiter(this, void 0, void 0, function* () {
528
+ const program = yield MeteoraDLMM.program(connection);
529
+ const constants = this.constants(program);
530
+ const [lbPairInfo, positionInfo] = yield connection.getMultipleAccountsInfo([lbPair, position]);
531
+ const lbPairAccount = program.coder.accounts.decode('lbPair', lbPairInfo.data);
532
+ const positionAccount = program.coder.accounts.decode('positionV2', positionInfo.data);
533
+ return {
534
+ lbPairAccount,
535
+ positionAccount,
536
+ constants,
537
+ };
538
+ });
539
+ }
540
+ claimFeeAndRewardIxs(connection, lbPair, position, userPda) {
541
+ return __awaiter(this, void 0, void 0, function* () {
542
+ const result = yield this.getPositionAndLbPair(connection, lbPair, position);
543
+ const claimFeeIx = this.claimFeeIx(lbPair, position, userPda, result);
544
+ const claimRewardIxs = this.claimRewardIxs(lbPair, position, userPda, result);
545
+ return [
546
+ claimFeeIx,
547
+ ...claimRewardIxs
548
+ ];
549
+ });
550
+ }
551
+ claimFeeIx(lbPair, position, userPda, getPositionAndLbPairResult) {
552
+ const tokenMintX = getPositionAndLbPairResult.lbPairAccount.tokenXMint;
553
+ const tokenMintY = getPositionAndLbPairResult.lbPairAccount.tokenYMint;
554
+ const { lowerBinId } = getPositionAndLbPairResult.positionAccount;
555
+ const MAX_BIN_ARRAY_SIZE = getPositionAndLbPairResult.constants.MAX_BIN_ARRAY_SIZE;
556
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new bn_js_1.default(lowerBinId));
557
+ const binArrayLower = this.deriveBinArray(lbPair, lowerBinArrayIndex);
558
+ const upperBinArrayIndex = lowerBinArrayIndex.add(new bn_js_1.default(1));
559
+ const binArrayUpper = this.deriveBinArray(lbPair, upperBinArrayIndex);
560
+ const userTokenX = (0, functions_1.generateAta)(userPda, tokenMintX);
561
+ const userTokenY = (0, functions_1.generateAta)(userPda, tokenMintY);
562
+ const reserveX = this.deriveReserve(tokenMintX, lbPair);
563
+ const reserveY = this.deriveReserve(tokenMintX, lbPair);
564
+ const ix = new web3.TransactionInstruction({
565
+ programId: addresses_1.METEORA_DLMM_PROGRAM,
566
+ keys: [
567
+ { pubkey: lbPair, isSigner: false, isWritable: true },
568
+ { pubkey: position, isSigner: false, isWritable: true },
569
+ { pubkey: binArrayLower, isSigner: false, isWritable: true },
570
+ { pubkey: binArrayUpper, isSigner: false, isWritable: true },
571
+ { pubkey: userPda, isSigner: false, isWritable: false },
572
+ { pubkey: reserveX, isSigner: false, isWritable: true },
573
+ { pubkey: reserveY, isSigner: false, isWritable: true },
574
+ { pubkey: userTokenX, isSigner: false, isWritable: true },
575
+ { pubkey: userTokenY, isSigner: false, isWritable: true },
576
+ { pubkey: tokenMintX, isSigner: false, isWritable: false },
577
+ { pubkey: tokenMintY, isSigner: false, isWritable: false },
578
+ { pubkey: addresses_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
579
+ { pubkey: addresses_1.METEORA_EVENT_AUTHORITY, isSigner: false, isWritable: false },
580
+ { pubkey: addresses_1.METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
581
+ ],
582
+ data: Buffer.concat([
583
+ (0, functions_1.sighash)('ClaimFee')
584
+ ]),
585
+ });
586
+ return ix;
587
+ }
588
+ claimRewardIxs(lbPair, position, userPda, getPositionAndLbPairResult) {
589
+ const { lowerBinId } = getPositionAndLbPairResult.positionAccount;
590
+ const MAX_BIN_ARRAY_SIZE = getPositionAndLbPairResult.constants.MAX_BIN_ARRAY_SIZE;
591
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(MAX_BIN_ARRAY_SIZE, new bn_js_1.default(lowerBinId));
592
+ const binArrayLower = this.deriveBinArray(lbPair, lowerBinArrayIndex);
593
+ const upperBinArrayIndex = lowerBinArrayIndex.add(new bn_js_1.default(1));
594
+ const binArrayUpper = this.deriveBinArray(lbPair, upperBinArrayIndex);
595
+ const ixs = [];
596
+ for (const rewardInfo of getPositionAndLbPairResult.lbPairAccount.rewardInfos) {
597
+ if (!rewardInfo || rewardInfo.mint.equals(web3.PublicKey.default))
598
+ continue;
599
+ const userTokenAccount = (0, functions_1.generateAta)(userPda, rewardInfo.mint);
600
+ const ix = new web3.TransactionInstruction({
601
+ programId: addresses_1.METEORA_DLMM_PROGRAM,
602
+ keys: [
603
+ { pubkey: lbPair, isSigner: false, isWritable: true },
604
+ { pubkey: position, isSigner: false, isWritable: true },
605
+ { pubkey: binArrayLower, isSigner: false, isWritable: true },
606
+ { pubkey: binArrayUpper, isSigner: false, isWritable: true },
607
+ { pubkey: userPda, isSigner: false, isWritable: false },
608
+ { pubkey: rewardInfo.vault, isSigner: false, isWritable: true },
609
+ { pubkey: rewardInfo.mint, isSigner: false, isWritable: true },
610
+ { pubkey: userTokenAccount, isSigner: false, isWritable: true },
611
+ { pubkey: addresses_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
612
+ { pubkey: addresses_1.METEORA_EVENT_AUTHORITY, isSigner: false, isWritable: false },
613
+ { pubkey: addresses_1.METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
614
+ ],
615
+ data: Buffer.concat([
616
+ (0, functions_1.sighash)('ClaimReward')
617
+ ]),
618
+ });
619
+ ixs.push(ix);
620
+ }
621
+ console.log(`Reward ixs count: ` + ixs.length);
622
+ return ixs;
623
+ }
624
+ }
625
+ exports.MeteoraFunctions = MeteoraFunctions;
420
626
  /**
421
627
  * A builder class for constructing transaction instructions to claim all rewards by position.
422
628
  *
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.30",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",