@lifi/perps-sdk-provider-ondo 18.0.0 → 19.1.0

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.
Files changed (69) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/OndoProvider.d.ts.map +1 -1
  3. package/dist/cjs/OndoProvider.js +67 -4
  4. package/dist/cjs/OndoProvider.js.map +1 -1
  5. package/dist/cjs/types/wire.d.ts +26 -0
  6. package/dist/cjs/types/wire.d.ts.map +1 -1
  7. package/dist/cjs/utils/availableToTrade.d.ts +4 -0
  8. package/dist/cjs/utils/availableToTrade.d.ts.map +1 -0
  9. package/dist/cjs/utils/availableToTrade.js +46 -0
  10. package/dist/cjs/utils/availableToTrade.js.map +1 -0
  11. package/dist/cjs/utils/index.d.ts +2 -1
  12. package/dist/cjs/utils/index.d.ts.map +1 -1
  13. package/dist/cjs/utils/index.js +4 -2
  14. package/dist/cjs/utils/index.js.map +1 -1
  15. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  16. package/dist/cjs/utils/mapOrder.js +2 -0
  17. package/dist/cjs/utils/mapOrder.js.map +1 -1
  18. package/dist/cjs/utils/transferMargin.d.ts +1 -1
  19. package/dist/cjs/utils/transferMargin.d.ts.map +1 -1
  20. package/dist/cjs/utils/transferMargin.js +2 -2
  21. package/dist/cjs/utils/transferMargin.js.map +1 -1
  22. package/dist/cjs/utils/withdrawableBalances.d.ts +1 -1
  23. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -1
  24. package/dist/cjs/utils/withdrawableBalances.js +16 -4
  25. package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
  26. package/dist/esm/OndoProvider.d.ts.map +1 -1
  27. package/dist/esm/OndoProvider.js +70 -6
  28. package/dist/esm/OndoProvider.js.map +1 -1
  29. package/dist/esm/types/wire.d.ts +33 -0
  30. package/dist/esm/types/wire.d.ts.map +1 -1
  31. package/dist/esm/utils/availableToTrade.d.ts +14 -0
  32. package/dist/esm/utils/availableToTrade.d.ts.map +1 -0
  33. package/dist/esm/utils/availableToTrade.js +50 -0
  34. package/dist/esm/utils/availableToTrade.js.map +1 -0
  35. package/dist/esm/utils/index.d.ts +2 -1
  36. package/dist/esm/utils/index.d.ts.map +1 -1
  37. package/dist/esm/utils/index.js +2 -1
  38. package/dist/esm/utils/index.js.map +1 -1
  39. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  40. package/dist/esm/utils/mapOrder.js +2 -0
  41. package/dist/esm/utils/mapOrder.js.map +1 -1
  42. package/dist/esm/utils/transferMargin.d.ts +1 -1
  43. package/dist/esm/utils/transferMargin.d.ts.map +1 -1
  44. package/dist/esm/utils/transferMargin.js +1 -1
  45. package/dist/esm/utils/transferMargin.js.map +1 -1
  46. package/dist/esm/utils/withdrawableBalances.d.ts +4 -1
  47. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
  48. package/dist/esm/utils/withdrawableBalances.js +19 -4
  49. package/dist/esm/utils/withdrawableBalances.js.map +1 -1
  50. package/dist/types/OndoProvider.d.ts.map +1 -1
  51. package/dist/types/types/wire.d.ts +33 -0
  52. package/dist/types/types/wire.d.ts.map +1 -1
  53. package/dist/types/utils/availableToTrade.d.ts +14 -0
  54. package/dist/types/utils/availableToTrade.d.ts.map +1 -0
  55. package/dist/types/utils/index.d.ts +2 -1
  56. package/dist/types/utils/index.d.ts.map +1 -1
  57. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  58. package/dist/types/utils/transferMargin.d.ts +1 -1
  59. package/dist/types/utils/transferMargin.d.ts.map +1 -1
  60. package/dist/types/utils/withdrawableBalances.d.ts +4 -1
  61. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
  62. package/package.json +3 -3
  63. package/src/OndoProvider.ts +99 -5
  64. package/src/types/wire.ts +34 -0
  65. package/src/utils/availableToTrade.ts +68 -0
  66. package/src/utils/index.ts +2 -1
  67. package/src/utils/mapOrder.ts +2 -0
  68. package/src/utils/transferMargin.ts +1 -1
  69. package/src/utils/withdrawableBalances.ts +23 -4
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AvailableToTrade } from '@lifi/perps-types';
2
+ import type { OndoOrderSizes } from '../types/wire.js';
3
+ /**
4
+ * Convert one Ondo max-order-size tier from base-asset units into the margin
5
+ * the order would lock: `baseSize × markPrice ÷ leverage`, truncated toward
6
+ * zero at 20 decimal places. The bid side maps to `buy` and the ask side to
7
+ * `sell`.
8
+ *
9
+ * @throws {PerpsError} `SDKError` when a venue field is not a decimal, a size
10
+ * is negative, or the leverage or mark price is not positive.
11
+ * @public
12
+ */
13
+ export declare const ondoAvailableToTrade: (sizes: OndoOrderSizes, leverage: string, markPrice: string) => Pick<AvailableToTrade, "buy" | "sell">;
14
+ //# sourceMappingURL=availableToTrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availableToTrade.d.ts","sourceRoot":"","sources":["../../../src/utils/availableToTrade.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAoCtD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,EACrB,UAAU,MAAM,EAChB,WAAW,MAAM,KAChB,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAYvC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export { decodeActivityCursor, encodeActivityCursor, type OndoActivityCursor, } from './activityCursor.js';
2
2
  export { type ApiParams, ONDO_RETRY_DEFAULTS, OndoApiClient, type OndoApiClientOptions, OndoApiError, type OndoHttpMethod, type OndoPage, type OndoRequestOptions, OndoSessionExpiredError, } from './apiClient.js';
