@hawksightco/hawk-sdk 1.3.200 → 1.3.202

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.
@@ -1206,7 +1206,6 @@ class MeteoraDlmmIxGenerator {
1206
1206
  ...((_d = (_c = params.remainingAccountsInfo) === null || _c === void 0 ? void 0 : _c.accounts) !== null && _d !== void 0 ? _d : []),
1207
1207
  ...binArrayAccounts,
1208
1208
  ];
1209
- console.log('remainingAccounts', remainingAccounts);
1210
1209
  // Use Anchor to serialize the instruction (ensures proper Borsh serialization)
1211
1210
  // @ts-ignore
1212
1211
  const depositIx = yield anchor_1.Anchor.instance().iyfExtension.methods
@@ -1783,7 +1782,7 @@ class MeteoraDlmmIxGenerator {
1783
1782
  * @returns TransactionInstruction for the rebalance_liquidity operation
1784
1783
  */
1785
1784
  rebalanceLiquidity(_a) {
1786
- return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, position, lbPair, tokenXMint, tokenYMint, tokenXProgram, tokenYProgram, activeId, pdaTokenType, maxActiveBinSlippage, shouldClaimFee, shouldClaimReward, minWithdrawXAmount, maxDepositXAmount, minWithdrawYAmount, maxDepositYAmount, removeLiquidityParams, addLiquidityParams, }) {
1785
+ return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, position, lbPair, tokenXMint, tokenYMint, tokenXProgram, tokenYProgram, activeId, pdaTokenType, maxActiveBinSlippage, shouldClaimFee, shouldClaimReward, minWithdrawXAmount, maxDepositXAmount, minWithdrawYAmount, maxDepositYAmount, removeLiquidityParams, addLiquidityParams, shrinkMode, }) {
1787
1786
  // Initialize Anchor
1788
1787
  anchor_1.Anchor.initialize(connection);
1789
1788
  // Generate user PDA
@@ -1804,8 +1803,11 @@ class MeteoraDlmmIxGenerator {
1804
1803
  userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint, tokenXProgram);
1805
1804
  userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint, tokenYProgram);
1806
1805
  }
1807
- // Derive bin array bitmap extension (use program ID as placeholder if not needed)
1808
- const binArrayBitmapExtension = METEORA_DLMM_PROGRAM;
1806
+ // Derive bin array bitmap extension
1807
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(activeId + addLiquidityParams[0].minDeltaId));
1808
+ const upperBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(activeId + addLiquidityParams[0].maxDeltaId));
1809
+ const binArrayBitmapExtension = (this.isOverflowDefaultBinArrayBitmap(lowerBinArrayIndex) ||
1810
+ this.isOverflowDefaultBinArrayBitmap(upperBinArrayIndex)) ? this.pda.meteora.deriveBinArrayBitmapExtension(lbPair) : METEORA_DLMM_PROGRAM;
1809
1811
  // Derive reserves
1810
1812
  const reserveX = this.pda.meteora.deriveReserve(tokenXMint, lbPair);
1811
1813
  const reserveY = this.pda.meteora.deriveReserve(tokenYMint, lbPair);
@@ -1823,6 +1825,7 @@ class MeteoraDlmmIxGenerator {
1823
1825
  maxDepositXAmount,
1824
1826
  minWithdrawYAmount,
1825
1827
  maxDepositYAmount,
1828
+ shrinkMode,
1826
1829
  removeLiquidityParams,
1827
1830
  addLiquidityParams,
1828
1831
  });
