@lifi/perps-sdk-provider-ondo 9.0.0 → 10.0.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 (67) hide show
  1. package/README.md +29 -0
  2. package/dist/cjs/OndoProvider.d.ts.map +1 -1
  3. package/dist/cjs/OndoProvider.js +26 -5
  4. package/dist/cjs/OndoProvider.js.map +1 -1
  5. package/dist/cjs/types/wire.d.ts +35 -0
  6. package/dist/cjs/types/wire.d.ts.map +1 -1
  7. package/dist/cjs/utils/depositAddress.d.ts.map +1 -1
  8. package/dist/cjs/utils/depositAddress.js +3 -0
  9. package/dist/cjs/utils/depositAddress.js.map +1 -1
  10. package/dist/cjs/utils/index.d.ts +1 -1
  11. package/dist/cjs/utils/index.d.ts.map +1 -1
  12. package/dist/cjs/utils/index.js +3 -1
  13. package/dist/cjs/utils/index.js.map +1 -1
  14. package/dist/cjs/utils/mapActivity.d.ts +5 -3
  15. package/dist/cjs/utils/mapActivity.d.ts.map +1 -1
  16. package/dist/cjs/utils/mapActivity.js +70 -12
  17. package/dist/cjs/utils/mapActivity.js.map +1 -1
  18. package/dist/cjs/utils/mapFill.d.ts.map +1 -1
  19. package/dist/cjs/utils/mapFill.js +4 -1
  20. package/dist/cjs/utils/mapFill.js.map +1 -1
  21. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  22. package/dist/cjs/utils/mapOrder.js +4 -2
  23. package/dist/cjs/utils/mapOrder.js.map +1 -1
  24. package/dist/esm/OndoProvider.d.ts.map +1 -1
  25. package/dist/esm/OndoProvider.js +44 -6
  26. package/dist/esm/OndoProvider.js.map +1 -1
  27. package/dist/esm/types/wire.d.ts +53 -0
  28. package/dist/esm/types/wire.d.ts.map +1 -1
  29. package/dist/esm/utils/depositAddress.d.ts +3 -2
  30. package/dist/esm/utils/depositAddress.d.ts.map +1 -1
  31. package/dist/esm/utils/depositAddress.js +6 -2
  32. package/dist/esm/utils/depositAddress.js.map +1 -1
  33. package/dist/esm/utils/index.d.ts +1 -1
  34. package/dist/esm/utils/index.d.ts.map +1 -1
  35. package/dist/esm/utils/index.js +1 -1
  36. package/dist/esm/utils/index.js.map +1 -1
  37. package/dist/esm/utils/mapActivity.d.ts +27 -6
  38. package/dist/esm/utils/mapActivity.d.ts.map +1 -1
  39. package/dist/esm/utils/mapActivity.js +93 -13
  40. package/dist/esm/utils/mapActivity.js.map +1 -1
  41. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  42. package/dist/esm/utils/mapFill.js +5 -1
  43. package/dist/esm/utils/mapFill.js.map +1 -1
  44. package/dist/esm/utils/mapOrder.d.ts +5 -1
  45. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  46. package/dist/esm/utils/mapOrder.js +10 -3
  47. package/dist/esm/utils/mapOrder.js.map +1 -1
  48. package/dist/types/OndoProvider.d.ts.map +1 -1
  49. package/dist/types/types/wire.d.ts +53 -0
  50. package/dist/types/types/wire.d.ts.map +1 -1
  51. package/dist/types/utils/depositAddress.d.ts +3 -2
  52. package/dist/types/utils/depositAddress.d.ts.map +1 -1
  53. package/dist/types/utils/index.d.ts +1 -1
  54. package/dist/types/utils/index.d.ts.map +1 -1
  55. package/dist/types/utils/mapActivity.d.ts +27 -6
  56. package/dist/types/utils/mapActivity.d.ts.map +1 -1
  57. package/dist/types/utils/mapFill.d.ts.map +1 -1
  58. package/dist/types/utils/mapOrder.d.ts +5 -1
  59. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  60. package/package.json +3 -3
  61. package/src/OndoProvider.ts +78 -28
  62. package/src/types/wire.ts +63 -0
  63. package/src/utils/depositAddress.ts +6 -2
  64. package/src/utils/index.ts +6 -1
  65. package/src/utils/mapActivity.ts +106 -13
  66. package/src/utils/mapFill.ts +5 -1
  67. package/src/utils/mapOrder.ts +12 -3
