@metamask-previews/perps-controller 22.0.0-preview-4a8d4a2 → 22.0.0-preview-0f1d8eed9

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.
package/CHANGELOG.md CHANGED
@@ -16,6 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
16
 
17
17
  - Bump `@metamask/subscription-controller` from `^15.1.0` to `^15.1.1` ([#11120](https://github.com/MetaMask/core/pull/11120))
18
18
  - Bump `@metamask/utils` from `^12.0.0` to `^12.0.1` ([#11107](https://github.com/MetaMask/core/pull/11107))
19
+ - `HyperLiquidProvider.placeOrder` no longer resubmits an opening order 1.5% larger when Hyperliquid rejects it for the minimum order value; it returns a failed result with `errorCode: 'ORDER_SIZE_MIN'` instead ([#11122](https://github.com/MetaMask/core/pull/11122))
20
+ - The client should re-quote and ask the user to confirm a new size. No order larger than the one the user approved is submitted.
21
+ - Reduce-only and strategy (TWAP, scale, chase) orders are unchanged: they are submitted once and keep Hyperliquid's error message.
19
22
 
20
23
  ### Fixed
21
24
 
@@ -124,11 +124,11 @@ export declare class HyperLiquidProvider implements PerpsProvider {
124
124
  * Each helper method is focused on a single responsibility.
125
125
  *
126
126
  * @param input - Order parameters
127
- * @param retryCount - Internal retry counter to prevent infinite loops (default: 0)
127
+ * @param _retryCount - Unused. Kept so `reportFailure` stays the third argument.
128
128
  * @param reportFailure - Whether this call owns provider-level error reporting.
129
129
  * @returns A promise that resolves to the result.
130
130
  */
131
- placeOrder(input: OrderParams, retryCount?: number, reportFailure?: boolean): Promise<OrderResult>;
131
+ placeOrder(input: OrderParams, _retryCount?: number, reportFailure?: boolean): Promise<OrderResult>;
132
132
  /**
133
133
  * Read native TWAP schedules and their slice fills from the venue.
134
134
  *
@@ -1 +1 @@
1
- {"version":3,"file":"HyperLiquidProvider.d.ts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperLiquidProvider.d.ts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"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"}
@@ -4314,11 +4314,10 @@ export class HyperLiquidProvider {
4314
4314
  orderId: restingOrder?.oid?.toString() ?? filledOrder?.oid?.toString(),
4315
4315
  filledSize: filledOrder?.totalSz,
4316
4316
  // The main order's `s` is the final normalized size sent to the exchange
4317
- // (post precision rounding, USD recalculation, and $10-minimum retry —
4318
- // the retry recurses through placeOrder so this reflects the last
4319
- // submission). TradingService uses it to classify partial fills. The SDK
4320
- // types `s` as `string | number`, so normalize to the string OrderResult
4321
- // shape while preserving `undefined` when no order was built.
4317
+ // (post precision rounding and USD recalculation). TradingService uses
4318
+ // it to classify partial fills. The SDK types `s` as `string | number`,
4319
+ // so normalize to the string OrderResult shape while preserving
4320
+ // `undefined` when no order was built.
4322
4321
  submittedSize: orders[0]?.s === undefined ? undefined : String(orders[0].s),
4323
4322
  averagePrice: filledOrder?.avgPx,
4324
4323
  };
@@ -4376,11 +4375,11 @@ export class HyperLiquidProvider {
4376
4375
  * Each helper method is focused on a single responsibility.
4377
4376
  *
4378
4377
  * @param input - Order parameters
4379
- * @param retryCount - Internal retry counter to prevent infinite loops (default: 0)
4378
+ * @param _retryCount - Unused. Kept so `reportFailure` stays the third argument.
4380
4379
  * @param reportFailure - Whether this call owns provider-level error reporting.
4381
4380
  * @returns A promise that resolves to the result.
4382
4381
  */
4383
- async placeOrder(input, retryCount = 0, reportFailure = true) {
4382
+ async placeOrder(input, _retryCount = 0, reportFailure = true) {
4384
4383
  const deferProviderErrorReport = input.deferProviderErrorReport === true;
4385
4384
  const params = { ...input };
4386
4385
  delete params.deferProviderErrorReport;
@@ -4391,9 +4390,6 @@ export class HyperLiquidProvider {
4391
4390
  error: PERPS_ERROR_CODES.ORDER_SCALE_PREVIEW_STALE,
4392
4391
  };
4393
4392
  }
4394
- // Hoisted so the retry path in the catch block can use the fetched price
4395
- // even when the caller (e.g. flipPosition) omits currentPrice from params.
4396
- let effectivePrice;
4397
4393
  try {
4398
4394
  this.#deps.debugLogger.log('Placing order via HyperLiquid SDK:', params);
4399
4395
  // Basic sync validation (backward compatibility)
@@ -4448,10 +4444,9 @@ export class HyperLiquidProvider {
4448
4444
  throw new Error(precision.error);
4449
4445
  }
4450
4446
  // Allow override with UI-provided price (optimization to avoid API call).
4451
- effectivePrice =
4452
- params.currentPrice && params.currentPrice > 0
4453
- ? params.currentPrice
4454
- : currentPrice;
4447
+ const effectivePrice = params.currentPrice && params.currentPrice > 0
4448
+ ? params.currentPrice
4449
+ : currentPrice;
4455
4450
  if (params.currentPrice && params.currentPrice > 0) {
4456
4451
  this.#deps.debugLogger.log('Using provided current price:', {
4457
4452
  coin: params.symbol,
@@ -4584,73 +4579,22 @@ export class HyperLiquidProvider {
4584
4579
  });
4585
4580
  }
4586
4581
  catch (error) {
4587
- // Retry mechanism for $10 minimum order errors
4588
- // This handles the case where UI price feed slightly differs from HyperLiquid's orderbook price
4582
+ // The venue can reject an order the minimum check above accepted, when
4583
+ // its price differs from the one the order was sized at. Growing the
4584
+ // order to clear the minimum would submit more than the user approved,
4585
+ // so an opening order fails with the typed code instead and the client
4586
+ // re-quotes. Reduce-only and strategy orders keep the venue's error: a
4587
+ // close is capped at the position, and the minimum applies to each TWAP
4588
+ // slice or ladder rung rather than the total.
4589
4589
  const errorMessage = ensureError(error, 'HyperLiquidProvider.placeOrder').message;
4590
4590
  const isMinimumOrderError = errorMessage.includes('Order must have minimum value of $10') ||
4591
4591
  errorMessage.includes('Order 0: Order must have minimum value');
4592
- // Reduce-only orders are excluded. The retry works by growing the order
4593
- // 1.5%, which a close cannot do: a full close already submits the whole
4594
- // position, and a partial close is capped at the size the caller asked to
4595
- // close, so the retry would either be rejected as "Reduce only order would
4596
- // increase position" or resubmit an identical order. Surfacing the
4597
- // minimum-value error names the real problem instead.
4598
- //
4599
- // Strategy placements are excluded for the same reason in a different
4600
- // shape: the minimum applies to each TWAP slice and each ladder rung, not
4601
- // to the total, so growing the total by 1.5% does not clear it.
4602
- if (isMinimumOrderError &&
4603
- retryCount === 0 &&
4604
- !params.reduceOnly &&
4605
- !isStrategyOrderType(params.orderType)) {
4606
- let adjustedUsdAmount;
4607
- let originalValue;
4608
- if (params.usdAmount) {
4609
- // USD-based order: adjust the USD amount directly
4610
- originalValue = params.usdAmount;
4611
- adjustedUsdAmount = (parseFloat(params.usdAmount) * 1.015).toFixed(2);
4612
- }
4613
- else if (effectivePrice) {
4614
- // Size-based order: calculate USD from size and adjust.
4615
- // Use the hoisted effectivePrice (fetched live price) so callers that
4616
- // omit currentPrice (e.g. flipPosition) can still recover from the
4617
- // $10-minimum edge case.
4618
- const sizeValue = parseFloat(params.size);
4619
- const estimatedUsd = sizeValue * effectivePrice;
4620
- originalValue = `${estimatedUsd.toFixed(2)} (calculated from size ${params.size})`;
4621
- adjustedUsdAmount = (estimatedUsd * 1.015).toFixed(2);
4622
- }
4623
- else {
4624
- // No price information available - cannot retry
4625
- return await this.#handleOrderError({
4626
- error,
4627
- symbol: params.symbol,
4628
- orderType: params.orderType,
4629
- isBuy: params.isBuy,
4630
- reportFailure: shouldReportFailure,
4631
- });
4632
- }
4633
- this.#deps.debugLogger.log('Retrying order with adjusted size due to minimum value error', {
4634
- originalValue,
4635
- adjustedUsdAmount,
4636
- retryCount,
4637
- });
4638
- return this.placeOrder({
4639
- ...params,
4640
- usdAmount: adjustedUsdAmount,
4641
- // This USD amount was derived from the effective price solely to
4642
- // grow an exact-size order past the venue minimum. Preserve the
4643
- // original exact-size semantics instead of applying its unrelated
4644
- // calculation snapshot to the retry. Genuine USD-sized orders keep
4645
- // their snapshot guard.
4646
- priceAtCalculation: params.usdAmount
4647
- ? params.priceAtCalculation
4648
- : undefined,
4649
- }, 1, // Retry count = 1, prevents further retries
4650
- shouldReportFailure);
4651
- }
4652
4592
  return await this.#handleOrderError({
4653
- error,
4593
+ error: isMinimumOrderError &&
4594
+ !params.reduceOnly &&
4595
+ !isStrategyOrderType(params.orderType)
4596
+ ? new PerpsControllerError(PERPS_ERROR_CODES.ORDER_SIZE_MIN, PERPS_ERROR_CODES.ORDER_SIZE_MIN)
4597
+ : error,
4654
4598
  symbol: params.symbol,
4655
4599
  orderType: params.orderType,
4656
4600
  isBuy: params.isBuy,