@lifi/perps-types 3.1.0 → 3.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.
@@ -1,3 +1,4 @@
1
+ import type { Address } from './primitives.js';
1
2
  export interface Asset {
2
3
  providerId: string;
3
4
  id: string;
@@ -7,6 +8,14 @@ export interface Asset {
7
8
  tags?: string[];
8
9
  aliases?: string[];
9
10
  }
11
+ export interface DepositAsset {
12
+ chainId: number;
13
+ address: Address;
14
+ decimals: number;
15
+ displaySymbol: string;
16
+ logoURI: string;
17
+ displayName?: string;
18
+ }
10
19
  export interface AssetsResponse {
11
20
  assets: Asset[];
12
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAQlB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IAEf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAQ9C,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAQlB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IAEf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAmBD,MAAM,WAAW,YAAY;IAS3B,OAAO,EAAE,MAAM,CAAA;IAEf,OAAO,EAAE,OAAO,CAAA;IAEhB,QAAQ,EAAE,MAAM,CAAA;IAEhB,aAAa,EAAE,MAAM,CAAA;IAErB,OAAO,EAAE,MAAM,CAAA;IAEf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
@@ -1,4 +1,4 @@
1
- import type { Asset } from './asset.js';
1
+ import type { Asset, DepositAsset } from './asset.js';
2
2
  import type { ActionType, PerpsSigner, SigningMethod } from './enums.js';
3
3
  import type { OhlcvInterval } from './market.js';
4
4
  export interface ParamOption {
@@ -44,6 +44,7 @@ export interface Provider {
44
44
  wsUrl?: string;
45
45
  chainId?: number;
46
46
  minDepositUsd?: number;
47
+ depositAssets?: DepositAsset[];
47
48
  minOrderValueUsd?: number;
48
49
  minReduceOrderValueUsd?: number;
49
50
  minWithdrawalUsd?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,KAAK;IAEpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IAEd,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAUD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAK5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAOhB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAOD,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAGD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAE5B,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IAKd,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,aAAa,CAAC,EAAE,MAAM,CAAA;IAKtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAMzB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAKzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAA;IAMlB,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,KAAK;IAEpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IAEd,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAUD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAK5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAOhB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAOD,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAGD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAE5B,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IAKd,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,aAAa,CAAC,EAAE,MAAM,CAAA;IAWtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAK9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAMzB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAKzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAA;IAMlB,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
@@ -1,3 +1,4 @@
1
+ import type { Address } from './primitives.js';
1
2
  /**
2
3
  * Underlying token/registry entry. The base entity of the perps taxonomy:
3
4
  * a tradable unit referenced by markets (as base/quote legs) and held by
@@ -22,6 +23,44 @@ export interface Asset {
22
23
  /** Other venues' display symbols for the same real-world asset (e.g. Hyperliquid `SILVER` carries `['XAG']`). */
23
24
  aliases?: string[];
24
25
  }
26
+ /**
27
+ * An external, on-chain ERC-20 token a client bridges/swaps in to fund an
28
+ * account at a venue — the collateral currency, described by its canonical
29
+ * on-chain identity (a LI.FI-recognized token). The source token is arbitrary:
30
+ * LI.FI routes whatever the user holds into this one, so only the target
31
+ * currency is described here. How the venue represents the credited balance
32
+ * internally is deliberately not modeled — it surfaces in-venue once the
33
+ * deposit arrives.
34
+ *
35
+ * Distinct from a category's {@link ProviderCategory.quoteAsset} (the
36
+ * pricing/quote unit a market is denominated in): all live venues settle in
37
+ * USDC today so the two coincide, but they are different concepts and may
38
+ * diverge. Unlike {@link Asset} (a provider-native registry entry keyed by an
39
+ * opaque provider id), this carries full on-chain identity — chain, address,
40
+ * decimals.
41
+ * @public
42
+ */
43
+ export interface DepositAsset {
44
+ /**
45
+ * The chain the ERC-20 contract lives on, aligned to `@lifi/types` `ChainId`
46
+ * values (documentation-level, not a type dependency). This is the token's
47
+ * on-chain home (e.g. Arbitrum for HL's USDC), NOT necessarily the LI.FI
48
+ * deposit route's `toChain`: some venues route to a distinct LI.FI venue
49
+ * chain (see the SDK's `LIFI_DEPOSIT_CHAIN_BY_PROVIDER`), so the two may
50
+ * differ and the client maps between them.
51
+ */
52
+ chainId: number;
53
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
54
+ address: Address;
55
+ /** ERC-20 decimals, used to scale deposit amounts. */
56
+ decimals: number;
57
+ /** Display ticker for UI labels; same semantics as {@link Asset.displaySymbol}. */
58
+ displaySymbol: string;
59
+ /** Token logo for UI; same semantics as {@link Asset.logoURI}. */
60
+ logoURI: string;
61
+ /** Optional longer display name; same semantics as {@link Asset.displayName}. */
62
+ displayName?: string;
63
+ }
25
64
  /** @public */
26
65
  export interface AssetsResponse {
27
66
  assets: Asset[];
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
@@ -1,4 +1,4 @@
1
- import type { Asset } from './asset.js';
1
+ import type { Asset, DepositAsset } from './asset.js';
2
2
  import type { ActionType, PerpsSigner, SigningMethod } from './enums.js';
3
3
  import type { OhlcvInterval } from './market.js';
4
4
  /** @public */
@@ -83,6 +83,17 @@ export interface Provider {
83
83
  chainId?: number;
84
84
  /** Absent means no minimum advertised. */
85
85
  minDepositUsd?: number;
86
+ /**
87
+ * External on-chain tokens a client can bridge/swap in to fund an account at
88
+ * this venue — each the target of a LI.FI deposit route, carrying its own
89
+ * on-chain identity. Ordered; the first is the default a client preselects.
90
+ * v1 venues advertise a single token; multiple entries let a venue accept
91
+ * several deposit currencies. Distinct from a category's `quoteAsset` (the
92
+ * pricing unit): a venue whose collateral is not USDC changes only this
93
+ * field, not `quoteAsset`. Absent when the provider advertises no on-chain
94
+ * deposit token.
95
+ */
96
+ depositAssets?: DepositAsset[];
86
97
  /**
87
98
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
88
99
  * `minMarginUsd` parameter. Absent means no minimum advertised.
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
@@ -1,3 +1,4 @@
1
+ import type { Address } from './primitives.js';
1
2
  /**
2
3
  * Underlying token/registry entry. The base entity of the perps taxonomy:
3
4
  * a tradable unit referenced by markets (as base/quote legs) and held by
@@ -22,6 +23,44 @@ export interface Asset {
22
23
  /** Other venues' display symbols for the same real-world asset (e.g. Hyperliquid `SILVER` carries `['XAG']`). */
23
24
  aliases?: string[];
24
25
  }
26
+ /**
27
+ * An external, on-chain ERC-20 token a client bridges/swaps in to fund an
28
+ * account at a venue — the collateral currency, described by its canonical
29
+ * on-chain identity (a LI.FI-recognized token). The source token is arbitrary:
30
+ * LI.FI routes whatever the user holds into this one, so only the target
31
+ * currency is described here. How the venue represents the credited balance
32
+ * internally is deliberately not modeled — it surfaces in-venue once the
33
+ * deposit arrives.
34
+ *
35
+ * Distinct from a category's {@link ProviderCategory.quoteAsset} (the
36
+ * pricing/quote unit a market is denominated in): all live venues settle in
37
+ * USDC today so the two coincide, but they are different concepts and may
38
+ * diverge. Unlike {@link Asset} (a provider-native registry entry keyed by an
39
+ * opaque provider id), this carries full on-chain identity — chain, address,
40
+ * decimals.
41
+ * @public
42
+ */
43
+ export interface DepositAsset {
44
+ /**
45
+ * The chain the ERC-20 contract lives on, aligned to `@lifi/types` `ChainId`
46
+ * values (documentation-level, not a type dependency). This is the token's
47
+ * on-chain home (e.g. Arbitrum for HL's USDC), NOT necessarily the LI.FI
48
+ * deposit route's `toChain`: some venues route to a distinct LI.FI venue
49
+ * chain (see the SDK's `LIFI_DEPOSIT_CHAIN_BY_PROVIDER`), so the two may
50
+ * differ and the client maps between them.
51
+ */
52
+ chainId: number;
53
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
54
+ address: Address;
55
+ /** ERC-20 decimals, used to scale deposit amounts. */
56
+ decimals: number;
57
+ /** Display ticker for UI labels; same semantics as {@link Asset.displaySymbol}. */
58
+ displaySymbol: string;
59
+ /** Token logo for UI; same semantics as {@link Asset.logoURI}. */
60
+ logoURI: string;
61
+ /** Optional longer display name; same semantics as {@link Asset.displayName}. */
62
+ displayName?: string;
63
+ }
25
64
  /** @public */
26
65
  export interface AssetsResponse {
27
66
  assets: Asset[];
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB"}
@@ -1,4 +1,4 @@
1
- import type { Asset } from './asset.js';
1
+ import type { Asset, DepositAsset } from './asset.js';
2
2
  import type { ActionType, PerpsSigner, SigningMethod } from './enums.js';
3
3
  import type { OhlcvInterval } from './market.js';
4
4
  /** @public */
@@ -83,6 +83,17 @@ export interface Provider {
83
83
  chainId?: number;
84
84
  /** Absent means no minimum advertised. */
85
85
  minDepositUsd?: number;
86
+ /**
87
+ * External on-chain tokens a client can bridge/swap in to fund an account at
88
+ * this venue — each the target of a LI.FI deposit route, carrying its own
89
+ * on-chain identity. Ordered; the first is the default a client preselects.
90
+ * v1 venues advertise a single token; multiple entries let a venue accept
91
+ * several deposit currencies. Distinct from a category's `quoteAsset` (the
92
+ * pricing unit): a venue whose collateral is not USDC changes only this
93
+ * field, not `quoteAsset`. Absent when the provider advertises no on-chain
94
+ * deposit token.
95
+ */
96
+ depositAssets?: DepositAsset[];
86
97
  /**
87
98
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
88
99
  * `minMarginUsd` parameter. Absent means no minimum advertised.
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-types",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Shared types for the LI.FI perps stack",
5
5
  "keywords": [
6
6
  "lifi",
package/src/asset.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { Address } from './primitives.js'
2
+
1
3
  /**
2
4
  * Underlying token/registry entry. The base entity of the perps taxonomy:
3
5
  * a tradable unit referenced by markets (as base/quote legs) and held by
@@ -23,6 +25,45 @@ export interface Asset {
23
25
  aliases?: string[]
24
26
  }
25
27
 
28
+ /**
29
+ * An external, on-chain ERC-20 token a client bridges/swaps in to fund an
30
+ * account at a venue — the collateral currency, described by its canonical
31
+ * on-chain identity (a LI.FI-recognized token). The source token is arbitrary:
32
+ * LI.FI routes whatever the user holds into this one, so only the target
33
+ * currency is described here. How the venue represents the credited balance
34
+ * internally is deliberately not modeled — it surfaces in-venue once the
35
+ * deposit arrives.
36
+ *
37
+ * Distinct from a category's {@link ProviderCategory.quoteAsset} (the
38
+ * pricing/quote unit a market is denominated in): all live venues settle in
39
+ * USDC today so the two coincide, but they are different concepts and may
40
+ * diverge. Unlike {@link Asset} (a provider-native registry entry keyed by an
41
+ * opaque provider id), this carries full on-chain identity — chain, address,
42
+ * decimals.
43
+ * @public
44
+ */
45
+ export interface DepositAsset {
46
+ /**
47
+ * The chain the ERC-20 contract lives on, aligned to `@lifi/types` `ChainId`
48
+ * values (documentation-level, not a type dependency). This is the token's
49
+ * on-chain home (e.g. Arbitrum for HL's USDC), NOT necessarily the LI.FI
50
+ * deposit route's `toChain`: some venues route to a distinct LI.FI venue
51
+ * chain (see the SDK's `LIFI_DEPOSIT_CHAIN_BY_PROVIDER`), so the two may
52
+ * differ and the client maps between them.
53
+ */
54
+ chainId: number
55
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
56
+ address: Address
57
+ /** ERC-20 decimals, used to scale deposit amounts. */
58
+ decimals: number
59
+ /** Display ticker for UI labels; same semantics as {@link Asset.displaySymbol}. */
60
+ displaySymbol: string
61
+ /** Token logo for UI; same semantics as {@link Asset.logoURI}. */
62
+ logoURI: string
63
+ /** Optional longer display name; same semantics as {@link Asset.displayName}. */
64
+ displayName?: string
65
+ }
66
+
26
67
  /** @public */
27
68
  export interface AssetsResponse {
28
69
  assets: Asset[]
package/src/providers.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Asset } from './asset.js'
1
+ import type { Asset, DepositAsset } from './asset.js'
2
2
  import type { ActionType, PerpsSigner, SigningMethod } from './enums.js'
3
3
  import type { OhlcvInterval } from './market.js'
4
4
 
@@ -89,6 +89,17 @@ export interface Provider {
89
89
  chainId?: number
90
90
  /** Absent means no minimum advertised. */
91
91
  minDepositUsd?: number
92
+ /**
93
+ * External on-chain tokens a client can bridge/swap in to fund an account at
94
+ * this venue — each the target of a LI.FI deposit route, carrying its own
95
+ * on-chain identity. Ordered; the first is the default a client preselects.
96
+ * v1 venues advertise a single token; multiple entries let a venue accept
97
+ * several deposit currencies. Distinct from a category's `quoteAsset` (the
98
+ * pricing unit): a venue whose collateral is not USDC changes only this
99
+ * field, not `quoteAsset`. Absent when the provider advertises no on-chain
100
+ * deposit token.
101
+ */
102
+ depositAssets?: DepositAsset[]
92
103
  /**
93
104
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
94
105
  * `minMarginUsd` parameter. Absent means no minimum advertised.