@lifi/perps-sdk 22.0.0 → 23.1.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.
- package/README.md +5 -0
- package/dist/cjs/client/PerpsClient.d.ts +6 -6
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +12 -17
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/decimal/compare.d.ts +3 -0
- package/dist/cjs/decimal/compare.d.ts.map +1 -0
- package/dist/cjs/decimal/compare.js +8 -0
- package/dist/cjs/decimal/compare.js.map +1 -0
- package/dist/cjs/decimal/format.d.ts.map +1 -1
- package/dist/cjs/decimal/format.js +3 -0
- package/dist/cjs/decimal/format.js.map +1 -1
- package/dist/cjs/decimal/parse.d.ts +1 -0
- package/dist/cjs/decimal/parse.d.ts.map +1 -1
- package/dist/cjs/decimal/parse.js +8 -0
- package/dist/cjs/decimal/parse.js.map +1 -1
- package/dist/cjs/decimal/requireDecimal.d.ts +1 -1
- package/dist/cjs/decimal/requireDecimal.d.ts.map +1 -1
- package/dist/cjs/decimal/requireDecimal.js +1 -6
- package/dist/cjs/decimal/requireDecimal.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/config.d.ts +0 -1
- package/dist/cjs/types/config.d.ts.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client/PerpsClient.d.ts +6 -6
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +12 -17
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/decimal/compare.d.ts +11 -0
- package/dist/esm/decimal/compare.d.ts.map +1 -0
- package/dist/esm/decimal/compare.js +13 -0
- package/dist/esm/decimal/compare.js.map +1 -0
- package/dist/esm/decimal/format.d.ts.map +1 -1
- package/dist/esm/decimal/format.js +4 -0
- package/dist/esm/decimal/format.js.map +1 -1
- package/dist/esm/decimal/parse.d.ts +10 -0
- package/dist/esm/decimal/parse.d.ts.map +1 -1
- package/dist/esm/decimal/parse.js +17 -1
- package/dist/esm/decimal/parse.js.map +1 -1
- package/dist/esm/decimal/requireDecimal.d.ts +2 -8
- package/dist/esm/decimal/requireDecimal.d.ts.map +1 -1
- package/dist/esm/decimal/requireDecimal.js +3 -14
- package/dist/esm/decimal/requireDecimal.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/config.d.ts +0 -11
- package/dist/esm/types/config.d.ts.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/client/PerpsClient.d.ts +6 -6
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/decimal/compare.d.ts +11 -0
- package/dist/types/decimal/compare.d.ts.map +1 -0
- package/dist/types/decimal/format.d.ts.map +1 -1
- package/dist/types/decimal/parse.d.ts +10 -0
- package/dist/types/decimal/parse.d.ts.map +1 -1
- package/dist/types/decimal/requireDecimal.d.ts +2 -8
- package/dist/types/decimal/requireDecimal.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/config.d.ts +0 -11
- package/dist/types/types/config.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +38 -24
- package/src/decimal/compare.ts +17 -0
- package/src/decimal/format.ts +4 -0
- package/src/decimal/parse.ts +28 -1
- package/src/decimal/requireDecimal.ts +4 -17
- package/src/index.ts +6 -1
- package/src/types/config.ts +0 -11
- package/src/version.ts +1 -1
package/dist/esm/version.js
CHANGED
|
@@ -173,7 +173,7 @@ export declare class PerpsClient {
|
|
|
173
173
|
getAccount(params: {
|
|
174
174
|
provider: string;
|
|
175
175
|
address: Address;
|
|
176
|
-
}): Promise<GetAccountResult>;
|
|
176
|
+
}, options?: SDKRequestOptions): Promise<GetAccountResult>;
|
|
177
177
|
/**
|
|
178
178
|
* The user's current venue-side settings for a perps market — the margin
|
|
179
179
|
* mode and leverage the next order on it will use. Resolves the venue value
|
|
@@ -191,7 +191,7 @@ export declare class PerpsClient {
|
|
|
191
191
|
provider: string;
|
|
192
192
|
address: Address;
|
|
193
193
|
market: MarketRef;
|
|
194
|
-
}): Promise<MarketSettings>;
|
|
194
|
+
}, options?: SDKRequestOptions): Promise<MarketSettings>;
|
|
195
195
|
/**
|
|
196
196
|
* The amounts `params.address` can still buy and sell on one market, in
|
|
197
197
|
* that market's margin asset. The order panel reads this per-market figure;
|
|
@@ -246,7 +246,7 @@ export declare class PerpsClient {
|
|
|
246
246
|
* plugin's existence probe fails.
|
|
247
247
|
* @public
|
|
248
248
|
*/
|
|
249
|
-
accountExists(provider: string, address: Address): Promise<boolean>;
|
|
249
|
+
accountExists(provider: string, address: Address, options?: SDKRequestOptions): Promise<boolean>;
|
|
250
250
|
/**
|
|
251
251
|
* The deposit flow for `params.address` at `params.provider`, delegated to the
|
|
252
252
|
* provider plugin — every deposit decision (the collateral destination, the
|
|
@@ -257,7 +257,7 @@ export declare class PerpsClient {
|
|
|
257
257
|
* plugin's flow resolution fails.
|
|
258
258
|
* @public
|
|
259
259
|
*/
|
|
260
|
-
getDepositFlow(params: GetDepositFlowParams): Promise<DepositFlow | undefined>;
|
|
260
|
+
getDepositFlow(params: GetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow | undefined>;
|
|
261
261
|
/**
|
|
262
262
|
* The withdrawal flow for `params.address` at `params.provider`, delegated to
|
|
263
263
|
* the provider plugin — the withdrawal destination and any setup gate before
|
|
@@ -268,7 +268,7 @@ export declare class PerpsClient {
|
|
|
268
268
|
* plugin's flow resolution fails.
|
|
269
269
|
* @public
|
|
270
270
|
*/
|
|
271
|
-
getWithdrawFlow(params: GetWithdrawFlowParams): Promise<WithdrawFlow | undefined>;
|
|
271
|
+
getWithdrawFlow(params: GetWithdrawFlowParams, options?: SDKRequestOptions): Promise<WithdrawFlow | undefined>;
|
|
272
272
|
/**
|
|
273
273
|
* The `(asset, route)` selections `params.address` can actually withdraw at
|
|
274
274
|
* `params.provider`. The venue owns how its balances split across routes;
|
|
@@ -288,7 +288,7 @@ export declare class PerpsClient {
|
|
|
288
288
|
* @throws {PerpsError} `AccountNotFound` when the wallet has no venue account.
|
|
289
289
|
* @public
|
|
290
290
|
*/
|
|
291
|
-
getWithdrawableBalances(params: GetWithdrawableBalancesParams): Promise<WithdrawableBalance[] | undefined>;
|
|
291
|
+
getWithdrawableBalances(params: GetWithdrawableBalancesParams, options?: SDKRequestOptions): Promise<WithdrawableBalance[] | undefined>;
|
|
292
292
|
/**
|
|
293
293
|
* The account's portfolio value and cumulative PnL over `params.range` at
|
|
294
294
|
* `params.provider`, read directly from the venue.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,cAAc,EACd,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,QAAQ,EAGR,WAAW,EACX,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,UAAU,EAKX,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,uBAAuB,EAGvB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAGV,cAAc,EACd,kBAAkB,EAEnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AA0L/E;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,YAAY,CAA6B;gBAErC,OAAO,EAAE,kBAAkB;IAUvC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI;IAQ7D;;;;;;OAMG;IACH,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAI9D;;;;;OAKG;IACH,IAAI,MAAM,IAAI,cAAc,CAE3B;YAEa,mBAAmB;IAsBjC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;OAOG;IACG,SAAS,CACb,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAI1B;;;;;;;OAOG;IACG,QAAQ,CACZ,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAIjB;;;;;;;OAOG;YACW,oBAAoB;IAgBlC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAgCjC;;;;OAIG;YACW,oBAAoB;IAWlC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;OAMG;YACW,oBAAoB;IAelC;;;;OAIG;YACW,wBAAwB;IAiBtC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;;;;;;;;;OAWG;YACW,uBAAuB;IAerC;;;;;OAKG;IACG,WAAW,CAAC,CAAC,SAAS,UAAU,EACpC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,GACzE,OAAO,CAAC,oBAAoB,CAAC;IAqBhC;;;;;;;;;;OAUG;IACG,UAAU,
|
|
1
|
+
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DecimalString } from '@lifi/perps-types';
|
|
2
|
+
/**
|
|
3
|
+
* Exact `a > b` on two {@link DecimalString}s, with no float rounding, so a
|
|
4
|
+
* funds gate can tell `'1.0000000000000001'` from `'1'`. The other relations
|
|
5
|
+
* follow from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
|
|
6
|
+
*
|
|
7
|
+
* @throws {PerpsError} `ValidationError` when either operand is not a decimal string.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDecimalStringGreaterThan(a: DecimalString, b: DecimalString): boolean;
|
|
11
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/decimal/compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,aAAa,EAChB,CAAC,EAAE,aAAa,GACf,OAAO,CAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/decimal/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAA;AAI7C,KAAK,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/decimal/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAA;AAI7C,KAAK,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AA6FrE;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAqBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAkBR"}
|
|
@@ -13,4 +13,14 @@ export declare function parseDecimal(value: DecimalString | string | null | unde
|
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
15
|
export declare function isDecimalString(value: unknown): value is DecimalString;
|
|
16
|
+
/**
|
|
17
|
+
* Check a decimal input against the {@link DecimalString} contract, naming
|
|
18
|
+
* the field it came from, so a malformed amount fails at the SDK boundary
|
|
19
|
+
* instead of inside big.js.
|
|
20
|
+
*
|
|
21
|
+
* @returns `value`, unchanged.
|
|
22
|
+
* @throws {PerpsError} `ValidationError` naming `field`.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateDecimalString(value: DecimalString, field: string): DecimalString;
|
|
16
26
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AA8B1B;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/C,MAAM,GAAG,SAAS,CAYpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,GACZ,aAAa,CAQf"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DecimalString } from '@lifi/perps-types';
|
|
2
2
|
import Big from 'big.js';
|
|
3
|
-
/**
|
|
4
|
-
* Parse a decimal input, naming the field it came from when the
|
|
5
|
-
* value breaks the {@link DecimalString} contract, so a malformed amount
|
|
6
|
-
* fails at the SDK boundary instead of inside big.js.
|
|
7
|
-
*
|
|
8
|
-
* @throws {PerpsError} `ValidationError` naming `field`.
|
|
9
|
-
*/
|
|
3
|
+
/** Parse a decimal input after {@link validateDecimalString} accepts it. */
|
|
10
4
|
export declare function requireDecimal(value: DecimalString, field: string): Big;
|
|
11
5
|
//# sourceMappingURL=requireDecimal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requireDecimal.d.ts","sourceRoot":"","sources":["../../../src/decimal/requireDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"requireDecimal.d.ts","sourceRoot":"","sources":["../../../src/decimal/requireDecimal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAEvE"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -10,11 +10,12 @@ export * from '@lifi/perps-types';
|
|
|
10
10
|
export { createPerpsClient, DEFAULT_API_URL, } from './client/createPerpsClient.js';
|
|
11
11
|
export { PerpsClient } from './client/PerpsClient.js';
|
|
12
12
|
export { requireProvider } from './client/requireProvider.js';
|
|
13
|
+
export { isDecimalStringGreaterThan } from './decimal/compare.js';
|
|
13
14
|
export type { BaseUnitsRounding } from './decimal/convert.js';
|
|
14
15
|
export { baseUnitsToDecimal, decimalToBaseUnits, numberToDecimalString, truncateDecimal, } from './decimal/convert.js';
|
|
15
16
|
export type { FormatOptions, RoundingMode } from './decimal/format.js';
|
|
16
17
|
export { formatCompactUsd, formatNumber, formatPrice, formatSignedPercent, formatSignedUsd, formatUsd, } from './decimal/format.js';
|
|
17
|
-
export { isDecimalString, parseDecimal } from './decimal/parse.js';
|
|
18
|
+
export { isDecimalString, parseDecimal, validateDecimalString, } from './decimal/parse.js';
|
|
18
19
|
export { PerpsErrorMessage } from './errors/constants.js';
|
|
19
20
|
export { PerpsError } from './errors/PerpsError.js';
|
|
20
21
|
export { classifyFill, classifyFillFromPosition, FillClassification, } from './math/fills.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,GACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,17 +32,6 @@ export type RequestInterceptor = (url: string, options: RequestInit) => RequestI
|
|
|
32
32
|
export interface SDKRequestOptions {
|
|
33
33
|
/** Abort the request and any pending backoff delay. */
|
|
34
34
|
signal?: AbortSignal;
|
|
35
|
-
/**
|
|
36
|
-
* Lighter auth token consumed by provider-direct venue reads (getOrders,
|
|
37
|
-
* getOrder, getActivity, getAccount). Create via
|
|
38
|
-
* `lighterSigner.createAuthToken(deadline, context)`. Sent only to Lighter
|
|
39
|
-
* venue endpoints, never to the LI.FI backend — read-only by design
|
|
40
|
-
* (8h max TTL, cannot authorize writes). Each call routes to a single Lighter
|
|
41
|
-
* instance via `params.provider`, so this token scopes to that instance's
|
|
42
|
-
* venue; token caches are held per `lighterProvider()` instance and do not
|
|
43
|
-
* cross between instances.
|
|
44
|
-
*/
|
|
45
|
-
lighterAuthToken?: string;
|
|
46
35
|
}
|
|
47
36
|
/**
|
|
48
37
|
* Immutable snapshot of the resolved client configuration after defaults
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;AAE3C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;AAE3C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB"}
|
package/dist/types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.1.0",
|
|
4
4
|
"description": "LI.FI Perps SDK for perpetuals trading",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"big.js": "^7.0.1",
|
|
47
47
|
"partysocket": "^1.1.19",
|
|
48
48
|
"viem": "^2.55.18",
|
|
49
|
-
"@lifi/perps-types": "^20.
|
|
49
|
+
"@lifi/perps-types": "^20.2.0"
|
|
50
50
|
},
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public"
|
|
@@ -648,13 +648,16 @@ export class PerpsClient {
|
|
|
648
648
|
* backend account fetch fails.
|
|
649
649
|
* @public
|
|
650
650
|
*/
|
|
651
|
-
async getAccount(
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
651
|
+
async getAccount(
|
|
652
|
+
params: {
|
|
653
|
+
provider: string
|
|
654
|
+
address: Address
|
|
655
|
+
},
|
|
656
|
+
options?: SDKRequestOptions
|
|
657
|
+
): Promise<GetAccountResult> {
|
|
655
658
|
const plugin = this.requireProvider(params.provider)
|
|
656
659
|
const [response, metadata] = await Promise.all([
|
|
657
|
-
fetchAccount(this.sdkClient, params),
|
|
660
|
+
fetchAccount(this.sdkClient, params, options),
|
|
658
661
|
this.getProviderMetadata(params.provider),
|
|
659
662
|
])
|
|
660
663
|
const settings = plugin.projectConfig(response.config, metadata.setup)
|
|
@@ -674,16 +677,19 @@ export class PerpsClient {
|
|
|
674
677
|
* @throws {PerpsError} `Unauthorized` when the venue rejects the credential.
|
|
675
678
|
* @public
|
|
676
679
|
*/
|
|
677
|
-
async getMarketSettings(
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
680
|
+
async getMarketSettings(
|
|
681
|
+
params: {
|
|
682
|
+
provider: string
|
|
683
|
+
address: Address
|
|
684
|
+
market: MarketRef
|
|
685
|
+
},
|
|
686
|
+
options?: SDKRequestOptions
|
|
687
|
+
): Promise<MarketSettings> {
|
|
682
688
|
const plugin = this.requireProvider(params.provider)
|
|
683
|
-
return plugin.getMarketSettings(
|
|
684
|
-
address: params.address,
|
|
685
|
-
|
|
686
|
-
|
|
689
|
+
return plugin.getMarketSettings(
|
|
690
|
+
{ address: params.address, market: params.market },
|
|
691
|
+
options
|
|
692
|
+
)
|
|
687
693
|
}
|
|
688
694
|
|
|
689
695
|
/**
|
|
@@ -787,8 +793,12 @@ export class PerpsClient {
|
|
|
787
793
|
* plugin's existence probe fails.
|
|
788
794
|
* @public
|
|
789
795
|
*/
|
|
790
|
-
async accountExists(
|
|
791
|
-
|
|
796
|
+
async accountExists(
|
|
797
|
+
provider: string,
|
|
798
|
+
address: Address,
|
|
799
|
+
options?: SDKRequestOptions
|
|
800
|
+
): Promise<boolean> {
|
|
801
|
+
return this.requireProvider(provider).accountExists({ address }, options)
|
|
792
802
|
}
|
|
793
803
|
|
|
794
804
|
/**
|
|
@@ -802,10 +812,11 @@ export class PerpsClient {
|
|
|
802
812
|
* @public
|
|
803
813
|
*/
|
|
804
814
|
async getDepositFlow(
|
|
805
|
-
params: GetDepositFlowParams
|
|
815
|
+
params: GetDepositFlowParams,
|
|
816
|
+
options?: SDKRequestOptions
|
|
806
817
|
): Promise<DepositFlow | undefined> {
|
|
807
818
|
const plugin = this.requireProvider(params.provider)
|
|
808
|
-
return plugin.getDepositFlow?.({ address: params.address })
|
|
819
|
+
return plugin.getDepositFlow?.({ address: params.address }, options)
|
|
809
820
|
}
|
|
810
821
|
|
|
811
822
|
/**
|
|
@@ -819,10 +830,11 @@ export class PerpsClient {
|
|
|
819
830
|
* @public
|
|
820
831
|
*/
|
|
821
832
|
async getWithdrawFlow(
|
|
822
|
-
params: GetWithdrawFlowParams
|
|
833
|
+
params: GetWithdrawFlowParams,
|
|
834
|
+
options?: SDKRequestOptions
|
|
823
835
|
): Promise<WithdrawFlow | undefined> {
|
|
824
836
|
const plugin = this.requireProvider(params.provider)
|
|
825
|
-
return plugin.getWithdrawFlow?.({ address: params.address })
|
|
837
|
+
return plugin.getWithdrawFlow?.({ address: params.address }, options)
|
|
826
838
|
}
|
|
827
839
|
|
|
828
840
|
/**
|
|
@@ -845,12 +857,14 @@ export class PerpsClient {
|
|
|
845
857
|
* @public
|
|
846
858
|
*/
|
|
847
859
|
async getWithdrawableBalances(
|
|
848
|
-
params: GetWithdrawableBalancesParams
|
|
860
|
+
params: GetWithdrawableBalancesParams,
|
|
861
|
+
options?: SDKRequestOptions
|
|
849
862
|
): Promise<WithdrawableBalance[] | undefined> {
|
|
850
863
|
const plugin = this.requireProvider(params.provider)
|
|
851
|
-
const rows = await plugin.getWithdrawableBalances?.(
|
|
852
|
-
address: params.address,
|
|
853
|
-
|
|
864
|
+
const rows = await plugin.getWithdrawableBalances?.(
|
|
865
|
+
{ address: params.address },
|
|
866
|
+
options
|
|
867
|
+
)
|
|
854
868
|
if (rows === undefined) {
|
|
855
869
|
return undefined
|
|
856
870
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DecimalString } from '@lifi/perps-types'
|
|
2
|
+
import { requireDecimal } from './requireDecimal.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Exact `a > b` on two {@link DecimalString}s, with no float rounding, so a
|
|
6
|
+
* funds gate can tell `'1.0000000000000001'` from `'1'`. The other relations
|
|
7
|
+
* follow from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
|
|
8
|
+
*
|
|
9
|
+
* @throws {PerpsError} `ValidationError` when either operand is not a decimal string.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export function isDecimalStringGreaterThan(
|
|
13
|
+
a: DecimalString,
|
|
14
|
+
b: DecimalString
|
|
15
|
+
): boolean {
|
|
16
|
+
return requireDecimal(a, 'a').gt(requireDecimal(b, 'b'))
|
|
17
|
+
}
|
package/src/decimal/format.ts
CHANGED
|
@@ -69,6 +69,10 @@ function toFiniteNumber(value: FormatInput): number | null {
|
|
|
69
69
|
* the guard digits are chopped: `99.999` at 2dp → `99.99`, `0.29` → `0.29`.
|
|
70
70
|
*/
|
|
71
71
|
function truncateAbs(abs: number, decimals: number): number {
|
|
72
|
+
// `toFixed` emits exponent notation at >= 1e21; every double that large is an integer.
|
|
73
|
+
if (Number.isInteger(abs)) {
|
|
74
|
+
return abs
|
|
75
|
+
}
|
|
72
76
|
const s = abs.toFixed(Math.min(decimals + FLOAT_GUARD_DIGITS, 100))
|
|
73
77
|
const dot = s.indexOf('.')
|
|
74
78
|
const cut = decimals === 0 ? dot : dot + 1 + decimals
|
package/src/decimal/parse.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
DECIMAL_PATTERN,
|
|
3
|
+
type DecimalString,
|
|
4
|
+
PerpsErrorCode,
|
|
5
|
+
} from '@lifi/perps-types'
|
|
6
|
+
import { PerpsError } from '../errors/PerpsError.js'
|
|
2
7
|
|
|
3
8
|
/**
|
|
4
9
|
* Parse a string to a float, stripping common formatting artefacts.
|
|
@@ -58,3 +63,25 @@ export function parseDecimal(
|
|
|
58
63
|
export function isDecimalString(value: unknown): value is DecimalString {
|
|
59
64
|
return typeof value === 'string' && DECIMAL_PATTERN.test(value)
|
|
60
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Check a decimal input against the {@link DecimalString} contract, naming
|
|
69
|
+
* the field it came from, so a malformed amount fails at the SDK boundary
|
|
70
|
+
* instead of inside big.js.
|
|
71
|
+
*
|
|
72
|
+
* @returns `value`, unchanged.
|
|
73
|
+
* @throws {PerpsError} `ValidationError` naming `field`.
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
export function validateDecimalString(
|
|
77
|
+
value: DecimalString,
|
|
78
|
+
field: string
|
|
79
|
+
): DecimalString {
|
|
80
|
+
if (!isDecimalString(value)) {
|
|
81
|
+
throw new PerpsError(
|
|
82
|
+
PerpsErrorCode.ValidationError,
|
|
83
|
+
`Invalid \`${field}\`: '${value}' is not a decimal string.`
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
return value
|
|
87
|
+
}
|
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DecimalString } from '@lifi/perps-types'
|
|
2
2
|
import Big from 'big.js'
|
|
3
|
-
import {
|
|
4
|
-
import { isDecimalString } from './parse.js'
|
|
3
|
+
import { validateDecimalString } from './parse.js'
|
|
5
4
|
|
|
6
|
-
/**
|
|
7
|
-
* Parse a decimal input, naming the field it came from when the
|
|
8
|
-
* value breaks the {@link DecimalString} contract, so a malformed amount
|
|
9
|
-
* fails at the SDK boundary instead of inside big.js.
|
|
10
|
-
*
|
|
11
|
-
* @throws {PerpsError} `ValidationError` naming `field`.
|
|
12
|
-
*/
|
|
5
|
+
/** Parse a decimal input after {@link validateDecimalString} accepts it. */
|
|
13
6
|
export function requireDecimal(value: DecimalString, field: string): Big {
|
|
14
|
-
|
|
15
|
-
throw new PerpsError(
|
|
16
|
-
PerpsErrorCode.ValidationError,
|
|
17
|
-
`Invalid \`${field}\`: '${value}' is not a decimal string.`
|
|
18
|
-
)
|
|
19
|
-
}
|
|
20
|
-
return new Big(value)
|
|
7
|
+
return new Big(validateDecimalString(value, field))
|
|
21
8
|
}
|
package/src/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ export {
|
|
|
17
17
|
} from './client/createPerpsClient.js'
|
|
18
18
|
export { PerpsClient } from './client/PerpsClient.js'
|
|
19
19
|
export { requireProvider } from './client/requireProvider.js'
|
|
20
|
+
export { isDecimalStringGreaterThan } from './decimal/compare.js'
|
|
20
21
|
export type { BaseUnitsRounding } from './decimal/convert.js'
|
|
21
22
|
export {
|
|
22
23
|
baseUnitsToDecimal,
|
|
@@ -33,7 +34,11 @@ export {
|
|
|
33
34
|
formatSignedUsd,
|
|
34
35
|
formatUsd,
|
|
35
36
|
} from './decimal/format.js'
|
|
36
|
-
export {
|
|
37
|
+
export {
|
|
38
|
+
isDecimalString,
|
|
39
|
+
parseDecimal,
|
|
40
|
+
validateDecimalString,
|
|
41
|
+
} from './decimal/parse.js'
|
|
37
42
|
export { PerpsErrorMessage } from './errors/constants.js'
|
|
38
43
|
export { PerpsError } from './errors/PerpsError.js'
|
|
39
44
|
export {
|
package/src/types/config.ts
CHANGED
|
@@ -41,17 +41,6 @@ export type RequestInterceptor = (
|
|
|
41
41
|
export interface SDKRequestOptions {
|
|
42
42
|
/** Abort the request and any pending backoff delay. */
|
|
43
43
|
signal?: AbortSignal
|
|
44
|
-
/**
|
|
45
|
-
* Lighter auth token consumed by provider-direct venue reads (getOrders,
|
|
46
|
-
* getOrder, getActivity, getAccount). Create via
|
|
47
|
-
* `lighterSigner.createAuthToken(deadline, context)`. Sent only to Lighter
|
|
48
|
-
* venue endpoints, never to the LI.FI backend — read-only by design
|
|
49
|
-
* (8h max TTL, cannot authorize writes). Each call routes to a single Lighter
|
|
50
|
-
* instance via `params.provider`, so this token scopes to that instance's
|
|
51
|
-
* venue; token caches are held per `lighterProvider()` instance and do not
|
|
52
|
-
* cross between instances.
|
|
53
|
-
*/
|
|
54
|
-
lighterAuthToken?: string
|
|
55
44
|
}
|
|
56
45
|
|
|
57
46
|
/**
|
package/src/version.ts
CHANGED