@lifi/perps-types 0.0.0-preview-697b8c5 → 0.0.0-preview-17a33b7

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;
@@ -5,6 +6,14 @@ export interface Asset {
5
6
  logoURI: string;
6
7
  displayName?: string;
7
8
  }
9
+ export interface DepositAsset {
10
+ chainId: number;
11
+ address: Address;
12
+ decimals: number;
13
+ displaySymbol: string;
14
+ logoURI: string;
15
+ displayName?: string;
16
+ }
8
17
  export interface AssetsResponse {
9
18
  assets: Asset[];
10
19
  }
@@ -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;CACrB;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;CACrB;AAcD,MAAM,WAAW,YAAY;IAK3B,OAAO,EAAE,MAAM,CAAA;IAEf,OAAO,EAAE,OAAO,CAAA;IAEhB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,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
+ depositAsset?: 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;IAStB,YAAY,CAAC,EAAE,YAAY,CAAA;IAK3B,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
@@ -18,6 +19,32 @@ export interface Asset {
18
19
  logoURI: string;
19
20
  displayName?: string;
20
21
  }
22
+ /**
23
+ * On-chain ERC-20 token a client bridges in to fund a perps account — the
24
+ * deposit/collateral currency for a venue. Distinct from a category's
25
+ * {@link ProviderCategory.quoteAsset}: the quote asset is the pricing/quote
26
+ * unit a market is denominated in, whereas this is the concrete token the
27
+ * deposit flow bridges to. Today all live venues settle in USDC and the two
28
+ * coincide, but they are not the same concept and may diverge. Unlike
29
+ * {@link Asset} (a provider-native registry entry keyed by an opaque
30
+ * provider id), this carries full on-chain identity — chain, address, and
31
+ * decimals — so the client can construct the bridge target directly.
32
+ * @public
33
+ */
34
+ export interface DepositAsset {
35
+ /**
36
+ * Settlement chain id the token lives on, aligned to `@lifi/types` `ChainId`
37
+ * values. The alignment is documentation-level, not a type dependency.
38
+ */
39
+ chainId: number;
40
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
41
+ address: Address;
42
+ /** ERC-20 decimals, used to scale bridge amounts. */
43
+ decimals: number;
44
+ displaySymbol: string;
45
+ logoURI: string;
46
+ displayName?: string;
47
+ }
21
48
  /** @public */