@@ -1872,6 +1875,7 @@ class MeteoraDlmmIxGenerator {
1872
1875
  * Serialize RebalanceLiquidityParams to match Rust struct layout
1873
1876
  */
1874
1877
  serializeRebalanceLiquidityParams(params) {
1878
+ var _a;
1875
1879
  const buffers = [];
1876
1880
  // activeId (i32)
1877
1881
  const activeIdBuf = Buffer.alloc(4);
@@ -1893,9 +1897,9 @@ class MeteoraDlmmIxGenerator {
1893
1897
  buffers.push(params.minWithdrawYAmount.toArrayLike(Buffer, 'le', 8));
1894
1898
  // maxDepositYAmount (u64)
1895
1899
  buffers.push(params.maxDepositYAmount.toArrayLike(Buffer, 'le', 8));
1896
- // padding [u8; 32] - first byte is shrinkMode (3 = no shrink both sides)
1900
+ // shrink_mode (u8) + padding [u8; 31]
1897
1901
  const paddingBuf = Buffer.alloc(32, 0);
1898
- paddingBuf[0] = 3; // shrinkMode: 3 = no shrink both
1902
+ paddingBuf[0] = (_a = params.shrinkMode) !== null && _a !== void 0 ? _a : types_1.ShrinkMode.NoShrinkBoth;
1899
1903
  buffers.push(paddingBuf);
1900
1904
  // removeLiquidityParams Vec (length as u32, then each RemoveLiquidityParams)
1901
1905
  const removeLenBuf = Buffer.alloc(4);
@@ -2021,8 +2025,11 @@ class MeteoraDlmmIxGenerator {
2021
2025
  userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint, tokenXProgram);
2022
2026
  userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint, tokenYProgram);
2023
2027
  }
2024
- // Derive bin array bitmap extension (use program ID as placeholder if not needed)
2025
- const binArrayBitmapExtension = METEORA_DLMM_PROGRAM;
2028
+ // Derive bin array bitmap extension
2029
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(fromBinId));
2030
+ const upperBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(toBinId));
2031
+ const binArrayBitmapExtension = (this.isOverflowDefaultBinArrayBitmap(lowerBinArrayIndex) ||
2032
+ this.isOverflowDefaultBinArrayBitmap(upperBinArrayIndex)) ? this.pda.meteora.deriveBinArrayBitmapExtension(lbPair) : METEORA_DLMM_PROGRAM;
2026
2033
  // Derive reserves
2027
2034
  const reserveX = this.pda.meteora.deriveReserve(tokenXMint, lbPair);
2028
2035
  const reserveY = this.pda.meteora.deriveReserve(tokenYMint, lbPair);
@@ -2159,6 +2166,133 @@ class MeteoraDlmmIxGenerator {
2159
2166
  });
2160
2167
  });
2161
2168
  }
