@lifi/perps-sdk 0.0.0-preview-c95cec0 → 0.0.0-preview-8effdce
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/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 +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -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/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 +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -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/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 +1 -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/format.ts +4 -0
- package/src/decimal/parse.ts +28 -1
- package/src/decimal/requireDecimal.ts +4 -17
- package/src/index.ts +5 -1
- package/src/types/config.ts +0 -11
- package/src/version.ts +1 -1
|
@@ -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
|
@@ -15,7 +15,7 @@ export type { BaseUnitsRounding } from './decimal/convert.js';
|
|
|
15
15
|
export { baseUnitsToDecimal, decimalToBaseUnits, numberToDecimalString, truncateDecimal, } from './decimal/convert.js';
|
|
16
16
|
export type { FormatOptions, RoundingMode } from './decimal/format.js';
|
|
17
17
|
export { formatCompactUsd, formatNumber, formatPrice, formatSignedPercent, formatSignedUsd, formatUsd, } from './decimal/format.js';
|
|
18
|
-
export { isDecimalString, parseDecimal } from './decimal/parse.js';
|
|
18
|
+
export { isDecimalString, parseDecimal, validateDecimalString, } from './decimal/parse.js';
|
|
19
19
|
export { PerpsErrorMessage } from './errors/constants.js';
|
|
20
20
|
export { PerpsError } from './errors/PerpsError.js';
|
|
21
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,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,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":"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,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,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,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EACL,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,gCAAgC,EAChC,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AAErC,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AACpF,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,oCAAoC,CAAA;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5E,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,WAAW,GACZ,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,IAAI,2BAA2B,EACpD,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,IAAI,sBAAsB,EAC1C,uBAAuB,IAAI,6BAA6B,EACxD,oBAAoB,IAAI,0BAA0B,EAClD,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACvB,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,qCAAqC,EACrC,6BAA6B,EAC7B,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,aAAa,EACb,uBAAuB,GACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,6BAA6B,EAC7B,cAAc,GACf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,YAAY,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -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": "0.0.0-preview-
|
|
3
|
+
"version": "0.0.0-preview-8effdce",
|
|
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": "^
|
|
49
|
+
"@lifi/perps-types": "^0.0.0-preview-8effdce"
|
|
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
|
}
|
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
|
@@ -34,7 +34,11 @@ export {
|
|
|
34
34
|
formatSignedUsd,
|
|
35
35
|
formatUsd,
|
|
36
36
|
} from './decimal/format.js'
|
|
37
|
-
export {
|
|
37
|
+
export {
|
|
38
|
+
isDecimalString,
|
|
39
|
+
parseDecimal,
|
|
40
|
+
validateDecimalString,
|
|
41
|
+
} from './decimal/parse.js'
|
|
38
42
|
export { PerpsErrorMessage } from './errors/constants.js'
|
|
39
43
|
export { PerpsError } from './errors/PerpsError.js'
|
|
40
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