22
49
  export interface AssetsResponse {
23
50
  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;CACrB;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;CACrB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,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,15 @@ export interface Provider {
83
83
  chainId?: number;
84
84
  /** Absent means no minimum advertised. */
85
85
  minDepositUsd?: number;
86
+ /**
87
+ * Deposit/collateral token a client bridges in to fund an account at this
88
+ * venue — the target of the deposit flow, carrying its own on-chain
89
+ * identity. Distinct from a category's `quoteAsset` (the pricing unit):
90
+ * all live venues settle in USDC today so the two coincide, but a venue
91
+ * whose collateral is not USDC changes only this field, not `quoteAsset`.
92
+ * Absent when the provider advertises no on-chain deposit token.
93
+ */
94
+ depositAsset?: DepositAsset;
86
95
  /**
87
96
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
88
97
  * `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;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;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
@@ -18,6 +19,32 @@ export interface Asset {
18
19
  logoURI: string;
19
20
  displayName?: string;
20
21
  }
22
+ /**
23
+ * On-chain ERC-20 token a client bridges in to fund a perps account — the
24
+ * deposit/collateral currency for a venue. Distinct from a category's
25
+ * {@link ProviderCategory.quoteAsset}: the quote asset is the pricing/quote
26
+ * unit a market is denominated in, whereas this is the concrete token the
27
+ * deposit flow bridges to. Today all live venues settle in USDC and the two
28
+ * coincide, but they are not the same concept and may diverge. Unlike
29
+ * {@link Asset} (a provider-native registry entry keyed by an opaque
30
+ * provider id), this carries full on-chain identity — chain, address, and
31
+ * decimals — so the client can construct the bridge target directly.
32
+ * @public
33
+ */
34
+ export interface DepositAsset {
35
+ /**
36
+ * Settlement chain id the token lives on, aligned to `@lifi/types` `ChainId`
37
+ * values. The alignment is documentation-level, not a type dependency.
38
+ */
39
+ chainId: number;
40
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
41
+ address: Address;
42
+ /** ERC-20 decimals, used to scale bridge amounts. */
43
+ decimals: number;
44
+ displaySymbol: string;
45
+ logoURI: string;
46
+ displayName?: string;
47
+ }
21
48
  /** @public */
22
49
  export interface AssetsResponse {
23
50
  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;CACrB;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;CACrB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,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,15 @@ export interface Provider {
83
83
  chainId?: number;
84
84
  /** Absent means no minimum advertised. */
85
85
  minDepositUsd?: number;
86
+ /**
87
+ * Deposit/collateral token a client bridges in to fund an account at this
88
+ * venue — the target of the deposit flow, carrying its own on-chain
89
+ * identity. Distinct from a category's `quoteAsset` (the pricing unit):
90
+ * all live venues settle in USDC today so the two coincide, but a venue
91
+ * whose collateral is not USDC changes only this field, not `quoteAsset`.
92
+ * Absent when the provider advertises no on-chain deposit token.
93
+ */
94
+ depositAsset?: DepositAsset;
86
95
  /**
87
96
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
88
97
  * `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;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;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": "0.0.0-preview-697b8c5",
3
+ "version": "0.0.0-preview-17a33b7",
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
@@ -19,6 +21,33 @@ export interface Asset {
19
21
  displayName?: string
20
22
  }
21
23
 
24
+ /**
25
+ * On-chain ERC-20 token a client bridges in to fund a perps account — the
26
+ * deposit/collateral currency for a venue. Distinct from a category's
27
+ * {@link ProviderCategory.quoteAsset}: the quote asset is the pricing/quote
28
+ * unit a market is denominated in, whereas this is the concrete token the
29
+ * deposit flow bridges to. Today all live venues settle in USDC and the two
30
+ * coincide, but they are not the same concept and may diverge. Unlike
31
+ * {@link Asset} (a provider-native registry entry keyed by an opaque
32
+ * provider id), this carries full on-chain identity — chain, address, and
33
+ * decimals — so the client can construct the bridge target directly.
34
+ * @public
35
+ */
36
+ export interface DepositAsset {
37
+ /**
38
+ * Settlement chain id the token lives on, aligned to `@lifi/types` `ChainId`
39
+ * values. The alignment is documentation-level, not a type dependency.
40
+ */
41
+ chainId: number
42
+ /** ERC-20 contract address on {@link DepositAsset.chainId}. */
43
+ address: Address
44
+ /** ERC-20 decimals, used to scale bridge amounts. */
45
+ decimals: number
46
+ displaySymbol: string
47
+ logoURI: string
48
+ displayName?: string
49
+ }
50
+
22
51
  /** @public */
23
52
  export interface AssetsResponse {
24
53
  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,15 @@ export interface Provider {
89
89
  chainId?: number
90
90
  /** Absent means no minimum advertised. */
91
91
  minDepositUsd?: number
92
+ /**
93
+ * Deposit/collateral token a client bridges in to fund an account at this
94
+ * venue — the target of the deposit flow, carrying its own on-chain
95
+ * identity. Distinct from a category's `quoteAsset` (the pricing unit):
96
+ * all live venues settle in USDC today so the two coincide, but a venue
97
+ * whose collateral is not USDC changes only this field, not `quoteAsset`.
98
+ * Absent when the provider advertises no on-chain deposit token.
99
+ */
100
+ depositAsset?: DepositAsset
92
101
  /**
93
102
  * Minimum order notional value in USD. Feeds the SDK's `validateMargin`
94
103
  * `minMarginUsd` parameter. Absent means no minimum advertised.