@@ -2,6 +2,8 @@ import { OrderSide, OrderStatus, OrderType, TimeInForce, } from '@lifi/perps-typ
2
2
  import Big from 'big.js';
3
3
  const toIso = (time) => new Date(time).toISOString();
4
4
  const mapSide = (side) => side === 'buy' ? OrderSide.BUY : OrderSide.SELL;
5
+ /** Resting quantity: submitted size minus filled size, in base-asset units. */
6
+ const deriveRemainingSize = (size, filledSize) => new Big(size).minus(filledSize).toFixed();
5
7
  /** @public */
6
8
  export const mapOrderType = (type) => {
7
9
  switch (type) {
@@ -61,13 +63,18 @@ export const isTriggerOrder = (order) => order.type === 'stopMarket' ||
61
63
  order.type === 'takeProfitMarket' ||
62
64
  order.stopOrderType !== undefined ||
63
65
  order.triggerPrice !== undefined;
64
- /** Map an active non-trigger Ondo order to an {@link OpenOrder}. @public */
66
+ /**
67
+ * Map an active non-trigger Ondo order to an {@link OpenOrder}. Ondo reports
68
+ * the submitted and filled quantities only, so `remainingSize` is derived.
69
+ * @public
70
+ */
65
71
  export const mapOrder = (order, market) => ({
66
72
  orderId: order.orderId,
67
73
  market,
68
74
  side: mapSide(order.side),
69
75
  type: mapOrderType(order.type),
70
- size: order.size,
76
+ originalSize: new Big(order.size).toFixed(),
77
+ remainingSize: deriveRemainingSize(order.size, order.filledSize),
71
78
  price: order.price,
72
79
  filledSize: order.filledSize,
73
80
  reduceOnly: order.reduceOnly ?? false,
@@ -131,7 +138,7 @@ export const mapOrderDetail = (order, market) => {
131
138
  type: mapOrderType(order.type),
132
139
  price: order.price,
133
140
  originalSize: order.size,
134
- remainingSize: new Big(order.size).minus(filled).toFixed(),
141
+ remainingSize: deriveRemainingSize(order.size, order.filledSize),
135
142
  filledSize: order.filledSize,
136
143
  timeInForce: order.timeInForce === undefined
137
144
  ? undefined
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OndoProvider.d.ts","sourceRoot":"","sources":["../../src/OndoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAgBxB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAA;AA6ExB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,GACvB,UAAS,mBAAwB,KAChC,mBA8mBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAtnBN,mBAAmB,KAC3B,mBAqnB6B,CAAA"}
1
+ {"version":3,"file":"OndoProvider.d.ts","sourceRoot":"","sources":["../../src/OndoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAgBxB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAA;AAmFxB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,GACvB,UAAS,mBAAwB,KAChC,mBA0pBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAlqBN,mBAAmB,KAC3B,mBAiqB6B,CAAA"}
@@ -238,4 +238,57 @@ export interface OndoAccountInfo {
238
238
  privacyUnixSecs: number;
239
239
  marketingConsent: string;
240
240
  }
241
+ /** @public */
242
+ export type OndoDepositStatus = 'pending' | 'confirmed';
243
+ /**
244
+ * Mirrors Ondo's `WalletDeposit` (the `GET /v1/wallet/deposits` result).
245
+ * Carries no id of its own — Ondo addresses a single deposit by `txid`.
246
+ * @public
247
+ */
248
+ export interface OndoWalletDeposit {
249
+ coin: string;
250
+ size: string;
251
+ status: OndoDepositStatus;
252
+ txid: string;
253
+ fromAddress: string;
254
+ time: string;
255
+ chainId: string;
256
+ usdValue: string;
257
+ currentConfirmations?: number;
258
+ requiredConfirmations?: number;
259
+ accountId?: string;
260
+ /** Disambiguates two deposits carried by one transaction. */
261
+ logIndex?: string;
262
+ }
263
+ /** @public */
264
+ export type OndoWithdrawalStatus = 'complete' | 'failure' | 'pending' | 'cancelled' | 'unknown';
265
+ /**
266
+ * Mirrors Ondo's `WalletWithdrawal` (the `GET /v1/wallet/withdrawals` result).
267
+ * @public
268
+ */
269
+ export interface OndoWalletWithdrawal {
270
+ coin: string;
271
+ size: string;
272
+ status: OndoWithdrawalStatus;
273
+ address: string;
274
+ withdrawal_id: string;
275
+ txid: string;
276
+ customer_withdrawal_id: string;
277
+ time: string;
278
+ chainId: string;
279
+ accountId?: string;
280
+ usdValue?: string;
281
+ /** Fee in USD, not in the withdrawn asset. */
282
+ usdFee?: string;
283
+ from?: OndoAccountWalletKey;
284
+ }
285
+ /**
286
+ * One side of an Ondo value movement: an account id plus which of that
287
+ * account's two wallets held the value.
288
+ * @public
289
+ */
290
+ export interface OndoAccountWalletKey {
291
+ id: string;
292
+ wallet: 'main' | 'margin';
293
+ }
241
294
  //# sourceMappingURL=wire.d.ts.map
@@ -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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"}
@@ -24,8 +24,9 @@ export interface OndoDepositAddressRecord {
24
24
  }
25
25
  /**
26
26
  * Extract the canonical Ethereum USDC address from Ondo's list response.
27
- * An empty list is a valid, unsatisfied setup state; malformed records are
28
- * errors so an API/schema failure cannot be mistaken for an absent address.
27
+ * A `null` result and an empty list are both valid, unsatisfied setup states;
28
+ * malformed records are errors so an API/schema failure cannot be mistaken for
29
+ * an absent address.
29
30
  */
30
31
  export declare const parseOndoDepositAddress: (result: unknown) => Address | null;
31
32
  /** Query Ondo's authenticated Ethereum USDC deposit-address list. */
@@ -1 +1 @@
1
- {"version":3,"file":"depositAddress.d.ts","sourceRoot":"","sources":["../../../src/utils/depositAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB;;;;;;CAItB,CAAA;AAEV,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAA;CACzC,CAAA;AAED,gBAAgB;AAChB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAsBD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,KAAG,OAAO,GAAG,IAoBnE,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,GACjC,QAAQ,aAAa,EACrB,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,GAAG,IAAI,CAOtB,CAAA;AAgBH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,WAAW,MAAM,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAoBxB,CAAA"}
1
+ {"version":3,"file":"depositAddress.d.ts","sourceRoot":"","sources":["../../../src/utils/depositAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB;;;;;;CAItB,CAAA;AAEV,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAA;CACzC,CAAA;AAED,gBAAgB;AAChB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAyBD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,KAAG,OAAO,GAAG,IAoBnE,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,GACjC,QAAQ,aAAa,EACrB,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,GAAG,IAAI,CAOtB,CAAA;AAgBH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,WAAW,MAAM,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAoBxB,CAAA"}
@@ -2,7 +2,7 @@ export { decodeActivityCursor, encodeActivityCursor, type OndoActivityCursor, }
2
2
  export { type ApiParams, ONDO_RETRY_DEFAULTS, OndoApiClient, type OndoApiClientOptions, OndoApiError, type OndoHttpMethod, type OndoPage, type OndoRequestOptions, OndoSessionExpiredError, } from './apiClient.js';
3
3
  export { buildOndoProvisionPayload, listOndoDepositAddress, ONDO_DEPOSIT_POLICY, type OndoDepositAddressRecord, type OndoDepositPolicyMarker, parseOndoDepositAddress, } from './depositAddress.js';
4
4
  export { estimateLiquidationPrice } from './liquidation.js';
5
- export { mapFundingActivity, mapLiquidationActivity } from './mapActivity.js';
5
+ export { mapDepositActivity, mapFundingActivity, mapLiquidationActivity, mapWithdrawalActivity, } from './mapActivity.js';
6
6
  export { mapFill } from './mapFill.js';
7
7
  export { classifyAndMapOrders, isTriggerOrder, mapOrder, mapOrderDetail, mapOrderStatus, mapOrderType, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
8
8
  export { mapOpenPositions, mapPosition } from './mapPosition.js';
@@ -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,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,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,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"}
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,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,EACL,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,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"}
@@ -1,5 +1,5 @@
1
- import type { FundingActivity, LiquidationActivity, MarketDisplay } from '@lifi/perps-types';
2
- import type { OndoFundingFeeTransfer, OndoLiquidationEvent } from '../types/wire.js';
1
+ import type { DepositActivity, FundingActivity, LiquidationActivity, MarketDisplay, WithdrawalActivity } from '@lifi/perps-types';
2
+ import type { OndoFundingFeeTransfer, OndoLiquidationEvent, OndoWalletDeposit, OndoWalletWithdrawal } from '../types/wire.js';
3
3
  /**
4
4
  * Map an Ondo funding-fee transfer to a {@link FundingActivity}. Ondo carries
5
5
  * no transfer id on the wire, so a deterministic `funding:<market>:<ISO time>`
@@ -11,11 +11,32 @@ import type { OndoFundingFeeTransfer, OndoLiquidationEvent } from '../types/wire
11
11
  */
12
12
  export declare const mapFundingActivity: (transfer: OndoFundingFeeTransfer, market: MarketDisplay) => FundingActivity;
13
13
  /**
14
- * Map an Ondo liquidation event to a {@link LiquidationActivity}. Ondo does
15
- * not report the account value at liquidation time, and its margin accounts
16
- * are cross-only, so `accountValue` is `'0'` and `leverageType` is `'cross'`.
14
+ * Map an Ondo liquidation event to a {@link LiquidationActivity}, or `null`
15
+ * when the event names no triggering position. Ondo margin accounts are
16
+ * cross-only, so `leverageType` is always `'cross'`. Ondo reports no account
17
+ * value at liquidation time, so `accountValue` stays absent. One Ondo event
18
+ * carries the whole cross-margin cascade in `triggeringPositions`, so every
19
+ * liquidated market and size reaches `liquidatedPositions`.
17
20
  *
18
21
  * @public
19
22
  */
20
- export declare const mapLiquidationActivity: (event: OndoLiquidationEvent, resolveMarket: (market: string) => MarketDisplay) => LiquidationActivity;
23
+ export declare const mapLiquidationActivity: (event: OndoLiquidationEvent, resolveMarket: (market: string) => MarketDisplay) => LiquidationActivity | null;
24
+ /**
25
+ * Map an Ondo wallet deposit to a {@link DepositActivity}. Ondo carries no
26
+ * deposit id on the wire and addresses a single deposit by transaction id, so
27
+ * the id is `deposit:<txid>`, suffixed with `logIndex` when one transaction
28
+ * carried several deposits. `coin` is already a display symbol, so it is the
29
+ * normalized asset identity.
30
+ *
31
+ * @public
32
+ */
33
+ export declare const mapDepositActivity: (deposit: OndoWalletDeposit) => DepositActivity;
34
+ /**
35
+ * Map an Ondo wallet withdrawal to a {@link WithdrawalActivity}, or `null`
36
+ * when the venue reports a status under which no value left the account. Ondo
37
+ * charges the fee in USD, so `fee.asset` is `USD` and not the withdrawn asset.
38
+ *
39
+ * @public
40
+ */
41
+ export declare const mapWithdrawalActivity: (withdrawal: OndoWalletWithdrawal) => WithdrawalActivity | null;
21
42
  //# sourceMappingURL=mapActivity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,aAAa,EACd,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAEzB;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,sBAAsB,EAChC,QAAQ,aAAa,KACpB,eAYF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,oBAAoB,EAC3B,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,KAC/C,mBAYD,CAAA"}
1
+ {"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAEzB;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,sBAAsB,EAChC,QAAQ,aAAa,KACpB,eAYF,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,oBAAoB,EAC3B,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,KAC/C,mBAAmB,GAAG,IAmBxB,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,KACzB,eAUD,CAAA;AAWF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,oBAAoB,KAC/B,kBAAkB,GAAG,IAwBvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ5D,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,kBAAkB,CAAA;AAYnE;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,QAAQ,EAAE,QAAQ,aAAa,KAAG,IAkB9D,CAAA"}
1
+ {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ5D,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,kBAAkB,CAAA;AAYnE;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,QAAQ,EAAE,QAAQ,aAAa,KAAG,IAsB9D,CAAA"}
@@ -24,7 +24,11 @@ export declare const mapStatusReason: (order: OndoOrder) => string | undefined;
24
24
  * @public
25
25
  */
26
26
  export declare const isTriggerOrder: (order: OndoOrder) => boolean;
27
- /** Map an active non-trigger Ondo order to an {@link OpenOrder}. @public */
27
+ /**
28
+ * Map an active non-trigger Ondo order to an {@link OpenOrder}. Ondo reports
29
+ * the submitted and filled quantities only, so `remainingSize` is derived.
30
+ * @public
31
+ */
28
32
  export declare const mapOrder: (order: OndoOrder, market: MarketDisplay) => OpenOrder;
29
33
  /** Map an active trigger Ondo order to a {@link TriggerOrder}. @public */
30
34
  export declare const mapTriggerOrder: (order: OndoOrder, market: MarketDisplay) => TriggerOrder;
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAA;AAOzB,cAAc;AACd,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,KAAG,SAWlD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,eAAe,KAAG,WAYxD,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,SAK3D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,OAIhB,CAAA;AAElC,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,GACnB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,SAUD,CAAA;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,YAOD,CAAA;AAOF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EAAE,EACnB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAC3D;IACD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CAqBrB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,KA+BF,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAA;AAWzB,cAAc;AACd,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,KAAG,SAWlD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,eAAe,KAAG,WAYxD,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,SAK3D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,OAIhB,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,SAWD,CAAA;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,YAOD,CAAA;AAOF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EAAE,EACnB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAC3D;IACD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CAqBrB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,KA+BF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-ondo",
3
- "version": "9.0.0",
3
+ "version": "10.0.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": "^9.0.0"
47
+ "@lifi/perps-types": "^10.0.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@lifi/perps-sdk": "^8.0.0"
50
+ "@lifi/perps-sdk": "^9.0.0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
@@ -35,6 +35,7 @@ import type {
35
35
  ActivitiesResponse,
36
36
  ActivityItem,
37
37
  FillsResponse,
38
+ LiquidationActivity,
38
39
  MarketDisplay,
39
40
  OndoAccountConfig,
40
41
  Order,
@@ -47,6 +48,7 @@ import type {
47
48
  SignedActionStep,
48
49
  SigningMethod,
49
50
  TwapOrder,
51
+ WithdrawalActivity,
50
52
  } from '@lifi/perps-types'
51
53
  import { ActionType, ActivityType, PerpsErrorCode } from '@lifi/perps-types'
52
54
  import type { Address } from 'viem'
@@ -73,6 +75,8 @@ import type {
73
75
  OndoOrder,
74
76
  OndoPosition,
75
77
  OndoTwapOrder,
78
+ OndoWalletDeposit,
79
+ OndoWalletWithdrawal,
76
80
  } from './types/wire.js'
77
81
  import {
78
82
  decodeActivityCursor,
@@ -92,11 +96,13 @@ import {
92
96
  formatOrderPrice,
93
97
  formatOrderSize,
94
98
  listOndoDepositAddress,
99
+ mapDepositActivity,
95
100
  mapFill,
96
101
  mapFundingActivity,
97
102
  mapLiquidationActivity,
98
103
  mapOpenPositions,
99
104
  mapOrderDetail,
105
+ mapWithdrawalActivity,
100
106
  positionMarginConstraints,
101
107
  } from './utils/index.js'
102
108
  import { mapRunningTwap } from './utils/mapTwap.js'
@@ -258,7 +264,7 @@ export const ondoProvider = (
258
264
  client.get<OndoBalanceSummary>('/v1/perps/balance', {
259
265
  authToken: token.token,
260
266
  }),
261
- client.get<OndoPosition[]>('/v1/perps/positions', {
267
+ client.get<OndoPosition[] | null>('/v1/perps/positions', {
262
268
  authToken: token.token,
263
269
  }),
264
270
  client.get<OndoAccountReferral | null>('/v1/account/referral', {
@@ -286,7 +292,7 @@ export const ondoProvider = (
286
292
  }
287
293
 
288
294
  const positions: Position[] = mapOpenPositions(
289
- rawPositions,
295
+ rawPositions ?? [],
290
296
  requirePerpsMarketDisplay
291
297
  )
292
298
 
@@ -385,14 +391,14 @@ export const ondoProvider = (
385
391
  async (token) => {
386
392
  const client = apiClient(opts)
387
393
  const [rawPositions] = await Promise.all([
388
- client.get<OndoPosition[]>('/v1/perps/positions', {
394
+ client.get<OndoPosition[] | null>('/v1/perps/positions', {
389
395
  authToken: token.token,
390
396
  }),
391
397
  marketRegistry().sync(),
392
398
  ])
393
399
 
394
400
  let positions: Position[] = mapOpenPositions(
395
- rawPositions,
401
+ rawPositions ?? [],
396
402
  requirePerpsMarketDisplay
397
403
  )
398
404
  if (params.marketId !== undefined) {
@@ -580,6 +586,9 @@ export const ondoProvider = (
580
586
  const inputCursor = decodeActivityCursor(params.cursor)
581
587
  const client = apiClient(opts)
582
588
 
589
+ // Ondo publishes no account-to-account transfer history. Its
590
+ // transfer surface moves value between the main and margin wallets
591
+ // of one account, which `TransferActivity` excludes.
583
592
  const wantsType = (t: ActivityType): boolean =>
584
593
  params.type === undefined || params.type.includes(t)
585
594
  const shouldFetch = (
@@ -595,6 +604,13 @@ export const ondoProvider = (
595
604
  const v = inputCursor[key]
596
605
  return typeof v === 'string' && v.length > 0
597
606
  }
607
+ // `/v1/wallet/deposits` and `/v1/wallet/withdrawals` accept no
608
+ // cursor and return the whole history in one response, so each is
609
+ // fetched on the first page only. Its tail rides the cursor's
610
+ // `overflow` list, which is what keeps a later page from either
611
+ // re-fetching the list or losing the rows past the limit.
612
+ const shouldFetchOnce = (t: ActivityType): boolean =>
613
+ wantsType(t) && inputCursor === undefined
598
614
  const cursorParams = (
599
615
  key: 'fundings' | 'liquidations'
600
616
  ): ApiParams => {
@@ -606,40 +622,74 @@ export const ondoProvider = (
606
622
  pageInfo: undefined,
607
623
  })
608
624
 
609
- const [fundings, liquidations] = await Promise.all([
610
- shouldFetch(ActivityType.FUNDING, 'fundings')
611
- ? client.getPage<OndoFundingFeeTransfer>(
612
- '/v1/perps/funding_fees',
613
- {
614
- params: cursorParams('fundings'),
615
- authToken: token.token,
616
- }
617
- )
618
- : Promise.resolve(emptyPage<OndoFundingFeeTransfer>()),
619
- shouldFetch(ActivityType.LIQUIDATION, 'liquidations')
620
- ? client.getPage<OndoLiquidationEvent>(
621
- '/v1/perps/liquidation_history',
622
- {
623
- params: cursorParams('liquidations'),
624
- authToken: token.token,
625
- }
626
- )
627
- : Promise.resolve(emptyPage<OndoLiquidationEvent>()),
628
- marketRegistry().sync(),
629
- ])
625
+ const [fundings, liquidations, deposits, withdrawals] =
626
+ await Promise.all([
627
+ shouldFetch(ActivityType.FUNDING, 'fundings')
628
+ ? client.getPage<OndoFundingFeeTransfer>(
629
+ '/v1/perps/funding_fees',
630
+ {
631
+ params: cursorParams('fundings'),
632
+ authToken: token.token,
633
+ }
634
+ )
635
+ : Promise.resolve(emptyPage<OndoFundingFeeTransfer>()),
636
+ shouldFetch(ActivityType.LIQUIDATION, 'liquidations')
637
+ ? client.getPage<OndoLiquidationEvent>(
638
+ '/v1/perps/liquidation_history',
639
+ {
640
+ params: cursorParams('liquidations'),
641
+ authToken: token.token,
642
+ }
643
+ )
644
+ : Promise.resolve(emptyPage<OndoLiquidationEvent>()),
645
+ shouldFetchOnce(ActivityType.DEPOSIT)
646
+ ? client.get<OndoWalletDeposit[] | null>(
647
+ '/v1/wallet/deposits',
648
+ {
649
+ authToken: token.token,
650
+ }
651
+ )
652
+ : Promise.resolve(null),
653
+ shouldFetchOnce(ActivityType.WITHDRAWAL)
654
+ ? client.get<OndoWalletWithdrawal[] | null>(
655
+ '/v1/wallet/withdrawals',
656
+ { authToken: token.token }
657
+ )
658
+ : Promise.resolve(null),
659
+ // Only the funding and liquidation rows name a market. A ledger
660
+ // request alone must not pull the market list.
661
+ wantsType(ActivityType.FUNDING) ||
662
+ wantsType(ActivityType.LIQUIDATION)
663
+ ? marketRegistry().sync()
664
+ : Promise.resolve(),
665
+ ])
630
666
 
631
667
  const items: ActivityItem[] = [
632
668
  ...fundings.result.map((f) =>
633
669
  mapFundingActivity(f, requireMarketDisplay(f.market))
634
670
  ),
635
- ...liquidations.result.map((l) =>
636
- mapLiquidationActivity(l, requireMarketDisplay)
637
- ),
671
+ // A liquidation event that names no position is dropped: the
672
+ // public contract guarantees a non-empty `liquidatedPositions`.
673
+ ...liquidations.result
674
+ .map((l) => mapLiquidationActivity(l, requireMarketDisplay))
675
+ .filter((a): a is LiquidationActivity => a !== null),
676
+ ...(deposits ?? []).map(mapDepositActivity),
677
+ // A withdrawal Ondo reports as failed or cancelled moved no value,
678
+ // and `WithdrawalActivity` carries no status to say so.
679
+ ...(withdrawals ?? [])
680
+ .map(mapWithdrawalActivity)
681
+ .filter((a): a is WithdrawalActivity => a !== null),
638
682
  ]
639
683
 
640
684
  const merged = [...(inputCursor?.overflow ?? []), ...items]
641
685
 
686
+ // The type filter also applies to replayed overflow rows: a cursor
687
+ // minted under one filter must never leak another surface's rows
688
+ // when the caller pages the two surfaces independently.
642
689
  const filtered = merged.filter((it) => {
690
+ if (!wantsType(it.type)) {
691
+ return false
692
+ }
643
693
  const ts = new Date(it.timestamp).getTime()
644
694
  if (params.startTime !== undefined && ts < params.startTime) {
645
695
  return false
package/src/types/wire.ts CHANGED
@@ -274,3 +274,66 @@ export interface OndoAccountInfo {
274
274
  privacyUnixSecs: number
275
275
  marketingConsent: string
276
276
  }
277
+
278
+ /** @public */
279
+ export type OndoDepositStatus = 'pending' | 'confirmed'
280
+
281
+ /**
282
+ * Mirrors Ondo's `WalletDeposit` (the `GET /v1/wallet/deposits` result).
283
+ * Carries no id of its own — Ondo addresses a single deposit by `txid`.
284
+ * @public
285
+ */
286
+ export interface OndoWalletDeposit {
287
+ coin: string
288
+ size: string
289
+ status: OndoDepositStatus
290
+ txid: string
291
+ fromAddress: string
292
+ time: string
293
+ chainId: string
294
+ usdValue: string
295
+ currentConfirmations?: number
296
+ requiredConfirmations?: number
297
+ accountId?: string
298
+ /** Disambiguates two deposits carried by one transaction. */
299
+ logIndex?: string
300
+ }
301
+
302
+ /** @public */
303
+ export type OndoWithdrawalStatus =
304
+ | 'complete'
305
+ | 'failure'
306
+ | 'pending'
307
+ | 'cancelled'
308
+ | 'unknown'
309
+
310
+ /**
311
+ * Mirrors Ondo's `WalletWithdrawal` (the `GET /v1/wallet/withdrawals` result).
312
+ * @public
313
+ */
314
+ export interface OndoWalletWithdrawal {
315
+ coin: string
316
+ size: string
317
+ status: OndoWithdrawalStatus
318
+ address: string
319
+ withdrawal_id: string
320
+ txid: string
321
+ customer_withdrawal_id: string
322
+ time: string
323
+ chainId: string
324
+ accountId?: string
325
+ usdValue?: string
326
+ /** Fee in USD, not in the withdrawn asset. */
327
+ usdFee?: string
328
+ from?: OndoAccountWalletKey
329
+ }
330
+
331
+ /**
332
+ * One side of an Ondo value movement: an account id plus which of that
333
+ * account's two wallets held the value.
334
+ * @public
335
+ */
336
+ export interface OndoAccountWalletKey {
337
+ id: string
338
+ wallet: 'main' | 'margin'
339
+ }
@@ -30,6 +30,9 @@ const malformed = (message: string): OndoApiError =>
30
30
  new OndoApiError(`Ondo deposit-address response is malformed: ${message}`)
31
31
 
32
32
  const entriesFromResult = (result: unknown): unknown[] => {
33
+ if (result === null) {
34
+ return []
35
+ }
33
36
  if (Array.isArray(result)) {
34
37
  return result
35
38
  }
@@ -45,8 +48,9 @@ const entriesFromResult = (result: unknown): unknown[] => {
45
48
 
46
49
  /**
47
50
  * Extract the canonical Ethereum USDC address from Ondo's list response.
48
- * An empty list is a valid, unsatisfied setup state; malformed records are
49
- * errors so an API/schema failure cannot be mistaken for an absent address.
51
+ * A `null` result and an empty list are both valid, unsatisfied setup states;
52
+ * malformed records are errors so an API/schema failure cannot be mistaken for
53
+ * an absent address.
50
54
  */
51
55
  export const parseOndoDepositAddress = (result: unknown): Address | null => {
52
56
  const entries = entriesFromResult(result)
@@ -25,7 +25,12 @@ export {
25
25
  parseOndoDepositAddress,
26
26
  } from './depositAddress.js'
27
27
  export { estimateLiquidationPrice } from './liquidation.js'
28
- export { mapFundingActivity, mapLiquidationActivity } from './mapActivity.js'
28
+ export {
29
+ mapDepositActivity,
30
+ mapFundingActivity,
31
+ mapLiquidationActivity,
32
+ mapWithdrawalActivity,
33
+ } from './mapActivity.js'
29
34
  export { mapFill } from './mapFill.js'
30
35
  export {
31
36
  classifyAndMapOrders,