2169
+ /**
2170
+ * Rebalance liquidity in a Meteora DLMM position via IYF Extension for automation.
2171
+ *
2172
+ * This is the automation version that uses HS_AUTHORITY as the signer.
2173
+ * Wraps via iyfExtensionExecuteV2 instead of meteoraDynamicCpi.
2174
+ *
2175
+ * @param params - RebalanceLiquidityIxParams containing all necessary accounts and parameters
2176
+ * @returns TransactionInstruction for the rebalance_liquidity automation operation
2177
+ */
2178
+ rebalanceLiquidityAutomation(_a) {
2179
+ return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, position, lbPair, tokenXMint, tokenYMint, tokenXProgram, tokenYProgram, activeId, pdaTokenType, maxActiveBinSlippage, shouldClaimFee, shouldClaimReward, minWithdrawXAmount, maxDepositXAmount, minWithdrawYAmount, maxDepositYAmount, removeLiquidityParams, addLiquidityParams, binArrayOverrides, shrinkMode, rewardInfos, remainingAccountsInfo, }) {
2180
+ var _b, _c;
2181
+ // Initialize Anchor
2182
+ anchor_1.Anchor.initialize(connection);
2183
+ // Generate user PDA
2184
+ const userPda = (0, functions_1.generateUserPda)(userWallet);
2185
+ // Generate user token accounts based on pdaTokenType
2186
+ let userTokenX;
2187
+ let userTokenY;
2188
+ if (pdaTokenType === types_1.TokenType.LTA) {
2189
+ userTokenX = (0, functions_1.generateLimitToken)(userPda, tokenXMint);
2190
+ userTokenY = (0, functions_1.generateLimitToken)(userPda, tokenYMint);
2191
+ }
2192
+ else if (pdaTokenType === types_1.TokenType.STA) {
2193
+ userTokenX = (0, functions_1.generateUserPdaStorageAccount)(userPda, tokenXMint);
2194
+ userTokenY = (0, functions_1.generateUserPdaStorageAccount)(userPda, tokenYMint);
2195
+ }
2196
+ else {
2197
+ // Default: ATA
2198
+ userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint, tokenXProgram);
2199
+ userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint, tokenYProgram);
2200
+ }
2201
+ // Derive bin array bitmap extension (use program ID as placeholder if not needed)
2202
+ const binArrayBitmapExtension = METEORA_DLMM_PROGRAM;
2203
+ // Derive reserves
2204
+ const reserveX = this.pda.meteora.deriveReserve(tokenXMint, lbPair);
2205
+ const reserveY = this.pda.meteora.deriveReserve(tokenYMint, lbPair);
2206
+ // Use overrides if provided (for reshape position covering both remove and add ranges),
2207
+ // otherwise derive from addLiquidityParams
2208
+ let binArrays;
2209
+ if (binArrayOverrides) {
2210
+ binArrays = binArrayOverrides;
2211
+ }
2212
+ else {
2213
+ const lowerBinId = activeId + addLiquidityParams[0].minDeltaId;
2214
+ const upperBinId = activeId + addLiquidityParams[0].maxDeltaId;
2215
+ binArrays = this.pda.meteora.deriveBinArrays(lbPair, lowerBinId, upperBinId);
2216
+ }
2217
+ // Build reward remaining accounts if shouldClaimReward and rewardInfos provided
2218
+ const rewardRemainingAccounts = [];
2219
+ if (shouldClaimReward && rewardInfos && rewardInfos.length > 0) {
2220
+ console.log(`[rebalanceLiquidityAutomation] Building reward accounts for ${rewardInfos.length} reward(s)`);
2221
+ for (const reward of rewardInfos) {
2222
+ // User reward token account (ATA or STA based on pdaTokenType)
2223
+ let userRewardToken = (0, functions_1.generateUserPdaStorageAccount)(userPda, reward.rewardMint);
2224
+ console.log(`[rebalanceLiquidityAutomation] Reward: vault=${reward.rewardVault.toString()}, userToken=${userRewardToken.toString()}, mint=${reward.rewardMint.toString()}, program=${reward.rewardTokenProgram.toString()}`);
2225
+ // Add reward accounts in order: vault, userToken, mint, tokenProgram
2226
+ rewardRemainingAccounts.push({ pubkey: reward.rewardVault, isSigner: false, isWritable: true }, { pubkey: userRewardToken, isSigner: false, isWritable: true }, { pubkey: reward.rewardMint, isSigner: false, isWritable: false }, { pubkey: reward.rewardTokenProgram, isSigner: false, isWritable: false });
2227
+ }
2228
+ console.log(`[rebalanceLiquidityAutomation] Total reward remaining accounts: ${rewardRemainingAccounts.length}`);
2229
+ }
2230
+ else if (shouldClaimReward) {
2231
+ console.log(`[rebalanceLiquidityAutomation] shouldClaimReward=true but no rewardInfos provided!`);
2232
+ }
2233
+ // Serialize RebalanceLiquidityParams
2234
+ const rebalanceParamsData = this.serializeRebalanceLiquidityParams({
2235
+ activeId,
2236
+ maxActiveBinSlippage,
2237
+ shouldClaimFee,
2238
+ shouldClaimReward,
2239
+ minWithdrawXAmount,
2240
+ maxDepositXAmount,
2241
+ minWithdrawYAmount,
2242
+ maxDepositYAmount,
2243
+ shrinkMode,
2244
+ removeLiquidityParams,
2245
+ addLiquidityParams,
2246
+ });
2247
+ // Serialize RemainingAccountsInfo from passed parameter or use empty slices
2248
+ const serializedRemainingAccountsInfo = this.serializeRemainingAccountsInfo({
2249
+ slices: (_b = remainingAccountsInfo === null || remainingAccountsInfo === void 0 ? void 0 : remainingAccountsInfo.slices) !== null && _b !== void 0 ? _b : [],
2250
+ });
2251
+ // Build instruction data: sighash + RebalanceLiquidityParams + RemainingAccountsInfo
2252
+ // The handler takes two typed Anchor args (not Vec<u8>), so no length prefix needed.
2253
+ const instructionData = Buffer.concat([
2254
+ Buffer.from(util.sighash("meteora_dlmm_rebalance_liquidity_automation")),
2255
+ rebalanceParamsData,
2256
+ serializedRemainingAccountsInfo,
2257
+ ]);
2258
+ // Generate instruction via IYF Extension
2259
+ return this.ix.iyfMain.iyfExtensionExecuteV2(connection, {
2260
+ userPda,
2261
+ authority: addresses_1.HS_AUTHORITY,
2262
+ ix: new web3.TransactionInstruction({
2263
+ data: instructionData,
2264
+ keys: [
2265
+ { pubkey: userPda, isSigner: false, isWritable: false },
2266
+ { pubkey: addresses_1.HS_AUTHORITY, isSigner: true, isWritable: true },
2267
+ { pubkey: position, isSigner: false, isWritable: true },
2268
+ { pubkey: lbPair, isSigner: false, isWritable: true },
2269
+ { pubkey: binArrayBitmapExtension, isSigner: false, isWritable: true },
2270
+ { pubkey: userTokenX, isSigner: false, isWritable: true },
2271
+ { pubkey: userTokenY, isSigner: false, isWritable: true },
2272
+ { pubkey: reserveX, isSigner: false, isWritable: true },
2273
+ { pubkey: reserveY, isSigner: false, isWritable: true },
2274
+ { pubkey: tokenXMint, isSigner: false, isWritable: false },
2275
+ { pubkey: tokenYMint, isSigner: false, isWritable: false },
2276
+ { pubkey: tokenXProgram, isSigner: false, isWritable: false },
2277
+ { pubkey: tokenYProgram, isSigner: false, isWritable: false },
2278
+ { pubkey: addresses_1.MEMO_PROGRAM, isSigner: false, isWritable: false },
2279
+ { pubkey: web3.SystemProgram.programId, isSigner: false, isWritable: false },
2280
+ { pubkey: METEORA_EVENT_AUTHORITY, isSigner: false, isWritable: false },
2281
+ { pubkey: METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
2282
+ // Transfer hook accounts (from fetchRemainingAccountsInfo)
2283
+ ...((_c = remainingAccountsInfo === null || remainingAccountsInfo === void 0 ? void 0 : remainingAccountsInfo.accounts) !== null && _c !== void 0 ? _c : []),
2284
+ // Bin arrays as remaining accounts
2285
+ ...binArrays.map(pubkey => ({ pubkey, isSigner: false, isWritable: true })),
2286
+ // Boundary account
2287
+ { pubkey: METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
2288
+ // Reward accounts after boundary account
2289
+ ...rewardRemainingAccounts,
2290
+ ],
2291
+ programId: addresses_1.IYF_EXTENSION,
2292
+ })
2293
+ });
2294
+ });
2295
+ }
2162
2296
  /**
2163
2297
  * Remove liquidity from a bin range in a Meteora DLMM position via IYF Extension for automation.
2164
2298
  *
@@ -2191,8 +2325,11 @@ class MeteoraDlmmIxGenerator {
2191
2325
  userTokenX = (0, functions_1.generateAta)(userPda, tokenXMint, tokenXProgram);
2192
2326
  userTokenY = (0, functions_1.generateAta)(userPda, tokenYMint, tokenYProgram);
2193
2327
  }
2194
- // Derive bin array bitmap extension (use program ID as placeholder if not needed)
2195
- const binArrayBitmapExtension = METEORA_DLMM_PROGRAM;
2328
+ // Derive bin array bitmap extension
2329
+ const lowerBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(fromBinId));
2330
+ const upperBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(toBinId));
2331
+ const binArrayBitmapExtension = (this.isOverflowDefaultBinArrayBitmap(lowerBinArrayIndex) ||
2332
+ this.isOverflowDefaultBinArrayBitmap(upperBinArrayIndex)) ? this.pda.meteora.deriveBinArrayBitmapExtension(lbPair) : METEORA_DLMM_PROGRAM;
2196
2333
  // Derive reserves
2197
2334
  const reserveX = this.pda.meteora.deriveReserve(tokenXMint, lbPair);
2198
2335
  const reserveY = this.pda.meteora.deriveReserve(tokenYMint, lbPair);
@@ -265,4 +265,35 @@ export declare function toAmountIntoBins(activeId: BN, minDeltaId: BN, maxDeltaI
265
265
  * @returns Array of chunked deposit parameters
266
266
  */
