@lifi/perps-sdk-provider-ondo 20.0.0 → 20.2.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 (62) hide show
  1. package/dist/cjs/OndoProvider.d.ts.map +1 -1
  2. package/dist/cjs/OndoProvider.js +40 -5
  3. package/dist/cjs/OndoProvider.js.map +1 -1
  4. package/dist/cjs/accountConfig.d.ts.map +1 -1
  5. package/dist/cjs/accountConfig.js +1 -0
  6. package/dist/cjs/accountConfig.js.map +1 -1
  7. package/dist/cjs/auth/signActions.d.ts +1 -1
  8. package/dist/cjs/auth/signActions.d.ts.map +1 -1
  9. package/dist/cjs/auth/signActions.js +32 -5
  10. package/dist/cjs/auth/signActions.js.map +1 -1
  11. package/dist/cjs/constants.d.ts +1 -0
  12. package/dist/cjs/constants.d.ts.map +1 -1
  13. package/dist/cjs/constants.js +2 -1
  14. package/dist/cjs/constants.js.map +1 -1
  15. package/dist/cjs/types/wire.d.ts +8 -0
  16. package/dist/cjs/types/wire.d.ts.map +1 -1
  17. package/dist/cjs/utils/apiClient.js +3 -3
  18. package/dist/cjs/utils/apiClient.js.map +1 -1
  19. package/dist/cjs/utils/ondoErrorCode.d.ts +5 -1
  20. package/dist/cjs/utils/ondoErrorCode.d.ts.map +1 -1
  21. package/dist/cjs/utils/ondoErrorCode.js +48 -6
  22. package/dist/cjs/utils/ondoErrorCode.js.map +1 -1
  23. package/dist/esm/OndoProvider.d.ts.map +1 -1
  24. package/dist/esm/OndoProvider.js +42 -2
  25. package/dist/esm/OndoProvider.js.map +1 -1
  26. package/dist/esm/accountConfig.d.ts.map +1 -1
  27. package/dist/esm/accountConfig.js +1 -0
  28. package/dist/esm/accountConfig.js.map +1 -1
  29. package/dist/esm/auth/signActions.d.ts +1 -1
  30. package/dist/esm/auth/signActions.d.ts.map +1 -1
  31. package/dist/esm/auth/signActions.js +39 -7
  32. package/dist/esm/auth/signActions.js.map +1 -1
  33. package/dist/esm/constants.d.ts +6 -0
  34. package/dist/esm/constants.d.ts.map +1 -1
  35. package/dist/esm/constants.js +6 -0
  36. package/dist/esm/constants.js.map +1 -1
  37. package/dist/esm/types/wire.d.ts +14 -0
  38. package/dist/esm/types/wire.d.ts.map +1 -1
  39. package/dist/esm/utils/apiClient.js +4 -4
  40. package/dist/esm/utils/apiClient.js.map +1 -1
  41. package/dist/esm/utils/ondoErrorCode.d.ts +11 -3
  42. package/dist/esm/utils/ondoErrorCode.d.ts.map +1 -1
  43. package/dist/esm/utils/ondoErrorCode.js +48 -6
  44. package/dist/esm/utils/ondoErrorCode.js.map +1 -1
  45. package/dist/types/OndoProvider.d.ts.map +1 -1
  46. package/dist/types/accountConfig.d.ts.map +1 -1
  47. package/dist/types/auth/signActions.d.ts +1 -1
  48. package/dist/types/auth/signActions.d.ts.map +1 -1
  49. package/dist/types/constants.d.ts +6 -0
  50. package/dist/types/constants.d.ts.map +1 -1
  51. package/dist/types/types/wire.d.ts +14 -0
  52. package/dist/types/types/wire.d.ts.map +1 -1
  53. package/dist/types/utils/ondoErrorCode.d.ts +11 -3
  54. package/dist/types/utils/ondoErrorCode.d.ts.map +1 -1
  55. package/package.json +3 -3
  56. package/src/OndoProvider.ts +76 -3
  57. package/src/accountConfig.ts +1 -0
  58. package/src/auth/signActions.ts +61 -10
  59. package/src/constants.ts +7 -0
  60. package/src/types/wire.ts +16 -0
  61. package/src/utils/apiClient.ts +5 -5
  62. package/src/utils/ondoErrorCode.ts +62 -8