3
+ export { ondoAvailableToTrade } from './availableToTrade.js';
3
4
  export { requireOndoCollateralAsset } from './collateralAsset.js';
4
5
  export { buildOndoProvisionPayload, listOndoDepositAddress, ONDO_DEPOSIT_POLICY, type OndoDepositAddressRecord, type OndoDepositPolicyMarker, parseOndoDepositAddress, } from './depositAddress.js';
5
6
  export { estimateLiquidationPrice } from './liquidation.js';
@@ -10,6 +11,6 @@ export { mapOpenPositions, mapPosition } from './mapPosition.js';
10
11
  export { intervalFromBarSpan, mapInterval } from './ohlcvInterval.js';
11
12
  export { ondoAsset } from './ondoAsset.js';
12
13
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
13
- export { positionMarginConstraints } from './transferMargin.js';
14
+ export { positionRemovableMargin } from './transferMargin.js';
14
15
  export { ondoWithdrawableBalances } from './withdrawableBalances.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,KAAK,SAAS,EACd,mBAAmB,EACnB,aAAa,EACb,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,KAAK,SAAS,EACd,mBAAmB,EACnB,aAAa,EACb,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EAGV,WAAW,EAIZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhE,+EAA+E;AAC/E,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAe/C,CAAA;AAgCD,yEAAyE;AACzE,eAAO,MAAM,QAAQ,GACnB,OAAO,SAAS,GAAG,aAAa,EAChC,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KA0GF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,EAAE,EACjB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAC3D;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CA0BzC,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EAGV,WAAW,EAIZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhE,+EAA+E;AAC/E,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAiB/C,CAAA;AAgCD,yEAAyE;AACzE,eAAO,MAAM,QAAQ,GACnB,OAAO,SAAS,GAAG,aAAa,EAChC,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KA0GF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,EAAE,EACjB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAC3D;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CA0BzC,CAAA"}
@@ -6,5 +6,5 @@ import type { Position } from '@lifi/perps-types';
6
6
  * @see https://docs.ondo.finance/ondo-global-markets/perpetuals/trading/margin
7
7
  * @public
8
8
  */
9
- export declare function positionMarginConstraints(_position: Position): undefined;
9
+ export declare function positionRemovableMargin(_position: Position): undefined;
10
10
  //# sourceMappingURL=transferMargin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferMargin.d.ts","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAExE"}