267
267
  export declare function chunkDepositParameters(params: LiquidityStrategyParameters, minDeltaId: BN, maxDeltaId: BN, activeId: BN, binStep: BN, chunkSize: number, favorXInActiveBin?: boolean): ChunkedDepositParameters[];
268
+ /**
269
+ * Chunks a bin range with a custom initial chunk size and uniform subsequent chunk size.
270
+ *
271
+ * @param minBinId - The minimum bin ID of the range
272
+ * @param maxBinId - The maximum bin ID of the range
273
+ * @param initialChunkSize - Size of the first chunk (e.g., 150 bins)
274
+ * @param subsequentChunkSize - Size of subsequent chunks (e.g., 69 bins)
275
+ * @returns Array of chunk ranges with lowerBinId and upperBinId
276
+ */
277
+ export declare function chunkBinRangeWithInitialSize(minBinId: number, maxBinId: number, initialChunkSize: number, subsequentChunkSize: number): {
278
+ lowerBinId: number;
279
+ upperBinId: number;
280
+ }[];
281
+ /**
282
+ * Chunks deposit parameters with a custom initial chunk size.
283
+ *
284
+ * This is useful when the first deposit can accommodate a larger bin range
285
+ * (e.g., 150 bins for a fresh position) but subsequent deposits need smaller
286
+ * chunks due to compute limits.
287
+ *
288
+ * @param params - The liquidity strategy parameters
289
+ * @param minDeltaId - Minimum delta from active bin
290
+ * @param maxDeltaId - Maximum delta from active bin
291
+ * @param activeId - The current active bin ID
292
+ * @param binStep - The bin step of the pool
293
+ * @param initialChunkSize - Size of the first chunk (e.g., 150 bins)
294
+ * @param subsequentChunkSize - Size of subsequent chunks (e.g., 69 bins)
295
+ * @param favorXInActiveBin - Whether to favor token X in the active bin
296
+ * @returns Array of chunked deposit parameters
297
+ */
298
+ export declare function chunkDepositParametersWithInitialSize(params: LiquidityStrategyParameters, minDeltaId: BN, maxDeltaId: BN, activeId: BN, binStep: BN, initialChunkSize: number, subsequentChunkSize: number, favorXInActiveBin?: boolean): ChunkedDepositParameters[];
268
299
  //# sourceMappingURL=liquidityStrategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidityStrategy.d.ts","sourceRoot":"","sources":["../../../src/meteora/liquidityStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidityStrategy.d.ts","sourceRoot":"","sources":["../../../src/meteora/liquidityStrategy.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ exports.chunkBinRange = chunkBinRange;