@@ -1 +1 @@
1
- {"version":3,"file":"ondoErrorCode.js","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,4FAA4F;AAC5F,MAAM,qBAAqB,GAAwC,IAAI,GAAG,CAAC;IACzE,CAAC,qBAAqB,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAC1D,CAAC,yBAAyB,EAAE,cAAc,CAAC,gBAAgB,CAAC;CAC7D,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,SAA6B,EACD,EAAE,CAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"ondoErrorCode.js","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAWlD,4FAA4F;AAC5F,MAAM,gBAAgB,GAAuC,IAAI,GAAG,CAAC;IACnE,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC;IACpE,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAE,CAAC;IACtE;QACE,WAAW;QACX;YACE,IAAI,EAAE,cAAc,CAAC,eAAe;YACpC,OAAO,EAAE,6CAA6C;SACvD;KACF;IACD;QACE,aAAa;QACb;YACE,IAAI,EAAE,cAAc,CAAC,eAAe;YACpC,OAAO,EAAE,2CAA2C;SACrD;KACF;IACD;QACE,wBAAwB;QACxB;YACE,IAAI,EAAE,cAAc,CAAC,eAAe;YACpC,OAAO,EAAE,oDAAoD;SAC9D;KACF;IACD;QACE,6BAA6B;QAC7B;YACE,IAAI,EAAE,cAAc,CAAC,eAAe;YACpC,OAAO,EACL,uEAAuE;SAC1E;KACF;IACD;QACE,qBAAqB;QACrB;YACE,IAAI,EAAE,cAAc,CAAC,YAAY;YACjC,OAAO,EACL,iFAAiF;SACpF;KACF;IACD;QACE,8BAA8B;QAC9B;YACE,IAAI,EAAE,cAAc,CAAC,aAAa;YAClC,OAAO,EACL,+FAA+F;SAClG;KACF;CACF,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAA6B,EACF,EAAE,CAC7B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OndoProvider.d.ts","sourceRoot":"","sources":["../../src/OndoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,mBAAmB,EAoBxB,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAA;AAoGxB;;;;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,mBA44BF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAp5BN,mBAAmB,KAC3B,mBAm5B6B,CAAA"}
1
+ {"version":3,"file":"OndoProvider.d.ts","sourceRoot":"","sources":["../../src/OndoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,mBAAmB,EAqBxB,KAAK,cAAc,EAKpB,MAAM,iBAAiB,CAAA;AA6GxB;;;;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,mBAy8BF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAj9BN,mBAAmB,KAC3B,mBAg9B6B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAEpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAuG1B;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAUxB"}
1
+ {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAEpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAwG1B;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAUxB"}
@@ -1,7 +1,7 @@
1
1
  import { type SignActionsContext } from '@lifi/perps-sdk';
2
2
  import type { ActionStep, SignedActionStep } from '@lifi/perps-types';
3
3
  import { SigningMethod } from '@lifi/perps-types';
4
- import type { Address } from 'viem';
4
+ import { type Address } from 'viem';
5
5
  import { type OndoApiClient } from '../utils/apiClient.js';
6
6
  import { type OndoApiKeyStore } from './OndoApiKeyStore.js';
7
7
  import type { OndoTokenStore } from './OndoTokenStore.js';
@@ -1 +1 @@
1
- {"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/auth/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EAIV,gBAAgB,EAEjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AASnC,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,uBAAuB,CAAA;AAO9B,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,cAAc,CAAA;IAC1B,WAAW,EAAE,eAAe,CAAA;CAC7B;AA8HD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmI7B"}
1
+ {"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/auth/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EAIV,gBAAgB,EAEjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,MAAM,CAAA;AAU/C,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,cAAc,CAAA;IAC1B,WAAW,EAAE,eAAe,CAAA;CAC7B;AAiLD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA+H7B"}
@@ -56,4 +56,10 @@ export declare const ONDO_TERMS_VERSION = 1;
56
56
  * @public
57
57
  */
58
58
  export declare const ONDO_PRIVACY_VERSION = 1;
59
+ /**
60
+ * Label Ondo shows on the address book entry the SDK adds for withdrawals.
61
+ *
62
+ * @public
63
+ */
64
+ export declare const ONDO_WITHDRAWAL_ADDRESS_LABEL = "LI.FI";
59
65
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAS,CAAA;AAEvC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,sCAAsC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,+BAA+B,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;CAG9B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,UAAY,CAAA;AAE5C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAS,CAAA;AAEvC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,sCAAsC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,+BAA+B,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;CAG9B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,UAAY,CAAA;AAE5C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,UAAU,CAAA"}
@@ -290,6 +290,20 @@ export interface OndoWalletWithdrawal {
290
290
  usdFee?: string;
291
291
  from?: OndoAccountWalletKey;
292
292
  }
293
+ /** Mirrors Ondo's `AddressBookEntry` (one `GET /v1/wallet/address_book` row). @public */
294
+ export interface OndoAddressBookEntry {
295
+ withdrawalAddress: string;
296
+ label: string;
297
+ lastUpdated: string;
298
+ }
299
+ /**
300
+ * Mirrors Ondo's `AddressBookResult`. The venue sends `null` for an empty
301
+ * address book.
302
+ * @public
303
+ */
304
+ export interface OndoAddressBookResult {
305
+ addressBook: OndoAddressBookEntry[] | null;
306
+ }
293
307
  /**
294
308
  * One side of an Ondo value movement: an account id plus which of that
295
309
  * account's two wallets held the value.
@@ -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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"}
@@ -1,7 +1,15 @@
1
1
  import { PerpsErrorCode } from '@lifi/perps-types';
2
2
  /**
3
- * Maps an Ondo envelope `error_code` to the `PerpsErrorCode` it names. Returns
4
- * `undefined` for every other code so the status-driven layer decides.
3
+ * The classification of an Ondo envelope `error_code`. `message` replaces the
4
+ * venue's own text when that text does not tell the caller what to do.
5
5
  */
6
- export declare const ondoErrorCodeFromBody: (errorCode: string | undefined) => PerpsErrorCode | undefined;
6
+ export interface OndoBodyError {
7
+ code: PerpsErrorCode;
8
+ message?: string;
9
+ }
10
+ /**
11
+ * Classifies an Ondo envelope `error_code`. Returns `undefined` for every other
12
+ * code so the status-driven layer decides.
13
+ */
14
+ export declare const ondoErrorFromBody: (errorCode: string | undefined) => OndoBodyError | undefined;
7
15
  //# sourceMappingURL=ondoErrorCode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ondoErrorCode.d.ts","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAQlD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,GAAG,SAAS,KAC5B,cAAc,GAAG,SACwD,CAAA"}
1
+ {"version":3,"file":"ondoErrorCode.d.ts","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAqDD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,GAAG,SAAS,KAC5B,aAAa,GAAG,SACoD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-ondo",
3
- "version": "20.0.0",
3
+ "version": "20.2.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": "^16.0.0"
47
+ "@lifi/perps-types": "^16.2.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@lifi/perps-sdk": "^18.0.0"
50
+ "@lifi/perps-sdk": "^18.1.0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  ACTIVE_ORDER_STATUSES,
3
+ type ActionSignerContribution,
3
4
  createWarnOnce,
4
5
  type DepositFlow,
5
6
  ETHEREUM_USDC,
@@ -22,6 +23,7 @@ import {
22
23
  type ProviderGetPositionsParams,
23
24
  type ProviderGetQuoteParams,
24
25
  type ProviderGetWithdrawableBalancesParams,
26
+ type ProviderGetWithdrawFlowParams,
25
27
  type ProviderWithdrawableBalance,
26
28
  paginateActivity,
27
29
  resolveQuote,
@@ -32,6 +34,7 @@ import {
32
34
  toAssetDisplay,
33
35
  toMarketDisplay,
34
36
  toPerpsMarketDisplay,
37
+ type WithdrawFlow,
35
38
  } from '@lifi/perps-sdk'
36
39
  import type {
37
40
  AccountConfig,
@@ -62,8 +65,8 @@ import type {
62
65
  WithdrawalActivity,
63
66
  } from '@lifi/perps-types'
64
67
  import { ActionType, ActivityType, PerpsErrorCode } from '@lifi/perps-types'
65
- import Big from 'big.js'
66
- import type { Address } from 'viem'
68
+ import type Big from 'big.js'
69
+ import { type Address, getAddress } from 'viem'
67
70
  import { projectOndoConfigSettings } from './accountConfig.js'
68
71
  import { getAccountSummary } from './accountSummary.js'
69
72
  import { OndoApiKeyStore } from './auth/OndoApiKeyStore.js'
@@ -80,6 +83,7 @@ import type { OndoAuthToken } from './types/auth.js'
80
83
  import type {
81
84
  OndoAccountInfo,
82
85
  OndoAccountReferral,
86
+ OndoAddressBookResult,
83
87
  OndoBalanceSummary,
84
88
  OndoFill,
85
89
  OndoFundingFeeTransfer,
@@ -107,6 +111,7 @@ import {
107
111
  type OndoPage,
108
112
  OndoSessionExpiredError,
109
113
  } from './utils/apiClient.js'
114
+ import { toWireBig } from './utils/decimal.js'
110
115
  import {
111
116
  estimateLiquidationPrice,
112
117
  formatOrderPrice,
@@ -132,6 +137,13 @@ import {
132
137
  type OrderSource,
133
138
  } from './utils/orderCursor.js'
134
139
 
140
+ const transferableWithin = (venueFigure: Big, units: Big): string => {
141
+ if (venueFigure.lt(0)) {
142
+ return '0'
143
+ }
144
+ return (venueFigure.gt(units) ? units : venueFigure).toFixed()
145
+ }
146
+
135
147
  /**
136
148
  * Construction options for the Ondo {@link PerpsProviderPlugin}.
137
149
  *
@@ -341,13 +353,18 @@ export const ondoProvider = (
341
353
  requirePerpsMarketDisplay
342
354
  )
343
355
 
356
+ const walletBalance = toWireBig(
357
+ balance.walletBalance,
358
+ 'balance.walletBalance'
359
+ )
360
+
344
361
  // The backend owns the collateral identity; the venue supplies its
345
362
  // wallet balance (locked margin in, unrealized PnL out).
346
363
  return {
347
364
  provider: ONDO_PROVIDER_KEY,
348
365
  address: params.address,
349
366
  balances: [],
350
- collateralBalances: new Big(balance.walletBalance).gt(0)
367
+ collateralBalances: walletBalance.gt(0)
351
368
  ? [
352
369
  {
353
370
  categoryId: ONDO_PROVIDER_KEY,
@@ -355,6 +372,13 @@ export const ondoProvider = (
355
372
  units: balance.walletBalance,
356
373
  valueUsd: balance.walletBalance,
357
374
  price: '1',
375
+ transferable: transferableWithin(
376
+ toWireBig(
377
+ balance.withdrawableMargin,
378
+ 'balance.withdrawableMargin'
379
+ ),
380
+ walletBalance
381
+ ),
358
382
  },
359
383
  ]
360
384
  : [],
@@ -542,6 +566,39 @@ export const ondoProvider = (
542
566
  )
543
567
  },
544
568
 
569
+ async getWithdrawFlow(
570
+ params: ProviderGetWithdrawFlowParams,
571
+ opts?: SDKRequestOptions
572
+ ): Promise<WithdrawFlow> {
573
+ // Ondo sends a withdrawal only to an address-book entry, and the SDK
574
+ // offers one destination: the login address.
575
+ return withSession<WithdrawFlow>(
576
+ params.address,
577
+ () => ({
578
+ kind: 'setupRequired',
579
+ setup: [ActionType.SIWE_LOGIN, ActionType.ADD_WITHDRAWAL_ADDRESS],
580
+ }),
581
+ async (token) => {
582
+ const { addressBook } = await apiClient(
583
+ opts
584
+ ).get<OndoAddressBookResult>('/v1/wallet/address_book', {
585
+ authToken: token.token,
586
+ })
587
+ const loginAddress = params.address.toLowerCase()
588
+ const listed = (addressBook ?? []).some(
589
+ (entry) => entry.withdrawalAddress.toLowerCase() === loginAddress
590
+ )
591
+ if (!listed) {
592
+ return {
593
+ kind: 'setupRequired',
594
+ setup: [ActionType.ADD_WITHDRAWAL_ADDRESS],
595
+ }
596
+ }
597
+ return { kind: 'ready', destination: getAddress(params.address) }
598
+ }
599
+ )
600
+ },
601
+
545
602
  async getPositions(
546
603
  params: ProviderGetPositionsParams,
547
604
  opts?: SDKRequestOptions
@@ -1035,6 +1092,22 @@ export const ondoProvider = (
1035
1092
  return projectOndoConfigSettings(config, setup, configOptions)
1036
1093
  },
1037
1094
 
1095
+ async resolveActionRequest(
1096
+ action: ActionType,
1097
+ address: Address
1098
+ ): Promise<ActionSignerContribution> {
1099
+ if (action !== ActionType.WITHDRAWAL) {
1100
+ return {}
1101
+ }
1102
+ const token = await tokenStore.get(address)
1103
+ if (token === null) {
1104
+ throw new OndoSessionExpiredError(
1105
+ `No valid Ondo session token stored for ${address}. Run the SIWE login first.`
1106
+ )
1107
+ }
1108
+ return { params: { accountId: token.accountId } }
1109
+ },
1110
+
1038
1111
  async signActions(
1039
1112
  method: SigningMethod,
1040
1113
  steps: ActionStep[],
@@ -94,6 +94,7 @@ function projectOndoDescriptor(
94
94
  case ActionType.META_ACCEPT_TERMS:
95
95
  case ActionType.META_ONBOARD:
96
96
  case ActionType.META_CREATE_REFERRAL_CODE:
97
+ case ActionType.ADD_WITHDRAWAL_ADDRESS:
97
98
  case ActionType.SYNC_FEE_ATTRIBUTION:
98
99
  throw new PerpsError(
99
100
  PerpsErrorCode.SDKError,
@@ -8,12 +8,13 @@ import type {
8
8
  SiweActionStep,
9
9
  } from '@lifi/perps-types'
10
10
  import { ActionType, PerpsErrorCode, SigningMethod } from '@lifi/perps-types'
11
- import type { Address } from 'viem'
11
+ import { type Address, getAddress } from 'viem'
12
12
  import {
13
13
  ONDO_API_KEY_NAME,
14
14
  ONDO_API_KEY_SCOPES,
15
15
  ONDO_PRIVACY_VERSION,
16
16
  ONDO_TERMS_VERSION,
17
+ ONDO_WITHDRAWAL_ADDRESS_LABEL,
17
18
  } from '../constants.js'
18
19
  import type { OndoApiKey } from '../types/auth.js'
19
20
  import type { OndoApiKeyInfo, OndoCreatedApiKey } from '../types/wire.js'
@@ -26,7 +27,10 @@ import {
26
27
  buildOndoProvisionPayload,
27
28
  listOndoDepositAddress,
28
29
  } from '../utils/depositAddress.js'
29
- import { completeSiweLogin } from './completeSiweLogin.js'
30
+ import {
31
+ completeSiweLogin,
32
+ type OndoSiweChallenge,
33
+ } from './completeSiweLogin.js'
30
34
  import { hmacSignRequest } from './hmac.js'
31
35
  import { isOndoApiKey, type OndoApiKeyStore } from './OndoApiKeyStore.js'
32
36
  import type { OndoTokenStore } from './OndoTokenStore.js'
@@ -45,6 +49,18 @@ const isSiweStep = (step: ActionStep): step is SiweActionStep => 'siwe' in step
45
49
  const isSessionStep = (step: ActionStep): step is SessionActionStep =>
46
50
  'session' in step
47
51
 
52
+ const requireUserWallet = (ctx: SignActionsContext | undefined) => {
53
+ const userWallet = ctx?.userWallet
54
+ if (userWallet === undefined) {
55
+ throw new PerpsError(
56
+ PerpsErrorCode.SDKError,
57
+ 'Ondo SIWE login requires the user wallet. Pass `userWallet` when ' +
58
+ 'creating the perps client.'
59
+ )
60
+ }
61
+ return userWallet
62
+ }
63
+
48
64
  const hasRequest = (
49
65
  step: ActionStep
50
66
  ): step is Extract<ActionStep, { request: unknown }> => 'request' in step
@@ -139,6 +155,45 @@ async function ensureApiKey(
139
155
  return apiKey
140
156
  }
141
157
 
158
+ /**
159
+ * Add the login address to the Ondo address book, the only withdrawal
160
+ * destination the SDK offers. Ondo requires a wallet signature over its own
161
+ * challenge for each new entry.
162
+ */
163
+ async function addWithdrawalAddress(
164
+ deps: OndoSignActionsDeps,
165
+ address: Address,
166
+ ctx: SignActionsContext | undefined
167
+ ): Promise<void> {
168
+ const token = await deps.tokenStore.get(address)
169
+ if (token === null) {
170
+ throw new OndoSessionExpiredError(
171
+ `No valid Ondo session token stored for ${address}. Run the SIWE login first.`
172
+ )
173
+ }
174
+ const userWallet = requireUserWallet(ctx)
175
+ const withdrawalAddress = getAddress(address)
176
+ const challenge = await deps.client.post<OndoSiweChallenge>(
177
+ '/v1/auth/erc-4361/address_book/get_challenge',
178
+ { walletAddress: withdrawalAddress, chainId: '1', withdrawalAddress },
179
+ { authToken: token.token }
180
+ )
181
+ const signature = await userWallet.signMessage({
182
+ account: userWallet.account,
183
+ message: challenge.message,
184
+ })
185
+ await deps.client.post(
186
+ '/v1/auth/erc-4361/address_book/complete_challenge',
187
+ {
188
+ id: challenge.id,
189
+ signature,
190
+ withdrawalAddress,
191
+ addressLabel: ONDO_WITHDRAWAL_ADDRESS_LABEL,
192
+ },
193
+ { authToken: token.token }
194
+ )
195
+ }
196
+
142
197
  /**
143
198
  * Execute a backend-authored session request directly against the venue with
144
199
  * the stored session JWT. The pre-serialized wire body is parsed back to an
@@ -191,14 +246,7 @@ export async function ondoSignActions(
191
246
  ): Promise<SignedActionStep[]> {
192
247
  switch (method) {
193
248
  case SigningMethod.SIWE: {
194
- const userWallet = ctx?.userWallet
195
- if (userWallet === undefined) {
196
- throw new PerpsError(
197
- PerpsErrorCode.SDKError,
198
- 'Ondo SIWE login requires the user wallet. Pass `userWallet` when ' +
199
- 'creating the perps client.'
200
- )
201
- }
249
+ const userWallet = requireUserWallet(ctx)
202
250
  for (const step of steps) {
203
251
  if (!isSiweStep(step)) {
204
252
  throw new PerpsError(
@@ -303,6 +351,9 @@ export async function ondoSignActions(
303
351
  case ActionType.REGISTER_API_KEY:
304
352
  await ensureApiKey(deps, address)
305
353
  break
354
+ case ActionType.ADD_WITHDRAWAL_ADDRESS:
355
+ await addWithdrawalAddress(deps, address, ctx)
356
+ break
306
357
  default:
307
358
  throw new PerpsError(
308
359
  PerpsErrorCode.SDKError,
package/src/constants.ts CHANGED
@@ -64,3 +64,10 @@ export const ONDO_TERMS_VERSION = 1
64
64
  * @public
65
65
  */
66
66
  export const ONDO_PRIVACY_VERSION = 1
67
+
68
+ /**
69
+ * Label Ondo shows on the address book entry the SDK adds for withdrawals.
70
+ *
71
+ * @public
72
+ */
73
+ export const ONDO_WITHDRAWAL_ADDRESS_LABEL = 'LI.FI'
package/src/types/wire.ts CHANGED
@@ -337,6 +337,22 @@ export interface OndoWalletWithdrawal {
337
337
  from?: OndoAccountWalletKey
338
338
  }
339
339
 
340
+ /** Mirrors Ondo's `AddressBookEntry` (one `GET /v1/wallet/address_book` row). @public */
341
+ export interface OndoAddressBookEntry {
342
+ withdrawalAddress: string
343
+ label: string
344
+ lastUpdated: string
345
+ }
346
+
347
+ /**
348
+ * Mirrors Ondo's `AddressBookResult`. The venue sends `null` for an empty
349
+ * address book.
350
+ * @public
351
+ */
352
+ export interface OndoAddressBookResult {
353
+ addressBook: OndoAddressBookEntry[] | null
354
+ }
355
+
340
356
  /**
341
357
  * One side of an Ondo value movement: an account id plus which of that
342
358
  * account's two wallets held the value.
@@ -8,7 +8,7 @@ import {
8
8
  import { PerpsErrorCode } from '@lifi/perps-types'
9
9
  import type { OndoGenericResponse } from '../types/auth.js'
10
10
  import type { OndoPageInfo } from '../types/wire.js'
11
- import { ondoErrorCodeFromBody } from './ondoErrorCode.js'
11
+ import { ondoErrorFromBody } from './ondoErrorCode.js'
12
12
 
13
13
  /** @internal */
14
14
  export type ApiParams = Record<string, string | number | boolean>
@@ -246,12 +246,12 @@ export class OndoApiClient {
246
246
  )
247
247
  }
248
248
  if (isGenericResponse(data) && !data.success) {
249
- const bodyCode = ondoErrorCodeFromBody(data.error_code)
250
- if (bodyCode !== undefined) {
249
+ const bodyError = ondoErrorFromBody(data.error_code)
250
+ if (bodyError !== undefined) {
251
251
  throw new OndoApiError(
252
- `Ondo API error for ${path}: ${data.error_code} — ${data.error ?? 'no error message'}`,
252
+ `Ondo API error for ${path}: ${data.error_code} — ${bodyError.message ?? data.error ?? 'no error message'}`,
253
253
  data.error_code,
254
- bodyCode
254
+ bodyError.code
255
255
  )
256
256
  }
257
257
  }
@@ -1,16 +1,70 @@
1
1
  import { PerpsErrorCode } from '@lifi/perps-types'
2
2
 
3
+ /**
4
+ * The classification of an Ondo envelope `error_code`. `message` replaces the
5
+ * venue's own text when that text does not tell the caller what to do.
6
+ */
7
+ export interface OndoBodyError {
8
+ code: PerpsErrorCode
9
+ message?: string
10
+ }
11
+
3
12
  /** Ondo envelope `error_code` values that name a rejection a `PerpsErrorCode` describes. */
4
- const ONDO_BODY_ERROR_CODES: ReadonlyMap<string, PerpsErrorCode> = new Map([
5
- ['insufficient_margin', PerpsErrorCode.InsufficientMargin],
6
- ['clientOrderID_collision', PerpsErrorCode.NonceAlreadyUsed],
13
+ const ONDO_BODY_ERRORS: ReadonlyMap<string, OndoBodyError> = new Map([
14
+ ['insufficient_margin', { code: PerpsErrorCode.InsufficientMargin }],
15
+ ['clientOrderID_collision', { code: PerpsErrorCode.NonceAlreadyUsed }],
16
+ [
17
+ 'bad_label',
18
+ {
19
+ code: PerpsErrorCode.ValidationError,
20
+ message: 'Ondo rejected the withdrawal address label.',
21
+ },
22
+ ],
23
+ [
24
+ 'empty_label',
25
+ {
26
+ code: PerpsErrorCode.ValidationError,
27
+ message: 'Ondo requires a withdrawal address label.',
28
+ },
29
+ ],
30
+ [
31
+ 'bad_withdrawal_address',
32
+ {
33
+ code: PerpsErrorCode.ValidationError,
34
+ message: 'Ondo rejected the withdrawal address as not valid.',
35
+ },
36
+ ],
37
+ [
38
+ 'internal_withdrawal_address',
39
+ {
40
+ code: PerpsErrorCode.ValidationError,
41
+ message:
42
+ 'Ondo does not accept an Ondo deposit address as a withdrawal address.',
43
+ },
44
+ ],
45
+ [
46
+ 'challenge_not_found',
47
+ {
48
+ code: PerpsErrorCode.NonceExpired,
49
+ message:
50
+ 'The Ondo address book challenge is unknown or expired. Request a new challenge.',
51
+ },
52
+ ],
53
+ [
54
+ 'withdrawal_address_not_found',
55
+ {
56
+ code: PerpsErrorCode.SetupRequired,
57
+ message:
58
+ 'The withdrawal destination is not in the Ondo address book. Add the withdrawal address first.',
59
+ },
60
+ ],
7
61
  ])
8
62
 
9
63
  /**
10
- * Maps an Ondo envelope `error_code` to the `PerpsErrorCode` it names. Returns
11
- * `undefined` for every other code so the status-driven layer decides.
64
+ * Classifies an Ondo envelope `error_code`. Returns `undefined` for every other
65
+ * code so the status-driven layer decides.
12
66
  */
13
- export const ondoErrorCodeFromBody = (
67
+ export const ondoErrorFromBody = (
14
68
  errorCode: string | undefined
15
- ): PerpsErrorCode | undefined =>
16
- errorCode === undefined ? undefined : ONDO_BODY_ERROR_CODES.get(errorCode)
69
+ ): OndoBodyError | undefined =>
70
+ errorCode === undefined ? undefined : ONDO_BODY_ERRORS.get(errorCode)