@hawksightco/hawk-sdk 1.3.50 → 1.3.52

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.
@@ -1184,6 +1184,7 @@ class HawksightMeteoraAutomationCpi {
1184
1184
  .next(new ClaimRewardAutomation(ix, userPda, authority, opt))
1185
1185
  .next(new ClosePositionAutomation(ix, userPda, authority, opt))
1186
1186
  .next(new MeteoraDlmmClaimFee2Automation(ix, userPda, authority, opt))
1187
+ .next(new MeteoraDlmmClaimReward2Automation(ix, userPda, authority, opt))
1187
1188
  .next(new MeteoraDlmmDeposit2Automation(ix, userPda, authority, opt))
1188
1189
  .next(new MeteoraDlmmWithdraw2Automation(ix, userPda, authority, opt));
1189
1190
  return chain;
@@ -2157,6 +2158,9 @@ class MeteoraDlmmClaimFee2Automation extends HawksightMeteoraAutomationCpi {
2157
2158
  const userPda = this.userPda;
2158
2159
  const authority = this.authority;
2159
2160
  const hawksightAuthority = addresses_1.HS_AUTHORITY;
2161
+ const minBinId = this.ix.data.readInt32LE(8);
2162
+ const maxBinId = this.ix.data.readInt32LE(12);
2163
+ const remainingAccountsInfo = this.ix.data.subarray(16);
2160
2164
  // Get token mints X and Y
2161
2165
  const tokenXMint = this.ix.keys[7].pubkey;
2162
2166
  const tokenYMint = this.ix.keys[8].pubkey;
@@ -2185,7 +2189,7 @@ class MeteoraDlmmClaimFee2Automation extends HawksightMeteoraAutomationCpi {
2185
2189
  // Generate IX via extension contract
2186
2190
  // @ts-ignore
2187
2191
  const claimFeeIx = yield anchor_1.Anchor.instance().iyfExtension.methods
2188
- .meteoraDlmmClaimFee2Automation()
2192
+ .meteoraDlmmClaimFee2Automation(minBinId, maxBinId, remainingAccountsInfo)
2189
2193
  .accounts({
2190
2194
  userPda,
2191
2195
  authority,
@@ -2224,6 +2228,82 @@ class MeteoraDlmmClaimFee2Automation extends HawksightMeteoraAutomationCpi {
2224
2228
  });
2225
2229
  }
2226
2230
  }
2231
+ /**
2232
+ * Handles Meteora DLMM Claim Fee v2 Automation instruction.
2233
+ */
2234
+ class MeteoraDlmmClaimReward2Automation extends HawksightMeteoraAutomationCpi {
2235
+ /**
2236
+ * Constructs an instance of MeteoraDlmmClaimFee2Automation with the necessary transaction parameters.
2237
+ *
2238
+ * @param ix The core transaction instruction.
2239
+ * @param userPda The user's program-derived address (PDA) as a public key.
2240
+ * @param authority The authority public key that has signing capabilities over the transaction.
2241
+ */
2242
+ constructor(ix, userPda, authority, opt) {
2243
+ super(ix, userPda, authority, util.sighash("claim_reward2", undefined, true), opt);
2244
+ }
2245
+ /**
2246
+ * Modifies transaction keys for the purpose of claiming transaction fees.
2247
+ */
2248
+ replace() {
2249
+ this.ix.keys[3].pubkey = this.userPda;
2250
+ this.ix.keys[3].isSigner = false;
2251
+ }
2252
+ /**
2253
+ * Replaces Meteora CPI with Hawksight CPI that calls the target Meteora CPI.
2254
+ */
2255
+ replaceCpi() {
2256
+ return __awaiter(this, void 0, void 0, function* () {
2257
+ // Common parameters
2258
+ const userPda = this.userPda;
2259
+ const authority = this.authority;
2260
+ // New meteora parameters
2261
+ const minBinId = this.ix.data.readInt32LE(12);
2262
+ const maxBinId = this.ix.data.readInt32LE(16);
2263
+ const remainingAccountsInfo = this.ix.data.subarray(24);
2264
+ const rewardMint = this.ix.keys[4].pubkey;
2265
+ const rewardMintInfo = AccountCache_1.AccountCache.get(rewardMint);
2266
+ const ownerFee = util.generateAta(addresses_1.SITE_FEE_OWNER, rewardMint, rewardMintInfo === null || rewardMintInfo === void 0 ? void 0 : rewardMintInfo.info.owner);
2267
+ // Get reward index from parameter
2268
+ const rewardIndex = Number(this.ix.data.readBigInt64LE(8).toString());
2269
+ // Generate IX via extension contract
2270
+ // @ts-ignore
2271
+ const claimReward = yield anchor_1.Anchor.instance().iyfExtension.methods
2272
+ .meteoraDlmmClaimReward2(rewardIndex, minBinId, maxBinId, remainingAccountsInfo)
2273
+ .accounts({
2274
+ userPda,
2275
+ authority,
2276
+ lbPair: this.ix.keys[0].pubkey,
2277
+ position: this.ix.keys[1].pubkey,
2278
+ rewardVault: this.ix.keys[3].pubkey,
2279
+ rewardMint: this.ix.keys[4].pubkey,
2280
+ userTokenAccount: this.ix.keys[5].pubkey,
2281
+ tokenProgram: this.ix.keys[6].pubkey,
2282
+ memoProgram: this.ix.keys[7].pubkey,
2283
+ eventAuthority: this.ix.keys[8].pubkey,
2284
+ meteoraDlmmProgram: this.ix.keys[9].pubkey,
2285
+ ownerFee,
2286
+ })
2287
+ .remainingAccounts(this.ix.keys.slice(10))
2288
+ .instruction();
2289
+ const sighash = util.sighash("meteora_dlmm_claim_reward_2");
2290
+ claimReward.data.set(sighash, 0);
2291
+ // Instruction via main hawksight contract
2292
+ // @ts-ignore
2293
+ const ix = yield anchor_1.Anchor.instance().iyfMain.methods
2294
+ .iyfExtensionExecuteV2(claimReward.data)
2295
+ .accounts({
2296
+ userPda,
2297
+ authority,
2298
+ iyfExtensionProgram: addresses_1.IYF_EXTENSION,
2299
+ })
2300
+ .remainingAccounts(claimReward.keys.slice(2))
2301
+ .instruction();
2302
+ // Override the instruction
2303
+ this._ix = ix;
2304
+ });
2305
+ }
2306
+ }
2227
2307
  /**
2228
2308
  * Handles Meteora DLMM Deposit v2 Automation instruction.
2229
2309
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.3.50",
3
+ "version": "1.3.52",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",