17
17
  exports.buildBitFlagAndNegateStrategyParameters = buildBitFlagAndNegateStrategyParameters;
18
18
  exports.toAmountIntoBins = toAmountIntoBins;
19
19
  exports.chunkDepositParameters = chunkDepositParameters;
20
+ exports.chunkBinRangeWithInitialSize = chunkBinRangeWithInitialSize;
21
+ exports.chunkDepositParametersWithInitialSize = chunkDepositParametersWithInitialSize;
20
22
  const bn_js_1 = __importDefault(require("bn.js"));
21
23
  /**
22
24
  * Liquidity strategy types matching Meteora DLMM SDK.
@@ -1067,3 +1069,77 @@ function chunkDepositParameters(params, minDeltaId, maxDeltaId, activeId, binSte
1067
1069
  }
1068
1070
  return result;
1069
1071
  }
1072
+ /**
1073
+ * Chunks a bin range with a custom initial chunk size and uniform subsequent chunk size.
1074
+ *
1075
+ * @param minBinId - The minimum bin ID of the range
1076
+ * @param maxBinId - The maximum bin ID of the range
1077
+ * @param initialChunkSize - Size of the first chunk (e.g., 150 bins)
1078
+ * @param subsequentChunkSize - Size of subsequent chunks (e.g., 69 bins)
1079
+ * @returns Array of chunk ranges with lowerBinId and upperBinId
1080
+ */
1081
+ function chunkBinRangeWithInitialSize(minBinId, maxBinId, initialChunkSize, subsequentChunkSize) {
1082
+ const chunkedBinRange = [];
1083
+ let startBinId = minBinId;
1084
+ let isFirstChunk = true;
1085
+ while (startBinId <= maxBinId) {
1086
+ const currentChunkSize = isFirstChunk ? initialChunkSize : subsequentChunkSize;
1087
+ const endBinId = Math.min(startBinId + currentChunkSize - 1, maxBinId);
1088
+ chunkedBinRange.push({
1089
+ lowerBinId: startBinId,
1090
+ upperBinId: endBinId,
1091
+ });
1092
+ startBinId += currentChunkSize;
1093
+ isFirstChunk = false;
1094
+ }
1095
+ return chunkedBinRange;
1096
+ }
1097
+ /**
1098
+ * Chunks deposit parameters with a custom initial chunk size.
1099
+ *
1100
+ * This is useful when the first deposit can accommodate a larger bin range
1101
+ * (e.g., 150 bins for a fresh position) but subsequent deposits need smaller
1102
+ * chunks due to compute limits.
1103
+ *
1104
+ * @param params - The liquidity strategy parameters
1105
+ * @param minDeltaId - Minimum delta from active bin
1106
+ * @param maxDeltaId - Maximum delta from active bin
1107
+ * @param activeId - The current active bin ID
1108
+ * @param binStep - The bin step of the pool
1109
+ * @param initialChunkSize - Size of the first chunk (e.g., 150 bins)
1110
+ * @param subsequentChunkSize - Size of subsequent chunks (e.g., 69 bins)
1111
+ * @param favorXInActiveBin - Whether to favor token X in the active bin
1112
+ * @returns Array of chunked deposit parameters
1113
+ */
1114
+ function chunkDepositParametersWithInitialSize(params, minDeltaId, maxDeltaId, activeId, binStep, initialChunkSize, subsequentChunkSize, favorXInActiveBin = false) {
1115
+ // Convert to absolute bin IDs for chunking
1116
+ const lowerBinId = activeId.add(minDeltaId).toNumber();
1117
+ const upperBinId = activeId.add(maxDeltaId).toNumber();
1118
+ // Chunk the bin range with initial size
1119
+ const chunks = chunkBinRangeWithInitialSize(lowerBinId, upperBinId, initialChunkSize, subsequentChunkSize);
1120
+ // For each chunk, calculate the deposit parameters
1121
+ const result = [];
1122
+ for (const chunk of chunks) {
1123
+ const chunkMinDeltaId = new bn_js_1.default(chunk.lowerBinId).sub(activeId);
1124
+ const chunkMaxDeltaId = new bn_js_1.default(chunk.upperBinId).sub(activeId);
1125
+ // Reset uninvolved params for this chunk
1126
+ const chunkParams = resetUninvolvedLiquidityParams(chunkMinDeltaId, chunkMaxDeltaId, favorXInActiveBin, params);
1127
+ // Calculate amounts for this chunk using toAmountIntoBins
1128
+ const binsAmounts = toAmountIntoBins(activeId, chunkMinDeltaId, chunkMaxDeltaId, chunkParams.deltaX, chunkParams.deltaY, chunkParams.x0, chunkParams.y0, binStep, favorXInActiveBin);
1129
+ // Sum up amounts
1130
+ const { totalXAmount, totalYAmount } = binsAmounts.reduce((acc, bin) => ({
1131
+ totalXAmount: acc.totalXAmount.add(bin.amountX),
1132
+ totalYAmount: acc.totalYAmount.add(bin.amountY),
1133
+ }), { totalXAmount: new bn_js_1.default(0), totalYAmount: new bn_js_1.default(0) });
1134
+ result.push({
1135
+ lowerBinId: chunk.lowerBinId,
1136
+ upperBinId: chunk.upperBinId,
1137
+ minDeltaId: chunkMinDeltaId,
1138
+ maxDeltaId: chunkMaxDeltaId,
1139
+ params: chunkParams,
1140
+ maxAmountX: totalXAmount,
1141
+ maxAmountY: totalYAmount,
1142
+ });
1143
+ }
1144
+ return result;
1145
+ }
@@ -511,6 +511,82 @@ export type LabeledInstructions = {
511
511
  instructions: web3.TransactionInstruction[];
512
512
  labels: string[];
513
513
  };
