@lifi/perps-sdk 0.0.0-preview-697b8c5 → 0.0.0-preview-1edeff0
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.
- package/dist/cjs/client/PerpsClient.d.ts +3 -1
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +4 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/index.d.ts +10 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +18 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/marketRegistry.d.ts +3 -0
- package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/marketRegistry.js +16 -1
- package/dist/cjs/registry/marketRegistry.js.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.js +0 -1
- package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
- package/dist/cjs/services/getGasRecommendation.d.ts +9 -0
- package/dist/cjs/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/cjs/services/getGasRecommendation.js +10 -0
- package/dist/cjs/services/getGasRecommendation.js.map +1 -0
- package/dist/cjs/services/getMarket.d.ts.map +1 -1
- package/dist/cjs/services/getMarket.js +2 -1
- package/dist/cjs/services/getMarket.js.map +1 -1
- package/dist/cjs/services/getMarkets.d.ts.map +1 -1
- package/dist/cjs/services/getMarkets.js +3 -1
- package/dist/cjs/services/getMarkets.js.map +1 -1
- package/dist/cjs/types/api.d.ts +4 -0
- package/dist/cjs/types/api.d.ts.map +1 -1
- package/dist/cjs/types/deposit.d.ts +25 -0
- package/dist/cjs/types/deposit.d.ts.map +1 -0
- package/dist/cjs/types/deposit.js +3 -0
- package/dist/cjs/types/deposit.js.map +1 -0
- package/dist/cjs/types/provider.d.ts +5 -0
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/accountSummary.d.ts.map +1 -1
- package/dist/cjs/utils/accountSummary.js +10 -4
- package/dist/cjs/utils/accountSummary.js.map +1 -1
- package/dist/cjs/utils/depositAssets.d.ts +8 -0
- package/dist/cjs/utils/depositAssets.d.ts.map +1 -0
- package/dist/cjs/utils/depositAssets.js +36 -0
- package/dist/cjs/utils/depositAssets.js.map +1 -0
- package/dist/cjs/utils/scaleToInteger.d.ts +3 -0
- package/dist/cjs/utils/scaleToInteger.d.ts.map +1 -0
- package/dist/cjs/utils/scaleToInteger.js +30 -0
- package/dist/cjs/utils/scaleToInteger.js.map +1 -0
- package/dist/cjs/utils/setupActions.d.ts +3 -0
- package/dist/cjs/utils/setupActions.d.ts.map +1 -0
- package/dist/cjs/utils/setupActions.js +8 -0
- package/dist/cjs/utils/setupActions.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client/PerpsClient.d.ts +13 -1
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +14 -0
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/index.d.ts +11 -6
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/marketRegistry.d.ts +15 -2
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
- package/dist/esm/registry/marketRegistry.js +26 -2
- package/dist/esm/registry/marketRegistry.js.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.d.ts +2 -1
- package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.js +2 -2
- package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
- package/dist/esm/services/getGasRecommendation.d.ts +31 -0
- package/dist/esm/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/esm/services/getGasRecommendation.js +22 -0
- package/dist/esm/services/getGasRecommendation.js.map +1 -0
- package/dist/esm/services/getMarket.d.ts +5 -4
- package/dist/esm/services/getMarket.d.ts.map +1 -1
- package/dist/esm/services/getMarket.js +7 -5
- package/dist/esm/services/getMarket.js.map +1 -1
- package/dist/esm/services/getMarkets.d.ts +6 -3
- package/dist/esm/services/getMarkets.d.ts.map +1 -1
- package/dist/esm/services/getMarkets.js +9 -4
- package/dist/esm/services/getMarkets.js.map +1 -1
- package/dist/esm/types/api.d.ts +9 -0
- package/dist/esm/types/api.d.ts.map +1 -1
- package/dist/esm/types/deposit.d.ts +68 -0
- package/dist/esm/types/deposit.d.ts.map +1 -0
- package/dist/esm/types/deposit.js +2 -0
- package/dist/esm/types/deposit.js.map +1 -0
- package/dist/esm/types/provider.d.ts +19 -0
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/accountSummary.d.ts.map +1 -1
- package/dist/esm/utils/accountSummary.js +13 -4
- package/dist/esm/utils/accountSummary.js.map +1 -1
- package/dist/esm/utils/depositAssets.d.ts +46 -0
- package/dist/esm/utils/depositAssets.d.ts.map +1 -0
- package/dist/esm/utils/depositAssets.js +71 -0
- package/dist/esm/utils/depositAssets.js.map +1 -0
- package/dist/esm/utils/scaleToInteger.d.ts +22 -0
- package/dist/esm/utils/scaleToInteger.d.ts.map +1 -0
- package/dist/esm/utils/scaleToInteger.js +34 -0
- package/dist/esm/utils/scaleToInteger.js.map +1 -0
- package/dist/esm/utils/setupActions.d.ts +17 -0
- package/dist/esm/utils/setupActions.d.ts.map +1 -0
- package/dist/esm/utils/setupActions.js +19 -0
- package/dist/esm/utils/setupActions.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/client/PerpsClient.d.ts +13 -1
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/marketRegistry.d.ts +15 -2
- package/dist/types/registry/marketRegistry.d.ts.map +1 -1
- package/dist/types/registry/referenceDataRegistry.d.ts +2 -1
- package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/types/services/getGasRecommendation.d.ts +31 -0
- package/dist/types/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/types/services/getMarket.d.ts +5 -4
- package/dist/types/services/getMarket.d.ts.map +1 -1
- package/dist/types/services/getMarkets.d.ts +6 -3
- package/dist/types/services/getMarkets.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +9 -0
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/deposit.d.ts +68 -0
- package/dist/types/types/deposit.d.ts.map +1 -0
- package/dist/types/types/provider.d.ts +19 -0
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/utils/accountSummary.d.ts.map +1 -1
- package/dist/types/utils/depositAssets.d.ts +46 -0
- package/dist/types/utils/depositAssets.d.ts.map +1 -0
- package/dist/types/utils/scaleToInteger.d.ts +22 -0
- package/dist/types/utils/scaleToInteger.d.ts.map +1 -0
- package/dist/types/utils/setupActions.d.ts +17 -0
- package/dist/types/utils/setupActions.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -3
- package/src/client/PerpsClient.ts +19 -0
- package/src/index.ts +26 -5
- package/src/registry/marketRegistry.ts +33 -2
- package/src/registry/referenceDataRegistry.ts +2 -2
- package/src/services/getGasRecommendation.ts +45 -0
- package/src/services/getMarket.ts +7 -5
- package/src/services/getMarkets.ts +14 -4
- package/src/types/api.ts +10 -0
- package/src/types/deposit.ts +75 -0
- package/src/types/provider.ts +24 -0
- package/src/utils/accountSummary.ts +18 -5
- package/src/utils/depositAssets.ts +77 -0
- package/src/utils/scaleToInteger.ts +56 -0
- package/src/utils/setupActions.ts +24 -0
- package/src/version.ts +1 -1
- package/dist/cjs/utils/depositChain.d.ts +0 -6
- package/dist/cjs/utils/depositChain.d.ts.map +0 -1
- package/dist/cjs/utils/depositChain.js +0 -13
- package/dist/cjs/utils/depositChain.js.map +0 -1
- package/dist/esm/utils/depositChain.d.ts +0 -27
- package/dist/esm/utils/depositChain.d.ts.map +0 -1
- package/dist/esm/utils/depositChain.js +0 -23
- package/dist/esm/utils/depositChain.js.map +0 -1
- package/dist/types/utils/depositChain.d.ts +0 -27
- package/dist/types/utils/depositChain.d.ts.map +0 -1
- package/src/utils/depositChain.ts +0 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAA6B;IAC/D,YAAY,MAAsB,EAAE,QAAgB;QAClD,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,iFAAiF;IACjF,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ import type { PerpsSDKClient } from '../types/provider.js';
|
|
|
6
6
|
* NOT a cache: it holds no freshness policy of its own. Every {@link sync}
|
|
7
7
|
* refetches through the HTTP layer, whose `cache-control` headers decide
|
|
8
8
|
* whether the response comes from disk or the network. A lookup miss warns
|
|
9
|
-
* once and returns `undefined`;
|
|
9
|
+
* once per id and returns `undefined`; subsequent syncs reconcile the index
|
|
10
|
+
* without replaying the warning for an id that remains absent.
|
|
10
11
|
*
|
|
11
12
|
* @internal
|
|
12
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D
|
|
1
|
+
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,qBAAqB,CAAC,CAAC;IAOzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAoB;IAErC,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM;IAG/B,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAE7C,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAEzC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAS7B,0EAA0E;IAC1E,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAYhB,IAAI;CAMnB"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* NOT a cache: it holds no freshness policy of its own. Every {@link sync}
|
|
6
6
|
* refetches through the HTTP layer, whose `cache-control` headers decide
|
|
7
7
|
* whether the response comes from disk or the network. A lookup miss warns
|
|
8
|
-
* once and returns `undefined`;
|
|
8
|
+
* once per id and returns `undefined`; subsequent syncs reconcile the index
|
|
9
|
+
* without replaying the warning for an id that remains absent.
|
|
9
10
|
*
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
@@ -55,7 +56,6 @@ export class ReferenceDataRegistry {
|
|
|
55
56
|
const items = await this.fetchItems();
|
|
56
57
|
this.index = new Map(items.map((item) => [this.keyOf(item), item]));
|
|
57
58
|
this.current = items;
|
|
58
|
-
this.warnedIds.clear();
|
|
59
59
|
return items;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,qBAAqB;IAOpB;IACV;IACQ;IARX,KAAK,GAAG,IAAI,GAAG,EAAa,CAAA;IAC5B,OAAO,GAAiB,EAAE,CAAA;IAC1B,QAAQ,CAAmC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,YACqB,MAAsB,EAChC,QAAgB,EACR,IAAY;QAFV,WAAM,GAAN,MAAM,CAAgB;QAChC,aAAQ,GAAR,QAAQ,CAAQ;QACR,SAAI,GAAJ,IAAI,CAAQ;IAC5B,CAAC;IAQJ;;;;OAIG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,0EAA0E;IAC1E,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { GasRecommendationResponse } from '@lifi/types';
|
|
2
|
+
import type { SDKRequestOptions } from '../types/config.js';
|
|
3
|
+
import type { PerpsSDKClient } from '../types/provider.js';
|
|
4
|
+
/**
|
|
5
|
+
* LI.FI API base URL for reads the user's client makes directly, without the
|
|
6
|
+
* perps backend in the path.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const LIFI_API_URL = "https://li.quest/v1";
|
|
11
|
+
/**
|
|
12
|
+
* Parameters for {@link getGasRecommendation}.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export interface GetGasRecommendationParams {
|
|
17
|
+
/** Chain to hold native gas on — a `firstDepositPipeline` flow's `chainId`. */
|
|
18
|
+
chainId: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* How much native gas LI.FI suggests holding on `params.chainId` to transact
|
|
22
|
+
* there, for seeding the gas leg of a first-deposit pipeline. Read straight
|
|
23
|
+
* from the LI.FI API by the user's client.
|
|
24
|
+
*
|
|
25
|
+
* @returns The suggestion, with `available: false` and no amounts on a chain
|
|
26
|
+
* LI.FI cannot source gas for.
|
|
27
|
+
* @throws {PerpsError} On API error responses, or network/parsing errors.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export declare function getGasRecommendation(client: PerpsSDKClient, params: GetGasRecommendationParams, options?: SDKRequestOptions): Promise<GasRecommendationResponse>;
|
|
31
|
+
//# sourceMappingURL=getGasRecommendation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGasRecommendation.d.ts","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,wBAAwB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAOpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { request } from '../transport/request.js';
|
|
2
|
+
/**
|
|
3
|
+
* LI.FI API base URL for reads the user's client makes directly, without the
|
|
4
|
+
* perps backend in the path.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export const LIFI_API_URL = 'https://li.quest/v1';
|
|
9
|
+
/**
|
|
10
|
+
* How much native gas LI.FI suggests holding on `params.chainId` to transact
|
|
11
|
+
* there, for seeding the gas leg of a first-deposit pipeline. Read straight
|
|
12
|
+
* from the LI.FI API by the user's client.
|
|
13
|
+
*
|
|
14
|
+
* @returns The suggestion, with `available: false` and no amounts on a chain
|
|
15
|
+
* LI.FI cannot source gas for.
|
|
16
|
+
* @throws {PerpsError} On API error responses, or network/parsing errors.
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export async function getGasRecommendation(client, params, options) {
|
|
20
|
+
return request(client.config, `${LIFI_API_URL}/gas/suggestion/${params.chainId}`, {}, options);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=getGasRecommendation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGasRecommendation.js","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAIjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAYjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAkC,EAClC,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,YAAY,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAClD,EAAE,EACF,OAAO,CACR,CAAA;AACH,CAAC"}
|
|
@@ -16,10 +16,11 @@ export interface GetMarketParams {
|
|
|
16
16
|
marketId: string;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Get a specific market by its opaque marketId. Requests the single
|
|
20
|
-
* from the backend `/markets` route (filtered by `marketIds`) and
|
|
21
|
-
* first match; throws a `MarketNotFound` {@link PerpsError}
|
|
22
|
-
* backend responds 404
|
|
19
|
+
* Get a specific active market by its opaque marketId. Requests the single
|
|
20
|
+
* market from the backend `/markets` route (filtered by `marketIds`) and
|
|
21
|
+
* returns the first active match; throws a `MarketNotFound` {@link PerpsError}
|
|
22
|
+
* when the backend responds 404, returns an empty list, or returns a
|
|
23
|
+
* delisted market, matching
|
|
23
24
|
* `MarketRegistry.require`'s miss behaviour.
|
|
24
25
|
*
|
|
25
26
|
* @throws {PerpsError} On backend (e.g. 404 or empty match), network, or parsing errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAKhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
2
2
|
import { PerpsError } from '../errors/PerpsError.js';
|
|
3
|
+
import { isActiveMarket } from '../registry/marketRegistry.js';
|
|
3
4
|
import { buildUrl, request } from '../transport/request.js';
|
|
4
5
|
/**
|
|
5
|
-
* Get a specific market by its opaque marketId. Requests the single
|
|
6
|
-
* from the backend `/markets` route (filtered by `marketIds`) and
|
|
7
|
-
* first match; throws a `MarketNotFound` {@link PerpsError}
|
|
8
|
-
* backend responds 404
|
|
6
|
+
* Get a specific active market by its opaque marketId. Requests the single
|
|
7
|
+
* market from the backend `/markets` route (filtered by `marketIds`) and
|
|
8
|
+
* returns the first active match; throws a `MarketNotFound` {@link PerpsError}
|
|
9
|
+
* when the backend responds 404, returns an empty list, or returns a
|
|
10
|
+
* delisted market, matching
|
|
9
11
|
* `MarketRegistry.require`'s miss behaviour.
|
|
10
12
|
*
|
|
11
13
|
* @throws {PerpsError} On backend (e.g. 404 or empty match), network, or parsing errors.
|
|
@@ -24,7 +26,7 @@ export async function getMarket(client, params, options) {
|
|
|
24
26
|
});
|
|
25
27
|
const { markets } = await request(client.config, url, {}, options);
|
|
26
28
|
const market = markets[0];
|
|
27
|
-
if (market === undefined) {
|
|
29
|
+
if (market === undefined || !isActiveMarket(market)) {
|
|
28
30
|
const error = new PerpsError(PerpsErrorCode.MarketNotFound, `No ${params.provider} market found for marketId '${params.marketId}'`);
|
|
29
31
|
error.tool = params.provider;
|
|
30
32
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarket.js","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAmB3D
|
|
1
|
+
{"version":3,"file":"getMarket.js","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAmB3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAAuB,EACvB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;KAC3B,CAAC,CAAA;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAC/B,MAAM,CAAC,MAAM,EACb,GAAG,EACH,EAAE,EACF,OAAO,CACR,CAAA;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,cAAc,EAC7B,MAAM,MAAM,CAAC,QAAQ,+BAA+B,MAAM,CAAC,QAAQ,GAAG,CACvE,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -12,9 +12,12 @@ export interface GetMarketsParams {
|
|
|
12
12
|
marketIds?: string[];
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* Get
|
|
16
|
-
*
|
|
17
|
-
* public market
|
|
15
|
+
* Get active markets for a provider. Delisted entries remain available to
|
|
16
|
+
* internal registries for historical mapping, but are excluded from this
|
|
17
|
+
* public market-selection surface.
|
|
18
|
+
*
|
|
19
|
+
* Thin pass-through to the LI.FI backend's Valkey-cached `/perps/markets`
|
|
20
|
+
* route — the canonical source of public market data for widget consumers.
|
|
18
21
|
*
|
|
19
22
|
* @throws {PerpsError} On backend, network, or parsing errors.
|
|
20
23
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarkets.d.ts","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"getMarkets.d.ts","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { isActiveMarket } from '../registry/marketRegistry.js';
|
|
1
2
|
import { buildUrl, request } from '../transport/request.js';
|
|
2
3
|
/**
|
|
3
|
-
* Get
|
|
4
|
-
*
|
|
5
|
-
* public market
|
|
4
|
+
* Get active markets for a provider. Delisted entries remain available to
|
|
5
|
+
* internal registries for historical mapping, but are excluded from this
|
|
6
|
+
* public market-selection surface.
|
|
7
|
+
*
|
|
8
|
+
* Thin pass-through to the LI.FI backend's Valkey-cached `/perps/markets`
|
|
9
|
+
* route — the canonical source of public market data for widget consumers.
|
|
6
10
|
*
|
|
7
11
|
* @throws {PerpsError} On backend, network, or parsing errors.
|
|
8
12
|
* @example
|
|
@@ -17,6 +21,7 @@ export async function getMarkets(client, params, options) {
|
|
|
17
21
|
provider: params.provider,
|
|
18
22
|
marketIds: params.marketIds?.join(','),
|
|
19
23
|
});
|
|
20
|
-
|
|
24
|
+
const response = await request(client.config, url, {}, options);
|
|
25
|
+
return { markets: response.markets.filter(isActiveMarket) };
|
|
21
26
|
}
|
|
22
27
|
//# sourceMappingURL=getMarkets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarkets.js","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAe3D
|
|
1
|
+
{"version":3,"file":"getMarkets.js","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAe3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,MAAwB,EACxB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;KACvC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,MAAM,CAAC,MAAM,EACb,GAAG,EACH,EAAE,EACF,OAAO,CACR,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAA;AAC7D,CAAC"}
|
package/dist/esm/types/api.d.ts
CHANGED
|
@@ -181,6 +181,15 @@ export interface GetSetupParams {
|
|
|
181
181
|
provider: string;
|
|
182
182
|
address: Address;
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Parameters for {@link PerpsClient.getDepositFlow}.
|
|
186
|
+
*
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
export interface GetDepositFlowParams {
|
|
190
|
+
provider: string;
|
|
191
|
+
address: Address;
|
|
192
|
+
}
|
|
184
193
|
/**
|
|
185
194
|
* Result from {@link PerpsClient.checkSetup}.
|
|
186
195
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ActionType } from '@lifi/perps-types';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* A token the SDK declares as part of a deposit flow, by full on-chain
|
|
5
|
+
* identity. Matched by `chainId` + `address`: a symbol is not identity — the
|
|
6
|
+
* Hyperliquid venue chain lists two `USDC` contracts with different decimals.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface DeclaredDepositAsset {
|
|
11
|
+
chainId: number;
|
|
12
|
+
/** EIP-55 checksummed address; the zero address denotes the chain's native gas token. */
|
|
13
|
+
address: Address;
|
|
14
|
+
decimals: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fund the account by swapping whatever the user holds into `destination`
|
|
18
|
+
* through the LI.FI surface. The source token is picked inside that surface, so
|
|
19
|
+
* it is not part of the flow; LI.FI routing owns whether that resolves to a
|
|
20
|
+
* same-chain swap or a bridge.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface DepositFlowLifiSwap {
|
|
25
|
+
kind: 'lifiSwap';
|
|
26
|
+
destination: DeclaredDepositAsset;
|
|
27
|
+
/**
|
|
28
|
+
* Credited address when it is not the user's own — a venue-provisioned
|
|
29
|
+
* deposit address. Absent means the user's address receives the deposit.
|
|
30
|
+
*/
|
|
31
|
+
toAddress?: Address;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fund an address that has no venue account yet. Collateral and the native gas
|
|
35
|
+
* to broadcast with are both needed on `chainId`, where the venue's
|
|
36
|
+
* {@link ActionType.DEPOSIT} action stages the on-chain legs that open the
|
|
37
|
+
* account.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export interface DepositFlowFirstDepositPipeline {
|
|
42
|
+
kind: 'firstDepositPipeline';
|
|
43
|
+
/** Chain the deposit legs broadcast on; the user's wallet must be switched to it. */
|
|
44
|
+
chainId: number;
|
|
45
|
+
gasAsset: DeclaredDepositAsset;
|
|
46
|
+
collateral: DeclaredDepositAsset;
|
|
47
|
+
bridgeAction: ActionType.DEPOSIT;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The venue cannot name a deposit destination until the listed setup actions
|
|
51
|
+
* are satisfied — Ondo provisions its deposit address behind a signed-in
|
|
52
|
+
* session.
|
|
53
|
+
*
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export interface DepositFlowSetupRequired {
|
|
57
|
+
kind: 'setupRequired';
|
|
58
|
+
/** Outstanding `Provider.setup` action types, in the order they must be run. */
|
|
59
|
+
setup: ActionType[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The single deposit flow a venue offers one address, resolved from the venue's
|
|
63
|
+
* account and setup state.
|
|
64
|
+
*
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export type DepositFlow = DepositFlowLifiSwap | DepositFlowFirstDepositPipeline | DepositFlowSetupRequired;
|
|
68
|
+
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/types/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,sBAAsB,CAAA;IAC5B,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,UAAU,EAAE,oBAAoB,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAA;IACrB,gFAAgF;IAChF,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,+BAA+B,GAC/B,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/types/deposit.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
import type { PerpsBaseConfig, PerpsClientSigner, SDKRequestOptions } from './config.js';
|
|
4
|
+
import type { DepositFlow } from './deposit.js';
|
|
4
5
|
/**
|
|
5
6
|
* Low-level SDK client: resolved config, the optional end-user wallet, and the
|
|
6
7
|
* registered provider plugins. Returned by {@link createPerpsClient} and
|
|
@@ -126,6 +127,14 @@ export interface ProviderGetAccountParams {
|
|
|
126
127
|
export interface ProviderAccountExistsParams {
|
|
127
128
|
address: Address;
|
|
128
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Read params for {@link PerpsProviderPlugin.getDepositFlow}.
|
|
132
|
+
*
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
export interface ProviderGetDepositFlowParams {
|
|
136
|
+
address: Address;
|
|
137
|
+
}
|
|
129
138
|
/**
|
|
130
139
|
* Read params for {@link PerpsProvider.getPositions}.
|
|
131
140
|
*
|
|
@@ -267,6 +276,16 @@ export interface PerpsProviderPlugin {
|
|
|
267
276
|
* semantics. Used by `PerpsClient.checkSetup` to gate the deposit-first flow.
|
|
268
277
|
*/
|
|
269
278
|
accountExists(params: ProviderAccountExistsParams, options?: SDKRequestOptions): Promise<boolean>;
|
|
279
|
+
/**
|
|
280
|
+
* The deposit flow this venue offers `params.address`, resolved from the
|
|
281
|
+
* venue's own account and setup state — which collateral token a deposit must
|
|
282
|
+
* land in, whether the address first needs the account-opening pipeline, and
|
|
283
|
+
* whether venue setup gates naming a destination at all.
|
|
284
|
+
*
|
|
285
|
+
* Optional: a provider that cannot be funded through the SDK omits it, and
|
|
286
|
+
* `PerpsClient.getDepositFlow` then resolves `undefined`.
|
|
287
|
+
*/
|
|
288
|
+
getDepositFlow?(params: ProviderGetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow>;
|
|
270
289
|
getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
|
|
271
290
|
getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
|
|
272
291
|
getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,KAAK,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAY1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAErE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,mBAAmB,GAC7B,cAAc,CAuChB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { stringToFloat } from './parse.js';
|
|
2
2
|
const sumValueUsd = (balances) => balances.reduce((sum, b) => sum + stringToFloat(b.valueUsd), 0);
|
|
3
|
+
const sumMarginUsd = (balances) => balances.reduce((sum, b) => sum + stringToFloat(b.valueUsd) * (b.collateralWeight ?? 1), 0);
|
|
3
4
|
/**
|
|
4
5
|
* Roll an {@link AccountResponse} and its open positions up into an
|
|
5
6
|
* {@link AccountSummary}.
|
|
@@ -16,17 +17,25 @@ export function summarizeAccount(account, positions, semantics) {
|
|
|
16
17
|
unrealizedPnl += stringToFloat(p.unrealizedPnl);
|
|
17
18
|
}
|
|
18
19
|
const collateral = sumValueUsd(account.collateralBalances);
|
|
20
|
+
// Margin-eligible collateral: each row's value scaled by its loan-to-value
|
|
21
|
+
// weight (1 when unset), so a haircut asset backs buying power at less than
|
|
22
|
+
// face while `portfolioValue` still reflects its full value.
|
|
23
|
+
const marginCollateral = sumMarginUsd(account.collateralBalances);
|
|
19
24
|
const balances = sumValueUsd(account.balances);
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
const withLocked = semantics === 'free' || semantics === 'net';
|
|
26
|
+
const grossCollateral = withLocked ? collateral + marginUsed : collateral;
|
|
27
|
+
const grossMarginCollateral = withLocked
|
|
28
|
+
? marginCollateral + marginUsed
|
|
29
|
+
: marginCollateral;
|
|
23
30
|
const equity = semantics === 'equity' || semantics === 'net'
|
|
24
31
|
? grossCollateral
|
|
25
32
|
: grossCollateral + unrealizedPnl;
|
|
26
33
|
// Buying power is equity net of locked margin, so unrealized PnL counts
|
|
27
34
|
// toward it. The `'free'` rows exclude uPnL from available margin, holding
|
|
28
35
|
// it purely as free collateral.
|
|
29
|
-
const availableMargin =
|
|
36
|
+
const availableMargin = grossMarginCollateral +
|
|
37
|
+
(semantics === 'gross' ? unrealizedPnl : 0) -
|
|
38
|
+
marginUsed;
|
|
30
39
|
return {
|
|
31
40
|
portfolioValue: (balances + equity).toString(),
|
|
32
41
|
availableMargin: availableMargin.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,QAAqC,EAAU,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,QAAqC,EAAU,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAEjE,MAAM,YAAY,GAAG,CAAC,QAAqC,EAAU,EAAE,CACrE,QAAQ,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,EACvE,CAAC,CACF,CAAA;AAwBH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAwB,EACxB,SAAqB,EACrB,SAA8B;IAE9B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACzC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,CAAA;IAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IACzE,MAAM,qBAAqB,GAAG,UAAU;QACtC,CAAC,CAAC,gBAAgB,GAAG,UAAU;QAC/B,CAAC,CAAC,gBAAgB,CAAA;IACpB,MAAM,MAAM,GACV,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK;QAC3C,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,GAAG,aAAa,CAAA;IAErC,wEAAwE;IACxE,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,eAAe,GACnB,qBAAqB;QACrB,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,UAAU,CAAA;IAEZ,OAAO;QACL,cAAc,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC9C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;QAC3C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;KACxC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { DeclaredDepositAsset } from '../types/deposit.js';
|
|
2
|
+
/**
|
|
3
|
+
* USDC on Ethereum mainnet — the collateral leg of Lighter's first-deposit
|
|
4
|
+
* pipeline, and the token Ondo's provisioned deposit address is funded in.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare const ETHEREUM_USDC: DeclaredDepositAsset;
|
|
9
|
+
/**
|
|
10
|
+
* Ether on Ethereum mainnet, to broadcast the first-deposit pipeline's legs
|
|
11
|
+
* with.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export declare const ETHEREUM_NATIVE_GAS: DeclaredDepositAsset;
|
|
16
|
+
/**
|
|
17
|
+
* USDC on the Hyperliquid venue chain: the 6-decimal perps contract. The same
|
|
18
|
+
* chain also lists an 8-decimal spot `USDC` at
|
|
19
|
+
* `0x6d1e7cde53bA9467B783Cb7c530CE05400000000`, so a deposit destination
|
|
20
|
+
* resolved by symbol lands on the wrong token and the wrong scale.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export declare const HYPERLIQUID_USDC: DeclaredDepositAsset;
|
|
25
|
+
/**
|
|
26
|
+
* USDC on the Lighter venue chain. The venue chain reuses the mainnet USDC
|
|
27
|
+
* address, so `chainId` is what distinguishes it from {@link ETHEREUM_USDC}.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare const LIGHTER_USDC: DeclaredDepositAsset;
|
|
32
|
+
/**
|
|
33
|
+
* USDG on Robinhood Chain — the collateral the Lighter Robinhood instance is
|
|
34
|
+
* funded in.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export declare const ROBINHOOD_USDG: DeclaredDepositAsset;
|
|
39
|
+
/**
|
|
40
|
+
* Ether on Robinhood Chain, to broadcast the Robinhood first-deposit pipeline's
|
|
41
|
+
* legs with.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare const ROBINHOOD_NATIVE_GAS: DeclaredDepositAsset;
|
|
46
|
+
//# sourceMappingURL=depositAssets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositAssets.d.ts","sourceRoot":"","sources":["../../../src/utils/depositAssets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,oBAI3B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,oBAI9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,oBAI1B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,oBAI5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAIlC,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ChainId } from '@lifi/types';
|
|
2
|
+
import { zeroAddress } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* USDC on Ethereum mainnet — the collateral leg of Lighter's first-deposit
|
|
5
|
+
* pipeline, and the token Ondo's provisioned deposit address is funded in.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export const ETHEREUM_USDC = {
|
|
10
|
+
chainId: ChainId.ETH,
|
|
11
|
+
address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
12
|
+
decimals: 6,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Ether on Ethereum mainnet, to broadcast the first-deposit pipeline's legs
|
|
16
|
+
* with.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export const ETHEREUM_NATIVE_GAS = {
|
|
21
|
+
chainId: ChainId.ETH,
|
|
22
|
+
address: zeroAddress,
|
|
23
|
+
decimals: 18,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* USDC on the Hyperliquid venue chain: the 6-decimal perps contract. The same
|
|
27
|
+
* chain also lists an 8-decimal spot `USDC` at
|
|
28
|
+
* `0x6d1e7cde53bA9467B783Cb7c530CE05400000000`, so a deposit destination
|
|
29
|
+
* resolved by symbol lands on the wrong token and the wrong scale.
|
|
30
|
+
*
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export const HYPERLIQUID_USDC = {
|
|
34
|
+
chainId: ChainId.HPL,
|
|
35
|
+
address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
36
|
+
decimals: 6,
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* USDC on the Lighter venue chain. The venue chain reuses the mainnet USDC
|
|
40
|
+
* address, so `chainId` is what distinguishes it from {@link ETHEREUM_USDC}.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export const LIGHTER_USDC = {
|
|
45
|
+
chainId: ChainId.LTR,
|
|
46
|
+
address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
47
|
+
decimals: 6,
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* USDG on Robinhood Chain — the collateral the Lighter Robinhood instance is
|
|
51
|
+
* funded in.
|
|
52
|
+
*
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
export const ROBINHOOD_USDG = {
|
|
56
|
+
chainId: ChainId.OUT,
|
|
57
|
+
address: '0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168',
|
|
58
|
+
decimals: 6,
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Ether on Robinhood Chain, to broadcast the Robinhood first-deposit pipeline's
|
|
62
|
+
* legs with.
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export const ROBINHOOD_NATIVE_GAS = {
|
|
67
|
+
chainId: ChainId.OUT,
|
|
68
|
+
address: zeroAddress,
|
|
69
|
+
decimals: 18,
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=depositAssets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositAssets.js","sourceRoot":"","sources":["../../../src/utils/depositAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAGlC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,EAAE;CACb,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAyB;IACpD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,EAAE;CACb,CAAA"}
|