1
+ {"version":3,"file":"transferMargin.d.ts","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAEtE"}
@@ -7,7 +7,10 @@ import type { OndoBalanceSummary } from '../types/wire.js';
7
7
  * venue minimum.
8
8
  *
9
9
  * @param assetId - `Asset.id` the row is keyed by.
10
+ * @param withdrawalFeeUsd - The account's `withdrawalFeeUSD`. Ondo collateral
11
+ * is USDC, so the USD fee is the row fee 1:1 in collateral units. Absent
12
+ * leaves the row without a fee.
10
13
  * @public
11
14
  */
12
- export declare const ondoWithdrawableBalances: (assetId: string, balance: OndoBalanceSummary) => ProviderWithdrawableBalance[];
15
+ export declare const ondoWithdrawableBalances: (assetId: string, balance: OndoBalanceSummary, withdrawalFeeUsd?: string) => ProviderWithdrawableBalance[];
13
16
  //# sourceMappingURL=withdrawableBalances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,KAC1B,2BAA2B,EAQ7B,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-ondo",
3
- "version": "18.0.0",
3
+ "version": "19.1.0",
4
4
  "description": "Ondo Perps provider plugin for @lifi/perps-sdk",
5
5
  "homepage": "https://github.com/lifinance/perps-sdk",