514
+ export type MeteoraRebalanceLargePositionAutomation2 = {
515
+ userWallet: web3.PublicKey;
516
+ lbPair: web3.PublicKey;
517
+ position: web3.PublicKey;
518
+ relativeLowerBin: number;
519
+ width: number;
520
+ distribution: Distribution;
521
+ shouldClaimFee?: boolean;
522
+ shouldClaimReward?: boolean;
523
+ };
524
+ /**
525
+ * Params for removing liquidity in rebalance
526
+ */
527
+ export type RemoveLiquidityParams = {
528
+ minBinId?: number;
529
+ maxBinId?: number;
530
+ bps: number;
531
+ };
532
+ /**
533
+ * Params for adding liquidity in rebalance
534
+ */
535
+ export type AddLiquidityParams = {
536
+ minDeltaId: number;
537
+ maxDeltaId: number;
538
+ x0: BN;
539
+ y0: BN;
540
+ deltaX: BN;
541
+ deltaY: BN;
542
+ bitFlag: number;
543
+ favorXInActiveId: boolean;
544
+ };
545
+ /**
546
+ * Full params for the Meteora rebalance_liquidity instruction
547
+ */
548
+ export type RebalanceLiquidityParams = {
549
+ activeId: number;
550
+ maxActiveBinSlippage: number;
551
+ shouldClaimFee: boolean;
552
+ shouldClaimReward: boolean;
553
+ minWithdrawXAmount: BN;
554
+ maxDepositXAmount: BN;
555
+ minWithdrawYAmount: BN;
556
+ maxDepositYAmount: BN;
557
+ shrinkMode: number;
558
+ removeLiquidityParams: RemoveLiquidityParams[];
559
+ addLiquidityParams: AddLiquidityParams[];
560
+ };
561
+ /**
562
+ * Meteora DLMM position shrink mode for rebalance_liquidity.
563
+ *
564
+ * Controls whether the position account is shrunk (reallocated smaller)
565
+ * after liquidity removal during a rebalance operation.
566
+ *
567
+ * Stored in the first byte of the 32-byte padding field of RebalanceLiquidityParams.
568
+ */
569
+ export declare enum ShrinkMode {
570
+ /** Default — allow shrinking on both sides (Meteora SDK default) */
571
+ Default = 0,
572
+ /** Do not shrink the lower side */
573
+ NoShrinkLower = 1,
574
+ /** Do not shrink the upper side */
575
+ NoShrinkUpper = 2,
576
+ /** Do not shrink either side */
577
+ NoShrinkBoth = 3
578
+ }
579
+ export type MeteoraReshapePositionAutomationParams = {
580
+ userWallet: web3.PublicKey;
581
+ lbPair: web3.PublicKey;
582
+ position: web3.PublicKey;
583
+ relativeLowerBin: number;
584
+ activeId: number;
585
+ width: number;
586
+ distribution: Distribution;
587
+ removeLiquidityParams: RemoveLiquidityParams[];
588
+ addLiquidityParams: AddLiquidityParams[];
589
+ };
514
590
  export type MeteoraLimitCloseAutomation = {
515
591
  userWallet: web3.PublicKey;
516
592
  position: web3.PublicKey;
@@ -551,7 +627,7 @@ export type MeteoraCreatePoolAndPosition = {
551
627
  * - Initialize position instruction (max 70 bins initial)
552
628
  * - Multiple increase position length instructions (91 bins each) to reach the target size
553
629
  *
554
- * Maximum supported: 1344 bins per position (limited by Meteora)
630
+ * Maximum supported: 1400 bins per position (limited by Meteora)
555
631
  */
556
632
  export type MeteoraInitializeLargePosition = {
557
633
  userWallet: web3.PublicKey;
@@ -574,8 +650,6 @@ export type MeteoraDepositToLargePosition = {
574
650
  totalYAmount: BN;
575
651
  /** Strategy type: 0 = SPOT, 1 = CURVE, 2 = BID_ASK. Defaults to SPOT. */
576
652
  strategyType?: number;
577
- /** Whether X token is favored in the active bin. Defaults to false. */
578
- favorXInActiveId?: boolean;
579
653
  pdaTokenType?: TokenType;
580
654
  };
581
655
  /**
@@ -607,6 +681,29 @@ export type MeteoraDepositLargerPosition = {
607
681
  /** If true, initialize the position first. If false, skip position initialization. */
608
682
  initializePosition?: boolean;
609
683
  };
684
+ /**
685
+ * Meteora DLMM Create Position and Deposit to Large Position
686
+ *
687
+ * Combined method that creates a position AND deposits liquidity for any bin count.
688
+ * - For ≤149 bins: delegates to meteoraDepositLargerPosition (single tx)
689
+ * - For ≥150 bins: uses _meteoraInitializeLargePosition + _meteoraDepositToLargePosition (multi-tx)
690
+ */
691
+ export type MeteoraCreatePositionAndDepositToLargePosition = {
692
+ userWallet: web3.PublicKey;
693
+ lbPair: web3.PublicKey;
694
+ position: web3.PublicKey;
695
+ lowerBinId: number;
696
+ upperBinId: number;
697
+ totalXAmount: BN;
698
+ totalYAmount: BN;
699
+ /** Strategy type: 0 = SPOT, 1 = CURVE, 2 = BID_ASK. Defaults to SPOT. Used for ≥150-bin path. */
700
+ strategyType?: number;
701
+ /** Distribution type. Used for ≤149-bin path. Defaults to 'SPOT-IMBALANCED'. */
702
+ distribution?: Distribution;
703
+ slippage?: number;
704
+ skipInputTokenCheck?: boolean;
705
+ pdaTokenType?: TokenType;
706
+ };
610
707
  export type OrcaOpenPosition = {
611
708
  userWallet: web3.PublicKey;
612
709
  positionMint: web3.PublicKey;
@@ -858,41 +955,4 @@ export declare enum MeteoraPositionSide {
858
955
  Lower = 0,
859
956
  Upper = 1
860
957
  }
861
- /**
862
- * Params for removing liquidity in rebalance
863
- */
864
- export type RemoveLiquidityParams = {
865
- minBinId?: number;
866
- maxBinId?: number;
867
- bps: number;
868
- };
869
- /**
870
- * Params for adding liquidity in rebalance
871
- */
872
- export type AddLiquidityParams = {
873
- minDeltaId: number;
874
- maxDeltaId: number;
875
- x0: BN;
876
- y0: BN;
877
- deltaX: BN;
878
- deltaY: BN;
879
- bitFlag: number;
880
- favorXInActiveId: boolean;
881
- };
882
- /**
883
- * Full params for the Meteora rebalance_liquidity instruction
884
- */
885
- export type RebalanceLiquidityParams = {
886
- activeId: number;
887
- maxActiveBinSlippage: number;
888
- shouldClaimFee: boolean;
889
- shouldClaimReward: boolean;
890
- minWithdrawXAmount: BN;
891
- maxDepositXAmount: BN;
892
- minWithdrawYAmount: BN;
893
- maxDepositYAmount: BN;
894
- shrinkMode: number;
895
- removeLiquidityParams: RemoveLiquidityParams[];
896
- addLiquidityParams: AddLiquidityParams[];
897
- };
898
958
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}