@lifi/perps-types 0.1.1-alpha.22 → 0.1.1-alpha.23

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 (56) hide show
  1. package/package.json +3 -2
  2. package/src/_cjs/enums.js +10 -1
  3. package/src/_cjs/enums.js.map +1 -1
  4. package/src/_cjs/providers/hyperliquid/mappers/fill.js +2 -0
  5. package/src/_cjs/providers/hyperliquid/mappers/fill.js.map +1 -1
  6. package/src/_cjs/providers/hyperliquid/types.js.map +1 -1
  7. package/src/_cjs/providers/lighter/mappers/fill.js +4 -2
  8. package/src/_cjs/providers/lighter/mappers/fill.js.map +1 -1
  9. package/src/_cjs/providers/lighter/mappers/index.js +2 -1
  10. package/src/_cjs/providers/lighter/mappers/index.js.map +1 -1
  11. package/src/_cjs/providers/lighter/mappers/order.js +53 -2
  12. package/src/_cjs/providers/lighter/mappers/order.js.map +1 -1
  13. package/src/_cjs/providers/lighter/mappers/position.js +1 -1
  14. package/src/_cjs/providers/lighter/mappers/position.js.map +1 -1
  15. package/src/_esm/enums.js +9 -0
  16. package/src/_esm/enums.js.map +1 -1
  17. package/src/_esm/providers/hyperliquid/mappers/fill.js +3 -1
  18. package/src/_esm/providers/hyperliquid/mappers/fill.js.map +1 -1
  19. package/src/_esm/providers/hyperliquid/types.js.map +1 -1
  20. package/src/_esm/providers/lighter/mappers/fill.js +5 -3
  21. package/src/_esm/providers/lighter/mappers/fill.js.map +1 -1
  22. package/src/_esm/providers/lighter/mappers/index.js +1 -1
  23. package/src/_esm/providers/lighter/mappers/index.js.map +1 -1
  24. package/src/_esm/providers/lighter/mappers/order.js +59 -2
  25. package/src/_esm/providers/lighter/mappers/order.js.map +1 -1
  26. package/src/_esm/providers/lighter/mappers/position.js +1 -1
  27. package/src/_esm/providers/lighter/mappers/position.js.map +1 -1
  28. package/src/_types/account.d.ts +17 -2
  29. package/src/_types/account.d.ts.map +1 -1
  30. package/src/_types/action.d.ts +14 -1
  31. package/src/_types/action.d.ts.map +1 -1
  32. package/src/_types/enums.d.ts +10 -2
  33. package/src/_types/enums.d.ts.map +1 -1
  34. package/src/_types/providers/hyperliquid/mappers/fill.d.ts.map +1 -1
  35. package/src/_types/providers/hyperliquid/types.d.ts +2 -0
  36. package/src/_types/providers/hyperliquid/types.d.ts.map +1 -1
  37. package/src/_types/providers/lighter/apiTypes.d.ts +2 -2
  38. package/src/_types/providers/lighter/apiTypes.d.ts.map +1 -1
  39. package/src/_types/providers/lighter/mappers/fill.d.ts.map +1 -1
  40. package/src/_types/providers/lighter/mappers/index.d.ts +1 -1
  41. package/src/_types/providers/lighter/mappers/index.d.ts.map +1 -1
  42. package/src/_types/providers/lighter/mappers/order.d.ts +6 -0
  43. package/src/_types/providers/lighter/mappers/order.d.ts.map +1 -1
  44. package/src/_types/providers.d.ts +38 -1
  45. package/src/_types/providers.d.ts.map +1 -1
  46. package/src/account.ts +18 -0
  47. package/src/action.ts +14 -1
  48. package/src/enums.ts +9 -0
  49. package/src/providers/hyperliquid/mappers/fill.ts +3 -0
  50. package/src/providers/hyperliquid/types.ts +2 -0
  51. package/src/providers/lighter/apiTypes.ts +6 -2
  52. package/src/providers/lighter/mappers/fill.ts +5 -2
  53. package/src/providers/lighter/mappers/index.ts +1 -1
  54. package/src/providers/lighter/mappers/order.ts +70 -2
  55. package/src/providers/lighter/mappers/position.ts +1 -1
  56. package/src/providers.ts +39 -1
package/src/providers.ts CHANGED
@@ -3,6 +3,38 @@ import type { ActionType, PerpsSigner, SigningMethod } from './enums.js'
3
3
  export interface ActionDescriptor {
4
4
  type: ActionType
5
5
  signers: PerpsSigner[]
6
+ /**
7
+ * How the SDK must sign this specific action. Most actions match the
8
+ * provider's dominant pattern (Hyperliquid: EIP712, Lighter: WASM_BLOB),
9
+ * but on-chain bridge actions like DEPOSIT are EVM_TX regardless of
10
+ * provider — the SDK dispatches by this field rather than by
11
+ * `Provider.signingMethod`.
12
+ */
13
+ signingMethod: SigningMethod
14
+ }
15
+
16
+ /**
17
+ * Self-documenting account-setup step the user must (or may) fulfill before
18
+ * trading with a given provider. Mirrors a single entry of the `config`
19
+ * object returned by `GET /perps/account` — that endpoint reports the
20
+ * *state* of these items, while `Provider.accountConfiguration` declares
21
+ * what items exist and how to fulfill them.
22
+ *
23
+ * Extends `ActionDescriptor` because each item resolves to exactly one
24
+ * action the SDK dispatches when the user proceeds; the additional fields
25
+ * are the presentation and gating metadata the widget needs to render the
26
+ * onboarding overlay without hardcoded labels.
27
+ *
28
+ * `optional: false` means the item must be fulfilled before the user can
29
+ * proceed; `optional: true` means the user may skip it.
30
+ */
31
+ export interface AccountConfigurationItem extends ActionDescriptor {
32
+ /** User-facing row title rendered in the onboarding overlay. */
33
+ title: string
34
+ /** User-facing description rendered in the onboarding overlay. */
35
+ description: string
36
+ /** When true the user may skip the item; when false it gates the trade flow. */
37
+ optional: boolean
6
38
  }
7
39
 
8
40
  export interface ProviderMarketInfo {
@@ -15,7 +47,13 @@ export interface Provider {
15
47
  name: string
16
48
  logoURI: string
17
49
  signingMethod: SigningMethod
18
- prepareAccountActions: ActionDescriptor[]
50
+ /**
51
+ * Account-setup items required (or optional) for trading with this
52
+ * provider. Replaces the previous `prepareAccountActions: ActionDescriptor[]`:
53
+ * same operational fields, plus the user-facing metadata the widget needs.
54
+ * An empty array is valid and indicates the provider has no setup gates.
55
+ */
56
+ accountConfiguration: AccountConfigurationItem[]
19
57
  actions: ActionDescriptor[]
20
58
  markets: ProviderMarketInfo[]
21
59
  wsUrl?: string