6
6
  "bugs": {
@@ -44,10 +44,10 @@
44
44
  "dependencies": {
45
45
  "big.js": "^7.0.1",
46
46
  "viem": "^2.55.18",
47
- "@lifi/perps-types": "^15.0.0"
47
+ "@lifi/perps-types": "^16.0.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@lifi/perps-sdk": "^16.0.0"
50
+ "@lifi/perps-sdk": "^17.0.1"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
@@ -13,6 +13,7 @@ import {
13
13
  type ProviderAccountExistsParams,
14
14
  type ProviderGetAccountParams,
15
15
  type ProviderGetActivityParams,
16
+ type ProviderGetAvailableToTradeParams,
16
17
  type ProviderGetDepositFlowParams,
17
18
  type ProviderGetFillsParams,
18
19
  type ProviderGetOrderParams,
@@ -28,6 +29,7 @@ import {
28
29
  type SDKRequestOptions,
29
30
  type SignActionsContext,
30
31
  type StorageAdapter,
32
+ toAssetDisplay,
31
33
  toMarketDisplay,
32
34
  toPerpsMarketDisplay,
33
35
  } from '@lifi/perps-sdk'
@@ -40,6 +42,7 @@ import type {
40
42
  ActionStep,
41
43
  ActivitiesResponse,
42
44
  ActivityItem,
45
+ AvailableToTrade,
43
46
  Fill,
44
47
  FillsResponse,
45
48
  FundingActivity,
@@ -80,11 +83,14 @@ import type {
80
83
  OndoBalanceSummary,
81
84
  OndoFill,
82
85
  OndoFundingFeeTransfer,
86
+ OndoLeverage,
83
87
  OndoLiquidationEvent,
88
+ OndoMaxOrderSizesRes,
84
89
  OndoOrder,
85
90
  OndoPortfolioGraphPoint,
86
91
  OndoPortfolioSummary,
87
92
  OndoPosition,
93
+ OndoRestMarkPrice,
88
94
  OndoTwapOrder,
89
95
  OndoWalletDeposit,
90
96
  OndoWalletWithdrawal,
@@ -113,8 +119,9 @@ import {
113
119
  mapOpenPositions,
114
120
  mapOrder,
115
121
  mapWithdrawalActivity,
122
+ ondoAvailableToTrade,
116
123
  ondoWithdrawableBalances,
117
- positionMarginConstraints,
124
+ positionRemovableMargin,
118
125
  requireOndoCollateralAsset,
119
126
  } from './utils/index.js'
120
127
  import { mapPortfolioHistory } from './utils/mapPortfolioHistory.js'
@@ -387,20 +394,107 @@ export const ondoProvider = (
387
394
  params.address,
388
395
  (): ProviderWithdrawableBalance[] => [],
389
396
  async (token) => {
390
- const [{ providers }, balance] = await Promise.all([
397
+ const client = apiClient(opts)
398
+ const [{ providers }, balance, account] = await Promise.all([
391
399
  getProviders(requireClient(), opts),
392
- apiClient(opts).get<OndoBalanceSummary>('/v1/perps/balance', {
400
+ client.get<OndoBalanceSummary>('/v1/perps/balance', {
401
+ authToken: token.token,
402
+ }),
403
+ client.get<OndoAccountInfo>('/v1/account', {
393
404
  authToken: token.token,
394
405
  }),
395
406
  ])
396
407
  return ondoWithdrawableBalances(
397
408
  requireOndoCollateralAsset(providers).id,
398
- balance
409
+ balance,
410
+ account.withdrawalFeeUSD
399
411
  )
400
412
  }
401
413
  )
402
414
  },
403
415
 
416
+ async getAvailableToTrade(
417
+ params: ProviderGetAvailableToTradeParams,
418
+ opts?: SDKRequestOptions
419
+ ): Promise<AvailableToTrade | undefined> {
420
+ return withSession(
421
+ params.address,
422
+ () => undefined,
423
+ async (token) => {
424
+ const registry = marketRegistry()
425
+ await registry.sync()
426
+ const market = registry.require(params.marketId)
427
+ const client = apiClient(opts)
428
+ const [maxOrderSizes, leveragesRead, markPricesRead] =
429
+ await Promise.allSettled([
430
+ client
431
+ .get<OndoMaxOrderSizesRes>('/v1/perps/max_order_size', {
432
+ params: { market: market.id, buffer: '1' },
433
+ authToken: token.token,
434
+ })
435
+ .catch((error: unknown) => {
436
+ if (
437
+ error instanceof OndoApiError &&
438
+ error.errorCode === 'insufficient_margin'
439
+ ) {
440
+ return null
441
+ }
442
+ throw error
443
+ }),
444
+ client.get<OndoLeverage[]>('/v1/perps/leverage', {
445
+ params: { market: market.id },
446
+ authToken: token.token,
447
+ }),
448
+ client.get<Record<string, OndoRestMarkPrice>>(
449
+ '/v1/perps/mark_prices'
450
+ ),
451
+ ])
452
+ if (maxOrderSizes.status === 'rejected') {
453
+ throw maxOrderSizes.reason
454
+ }
455
+ const asset = toAssetDisplay(market.quoteAsset)
456
+ // The zero result reads neither companion, so their failures do not apply.
457
+ if (maxOrderSizes.value === null) {
458
+ return {
459
+ providerId: market.providerId,
460
+ marketId: market.id,
461
+ asset,
462
+ buy: '0',
463
+ sell: '0',
464
+ }
465
+ }
466
+ if (leveragesRead.status === 'rejected') {
467
+ throw leveragesRead.reason
468
+ }
469
+ if (markPricesRead.status === 'rejected') {
470
+ throw markPricesRead.reason
471
+ }
472
+ const leverage = leveragesRead.value.find(
473
+ (row) => row.market === market.id
474
+ )
475
+ const markPrice = markPricesRead.value[market.id]
476
+ if (leverage === undefined || markPrice === undefined) {
477
+ const error = new PerpsError(
478
+ PerpsErrorCode.SDKError,
479
+ `Ondo returned no ${leverage === undefined ? 'leverage' : 'mark price'} for market '${market.id}'`
480
+ )
481
+ error.tool = ONDO_PROVIDER_KEY
482
+ throw error
483
+ }
484
+ return {
485
+ providerId: market.providerId,
486
+ marketId: market.id,
487
+ asset,
488
+ ...ondoAvailableToTrade(
489
+ maxOrderSizes.value.percent100,
490
+ leverage.leverage,
491
+ markPrice.markPrice
492
+ ),
493
+ }
494
+ }
495
+ )
496
+ },
497
+
404
498
  async accountExists(
405
499
  params: ProviderAccountExistsParams,
406
500
  opts?: SDKRequestOptions
@@ -931,7 +1025,7 @@ export const ondoProvider = (
931
1025
 
932
1026
  estimateLiquidationPrice,
933
1027
 
934
- positionMarginConstraints,
1028
+ positionRemovableMargin,
935
1029
 
936
1030
  projectConfig(
937
1031
  config: AccountConfig,
package/src/types/wire.ts CHANGED
@@ -378,3 +378,37 @@ export interface OndoPortfolioSummary {
378
378
  volume30d: string
379
379
  volumeAllTime: string
380
380
  }
381
+
382
+ /** Mirrors Ondo's `OrderSizes`: one `MaxOrderSizesRes` tier, in base-asset units. @public */
383
+ export interface OndoOrderSizes {
384
+ maxBidBaseSize: string
385
+ maxAskBaseSize: string
386
+ }
387
+
388
+ /**
389
+ * Mirrors Ondo's `MaxOrderSizesRes` (the `/v1/perps/max_order_size` result).
390
+ * The request `buffer` scales every tier. @public
391
+ */
392
+ export interface OndoMaxOrderSizesRes {
393
+ percent100: OndoOrderSizes
394
+ percent75: OndoOrderSizes
395
+ percent50: OndoOrderSizes
396
+ percent25: OndoOrderSizes
397
+ }
398
+
399
+ /** Mirrors Ondo's `ApiLeverage` (a `/v1/perps/leverage` result row). @public */
400
+ export interface OndoLeverage {
401
+ market: string
402
+ leverage: string
403
+ }
404
+
405
+ /** Mirrors Ondo's `MarkPrice` (a `/v1/perps/mark_prices` result value). @public */
406
+ export interface OndoRestMarkPrice {
407
+ market: string
408
+ pair: { base: string; quote: string }
409
+ price: string
410
+ markPrice: string
411
+ oraclePrice: string
412
+ lastExternalPrice: string
413
+ lastUpdatedTime: string
414
+ }
@@ -0,0 +1,68 @@
1
+ import { PerpsError } from '@lifi/perps-sdk'
2
+ import type { AvailableToTrade } from '@lifi/perps-types'
3
+ import { PerpsErrorCode } from '@lifi/perps-types'
4
+ import Big from 'big.js'
5
+ import { ONDO_PROVIDER_KEY } from '../constants.js'
6
+ import type { OndoOrderSizes } from '../types/wire.js'
7
+ import { toWireBig } from './decimal.js'
8
+
9
+ // A max amount must never exceed the exact cap, so the division truncates.
10
+ const TruncatingBig = Big()
11
+ TruncatingBig.RM = Big.roundDown
12
+
13
+ const outOfRange = (
14
+ field: string,
15
+ value: string,
16
+ bound: string
17
+ ): PerpsError => {
18
+ const error = new PerpsError(
19
+ PerpsErrorCode.SDKError,
20
+ `Ondo field \`${field}\` must be ${bound}: '${value}'`
21
+ )
22
+ error.tool = ONDO_PROVIDER_KEY
23
+ return error
24
+ }
25
+
26
+ const toPositiveBig = (value: string, field: string): Big => {
27
+ const parsed = toWireBig(value, field)
28
+ if (parsed.lte(0)) {
29
+ throw outOfRange(field, value, 'positive')
30
+ }
31
+ return parsed
32
+ }
33
+
34
+ const toNonNegativeBig = (value: string, field: string): Big => {
35
+ const parsed = toWireBig(value, field)
36
+ if (parsed.lt(0)) {
37
+ throw outOfRange(field, value, 'non-negative')
38
+ }
39
+ return parsed
40
+ }
41
+
42
+ /**
43
+ * Convert one Ondo max-order-size tier from base-asset units into the margin
44
+ * the order would lock: `baseSize × markPrice ÷ leverage`, truncated toward
45
+ * zero at 20 decimal places. The bid side maps to `buy` and the ask side to
46
+ * `sell`.
47
+ *
48
+ * @throws {PerpsError} `SDKError` when a venue field is not a decimal, a size
49
+ * is negative, or the leverage or mark price is not positive.
50
+ * @public
51
+ */
52
+ export const ondoAvailableToTrade = (
53
+ sizes: OndoOrderSizes,
54
+ leverage: string,
55
+ markPrice: string
56
+ ): Pick<AvailableToTrade, 'buy' | 'sell'> => {
57
+ const lev = toPositiveBig(leverage, 'leverage.leverage')
58
+ const mark = toPositiveBig(markPrice, 'markPrice.markPrice')
59
+ const toMargin = (baseSize: string, field: string): string =>
60
+ new TruncatingBig(toNonNegativeBig(baseSize, field))
61
+ .times(mark)
62
+ .div(lev)
63
+ .toFixed()
64
+ return {
65
+ buy: toMargin(sizes.maxBidBaseSize, 'maxOrderSize.maxBidBaseSize'),
66
+ sell: toMargin(sizes.maxAskBaseSize, 'maxOrderSize.maxAskBaseSize'),
67
+ }
68
+ }
@@ -16,6 +16,7 @@ export {
16
16
  type OndoRequestOptions,
17
17
  OndoSessionExpiredError,
18
18
  } from './apiClient.js'
19
+ export { ondoAvailableToTrade } from './availableToTrade.js'
19
20
  export { requireOndoCollateralAsset } from './collateralAsset.js'
20
21
  export {
21
22
  buildOndoProvisionPayload,
@@ -38,5 +39,5 @@ export { mapOpenPositions, mapPosition } from './mapPosition.js'
38
39
  export { intervalFromBarSpan, mapInterval } from './ohlcvInterval.js'
39
40
  export { ondoAsset } from './ondoAsset.js'
40
41
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js'
41
- export { positionMarginConstraints } from './transferMargin.js'
42
+ export { positionRemovableMargin } from './transferMargin.js'
42
43
  export { ondoWithdrawableBalances } from './withdrawableBalances.js'
@@ -22,6 +22,8 @@ export const mapOrderStatus = (status: string): OrderStatus => {
22
22
  case 'open':
23
23
  case 'untriggered':
24
24
  return OrderStatus.OPEN
25
+ case 'pending':
26
+ return OrderStatus.PENDING
25
27
  case 'fullyfilled':
26
28
  return OrderStatus.FILLED
27
29
  case 'canceled':
@@ -7,6 +7,6 @@ import type { Position } from '@lifi/perps-types'
7
7
  * @see https://docs.ondo.finance/ondo-global-markets/perpetuals/trading/margin
8
8
  * @public
9
9
  */
10
- export function positionMarginConstraints(_position: Position): undefined {
10
+ export function positionRemovableMargin(_position: Position): undefined {
11
11
  return undefined
12
12
  }
@@ -9,17 +9,36 @@ import { toWireBig } from './decimal.js'
9
9
  * venue minimum.
10
10
  *
11
11
  * @param assetId - `Asset.id` the row is keyed by.
12
+ * @param withdrawalFeeUsd - The account's `withdrawalFeeUSD`. Ondo collateral
13
+ * is USDC, so the USD fee is the row fee 1:1 in collateral units. Absent
14
+ * leaves the row without a fee.
12
15
  * @public
13
16
  */
14
17
  export const ondoWithdrawableBalances = (
15
18
  assetId: string,
16
- balance: OndoBalanceSummary
19
+ balance: OndoBalanceSummary,
20
+ withdrawalFeeUsd?: string
17
21
  ): ProviderWithdrawableBalance[] => {
18
22
  const available = toWireBig(
19
23
  balance.withdrawableMargin,
20
24
  'balance.withdrawableMargin'
21
25
  )
22
- return available.gt(0)
23
- ? [{ assetId, route: 'perps', available: available.toFixed() }]
24
- : []
26
+ if (!available.gt(0)) {
27
+ return []
28
+ }
29
+ return [
30
+ {
31
+ assetId,
32
+ route: 'perps',
33
+ available: available.toFixed(),
34
+ ...(withdrawalFeeUsd === undefined
35
+ ? {}
36
+ : {
37
+ withdrawalFee: toWireBig(
38
+ withdrawalFeeUsd,
39
+ 'account.withdrawalFeeUSD'
40
+ ).toFixed(),
41
+ }),
42
+ },
43
+ ]
25
44
  }