@lifi/perps-sdk 24.0.0 → 25.0.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 +34 -28
- package/dist/cjs/decimal/arithmetic.d.ts +2 -0
- package/dist/cjs/decimal/arithmetic.d.ts.map +1 -1
- package/dist/cjs/decimal/arithmetic.js +6 -1
- package/dist/cjs/decimal/arithmetic.js.map +1 -1
- package/dist/cjs/decimal/convert.d.ts +0 -2
- package/dist/cjs/decimal/convert.d.ts.map +1 -1
- package/dist/cjs/decimal/convert.js +2 -11
- package/dist/cjs/decimal/convert.js.map +1 -1
- package/dist/cjs/decimal/decimalStringToBig.d.ts.map +1 -1
- package/dist/cjs/decimal/decimalStringToBig.js +3 -5
- package/dist/cjs/decimal/decimalStringToBig.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 +2 -1
- package/dist/cjs/decimal/parse.js.map +1 -1
- package/dist/cjs/errors/invalidInput.d.ts +3 -0
- package/dist/cjs/errors/invalidInput.d.ts.map +1 -0
- package/dist/cjs/errors/invalidInput.js +9 -0
- package/dist/cjs/errors/invalidInput.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +10 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/math/order.d.ts +4 -4
- package/dist/cjs/math/order.d.ts.map +1 -1
- package/dist/cjs/math/order.js +31 -18
- package/dist/cjs/math/order.js.map +1 -1
- package/dist/cjs/math/position.d.ts +3 -3
- package/dist/cjs/math/position.d.ts.map +1 -1
- package/dist/cjs/math/position.js +13 -11
- package/dist/cjs/math/position.js.map +1 -1
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/warnOnce.d.ts +6 -2
- package/dist/cjs/utils/warnOnce.d.ts.map +1 -1
- package/dist/cjs/utils/warnOnce.js +12 -6
- package/dist/cjs/utils/warnOnce.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/websocket/wsLog.d.ts +1 -1
- package/dist/cjs/websocket/wsLog.d.ts.map +1 -1
- package/dist/cjs/websocket/wsLog.js +4 -3
- package/dist/cjs/websocket/wsLog.js.map +1 -1
- package/dist/cjs/wire/orderAmounts.d.ts +3 -2
- package/dist/cjs/wire/orderAmounts.d.ts.map +1 -1
- package/dist/cjs/wire/orderAmounts.js +17 -13
- package/dist/cjs/wire/orderAmounts.js.map +1 -1
- package/dist/cjs/wire/refuel.js +2 -2
- package/dist/cjs/wire/refuel.js.map +1 -1
- package/dist/esm/decimal/arithmetic.d.ts +24 -10
- package/dist/esm/decimal/arithmetic.d.ts.map +1 -1
- package/dist/esm/decimal/arithmetic.js +26 -10
- package/dist/esm/decimal/arithmetic.js.map +1 -1
- package/dist/esm/decimal/compare.d.ts +3 -3
- package/dist/esm/decimal/compare.js +3 -3
- package/dist/esm/decimal/convert.d.ts +2 -24
- package/dist/esm/decimal/convert.d.ts.map +1 -1
- package/dist/esm/decimal/convert.js +3 -32
- package/dist/esm/decimal/convert.js.map +1 -1
- package/dist/esm/decimal/decimalStringToBig.d.ts +4 -5
- package/dist/esm/decimal/decimalStringToBig.d.ts.map +1 -1
- package/dist/esm/decimal/decimalStringToBig.js +7 -10
- package/dist/esm/decimal/decimalStringToBig.js.map +1 -1
- package/dist/esm/decimal/format.js +3 -3
- package/dist/esm/decimal/parse.d.ts +8 -1
- package/dist/esm/decimal/parse.d.ts.map +1 -1
- package/dist/esm/decimal/parse.js +8 -1
- package/dist/esm/decimal/parse.js.map +1 -1
- package/dist/esm/errors/invalidInput.d.ts +4 -0
- package/dist/esm/errors/invalidInput.d.ts.map +1 -0
- package/dist/esm/errors/invalidInput.js +7 -0
- package/dist/esm/errors/invalidInput.js.map +1 -0
- package/dist/esm/index.d.ts +5 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/math/fills.d.ts +4 -4
- package/dist/esm/math/fills.js +4 -4
- package/dist/esm/math/order.d.ts +24 -26
- package/dist/esm/math/order.d.ts.map +1 -1
- package/dist/esm/math/order.js +52 -41
- package/dist/esm/math/order.js.map +1 -1
- package/dist/esm/math/position.d.ts +27 -27
- package/dist/esm/math/position.d.ts.map +1 -1
- package/dist/esm/math/position.js +38 -36
- package/dist/esm/math/position.js.map +1 -1
- package/dist/esm/services/resolveSubscribeQuote.d.ts +1 -1
- package/dist/esm/services/resolveSubscribeQuote.js +1 -1
- package/dist/esm/types/provider.d.ts +4 -3
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/createSafeFunction.d.ts +1 -1
- package/dist/esm/utils/createSafeFunction.js +1 -1
- package/dist/esm/utils/warnOnce.d.ts +17 -6
- package/dist/esm/utils/warnOnce.d.ts.map +1 -1
- package/dist/esm/utils/warnOnce.js +22 -10
- package/dist/esm/utils/warnOnce.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/websocket/wsLog.d.ts +4 -4
- package/dist/esm/websocket/wsLog.d.ts.map +1 -1
- package/dist/esm/websocket/wsLog.js +8 -7
- package/dist/esm/websocket/wsLog.js.map +1 -1
- package/dist/esm/wire/orderAmounts.d.ts +9 -7
- package/dist/esm/wire/orderAmounts.d.ts.map +1 -1
- package/dist/esm/wire/orderAmounts.js +22 -18
- package/dist/esm/wire/orderAmounts.js.map +1 -1
- package/dist/esm/wire/refuel.d.ts +1 -1
- package/dist/esm/wire/refuel.js +4 -4
- package/dist/esm/wire/refuel.js.map +1 -1
- package/dist/esm/wire/transferable.d.ts +2 -2
- package/dist/esm/wire/transferable.js +2 -2
- package/dist/types/decimal/arithmetic.d.ts +24 -10
- package/dist/types/decimal/arithmetic.d.ts.map +1 -1
- package/dist/types/decimal/compare.d.ts +3 -3
- package/dist/types/decimal/convert.d.ts +2 -24
- package/dist/types/decimal/convert.d.ts.map +1 -1
- package/dist/types/decimal/decimalStringToBig.d.ts +4 -5
- package/dist/types/decimal/decimalStringToBig.d.ts.map +1 -1
- package/dist/types/decimal/parse.d.ts +8 -1
- package/dist/types/decimal/parse.d.ts.map +1 -1
- package/dist/types/errors/invalidInput.d.ts +4 -0
- package/dist/types/errors/invalidInput.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/math/fills.d.ts +4 -4
- package/dist/types/math/order.d.ts +24 -26
- package/dist/types/math/order.d.ts.map +1 -1
- package/dist/types/math/position.d.ts +27 -27
- package/dist/types/math/position.d.ts.map +1 -1
- package/dist/types/services/resolveSubscribeQuote.d.ts +1 -1
- package/dist/types/types/provider.d.ts +4 -3
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/utils/createSafeFunction.d.ts +1 -1
- package/dist/types/utils/warnOnce.d.ts +17 -6
- package/dist/types/utils/warnOnce.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/wsLog.d.ts +4 -4
- package/dist/types/websocket/wsLog.d.ts.map +1 -1
- package/dist/types/wire/orderAmounts.d.ts +9 -7
- package/dist/types/wire/orderAmounts.d.ts.map +1 -1
- package/dist/types/wire/refuel.d.ts +1 -1
- package/dist/types/wire/transferable.d.ts +2 -2
- package/package.json +2 -2
- package/src/decimal/arithmetic.ts +36 -10
- package/src/decimal/compare.ts +3 -3
- package/src/decimal/convert.ts +3 -40
- package/src/decimal/decimalStringToBig.ts +7 -12
- package/src/decimal/format.ts +3 -3
- package/src/decimal/parse.ts +12 -1
- package/src/errors/invalidInput.ts +10 -0
- package/src/index.ts +8 -3
- package/src/math/fills.ts +4 -4
- package/src/math/order.ts +56 -48
- package/src/math/position.ts +43 -42
- package/src/services/resolveSubscribeQuote.ts +1 -1
- package/src/types/provider.ts +4 -3
- package/src/utils/createSafeFunction.ts +1 -1
- package/src/utils/warnOnce.ts +28 -12
- package/src/version.ts +1 -1
- package/src/websocket/wsLog.ts +22 -9
- package/src/wire/orderAmounts.ts +42 -24
- package/src/wire/refuel.ts +4 -4
- package/src/wire/transferable.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refuel.js","sourceRoot":"","sources":["../../../src/wire/refuel.ts"],"names":[],"mappings":";;;AAsDA,sDAgCC;AAtFD,mDAAsE;AAEtE,8CAA0C;AAC1C,sDAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"refuel.js","sourceRoot":"","sources":["../../../src/wire/refuel.ts"],"names":[],"mappings":";;;AAsDA,sDAgCC;AAtFD,mDAAsE;AAEtE,8CAA0C;AAC1C,sDAA0D;AAC1D,4EAAwE;AACxE,2DAAoD;AAQvC,QAAA,yBAAyB,GAAG,EAAE,CAAA;AAgB3C,SAAS,gBAAgB,CAAC,KAAoB,EAAE,KAAa;IAC3D,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,aAAa,KAAK,QAAQ,KAAK,uCAAuC,CACvE,CAAA;IACH,CAAC;IACD,OAAO,IAAI,eAAM,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAiBD,SAAgB,qBAAqB,CACnC,KAAwB;IAExB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,6CAA6C,QAAQ,EAAE,CACxD,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAClC,KAAK,CAAC,iBAAiB,EACvB,mBAAmB,CACpB,CAAA;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IACtE,MAAM,cAAc,GAAG,IAAA,6CAAqB,EAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,IAAA,6CAAqB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1C,IACE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EACd,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,cAAc;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,KAAK,CAAC,GAAG,GAAG,iCAAyB,CAAC;SACtC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3C,KAAK,CAAC,QAAQ,EAAE,eAAM,CAAC,OAAO,CAAC;SAC/B,OAAO,CAAC,QAAQ,CAAC,CAAA;AACtB,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Exact `a + b`.
|
|
3
|
-
* `addDecimalString('$4', '$6')` is `'10'`.
|
|
2
|
+
* Exact `a + b`.
|
|
4
3
|
*
|
|
5
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
4
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
6
5
|
* @public
|
|
7
6
|
*/
|
|
8
7
|
export declare function addDecimalString(a: string, b: string): string;
|
|
@@ -12,10 +11,25 @@ export declare function addDecimalString(a: string, b: string): string;
|
|
|
12
11
|
* @public
|
|
13
12
|
*/
|
|
14
13
|
export declare const safeAddDecimalString: (a: string, b: string) => string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Exact sum of every value; `'0'` for an empty list.
|
|
16
|
+
*
|
|
17
|
+
* @throws {PerpsError} `ValidationError` when a value does not match the
|
|
18
|
+
* decimal pattern.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export declare function addDecimalStrings(values: readonly string[]): string;
|
|
22
|
+
/**
|
|
23
|
+
* {@link addDecimalStrings}, or `undefined` with a warning when it throws.
|
|
24
|
+
* One bad value gives `undefined`, never a partial sum.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare const safeAddDecimalStrings: (values: readonly string[]) => string | undefined;
|
|
15
29
|
/**
|
|
16
30
|
* Exact `a - b`.
|
|
17
31
|
*
|
|
18
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
32
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
19
33
|
* @public
|
|
20
34
|
*/
|
|
21
35
|
export declare function subtractDecimalString(a: string, b: string): string;
|
|
@@ -28,7 +42,7 @@ export declare const safeSubtractDecimalString: (a: string, b: string) => string
|
|
|
28
42
|
/**
|
|
29
43
|
* Exact `a × b`.
|
|
30
44
|
*
|
|
31
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
45
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
32
46
|
* @public
|
|
33
47
|
*/
|
|
34
48
|
export declare function multiplyDecimalString(a: string, b: string): string;
|
|
@@ -41,8 +55,8 @@ export declare const safeMultiplyDecimalString: (a: string, b: string) => string
|
|
|
41
55
|
/**
|
|
42
56
|
* `a ÷ b` to 40 decimal places, rounded half up.
|
|
43
57
|
*
|
|
44
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
45
|
-
*
|
|
58
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the
|
|
59
|
+
* decimal pattern or `b` is zero.
|
|
46
60
|
* @public
|
|
47
61
|
*/
|
|
48
62
|
export declare function divideDecimalString(a: string, b: string): string;
|
|
@@ -56,8 +70,8 @@ export declare const safeDivideDecimalString: (a: string, b: string) => string |
|
|
|
56
70
|
* `a ÷ b` to 40 decimal places, truncated toward zero, so a derived amount
|
|
57
71
|
* never exceeds the exact quotient.
|
|
58
72
|
*
|
|
59
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
60
|
-
*
|
|
73
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the
|
|
74
|
+
* decimal pattern or `b` is zero.
|
|
61
75
|
* @public
|
|
62
76
|
*/
|
|
63
77
|
export declare function divideDecimalStringRoundDown(a: string, b: string): string;
|
|
@@ -71,7 +85,7 @@ export declare const safeDivideDecimalStringRoundDown: (a: string, b: string) =>
|
|
|
71
85
|
/**
|
|
72
86
|
* Exact `|value|`.
|
|
73
87
|
*
|
|
74
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
88
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
|
|
75
89
|
* @public
|
|
76
90
|
*/
|
|
77
91
|
export declare function absDecimalString(value: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAOA
|
|
1
|
+
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,8CAGhC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOnE;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mDAGjC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAaD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,8CAGnC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,8CAG5C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,uCAGhC,CAAA"}
|
|
@@ -4,10 +4,9 @@ import { createSafeFunction } from '../utils/createSafeFunction.js';
|
|
|
4
4
|
import { DivBig, TruncBig } from './big.js';
|
|
5
5
|
import { bigToDecimalString, decimalStringToBig } from './decimalStringToBig.js';
|
|
6
6
|
/**
|
|
7
|
-
* Exact `a + b`.
|
|
8
|
-
* `addDecimalString('$4', '$6')` is `'10'`.
|
|
7
|
+
* Exact `a + b`.
|
|
9
8
|
*
|
|
10
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
9
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
11
10
|
* @public
|
|
12
11
|
*/
|
|
13
12
|
export function addDecimalString(a, b) {
|
|
@@ -19,10 +18,27 @@ export function addDecimalString(a, b) {
|
|
|
19
18
|
* @public
|
|
20
19
|
*/
|
|
21
20
|
export const safeAddDecimalString = createSafeFunction('addDecimalString', addDecimalString);
|
|
21
|
+
/**
|
|
22
|
+
* Exact sum of every value; `'0'` for an empty list.
|
|
23
|
+
*
|
|
24
|
+
* @throws {PerpsError} `ValidationError` when a value does not match the
|
|
25
|
+
* decimal pattern.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export function addDecimalStrings(values) {
|
|
29
|
+
return bigToDecimalString(values.reduce((sum, value) => sum.plus(decimalStringToBig(value)), decimalStringToBig('0')));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* {@link addDecimalStrings}, or `undefined` with a warning when it throws.
|
|
33
|
+
* One bad value gives `undefined`, never a partial sum.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export const safeAddDecimalStrings = createSafeFunction('addDecimalStrings', addDecimalStrings);
|
|
22
38
|
/**
|
|
23
39
|
* Exact `a - b`.
|
|
24
40
|
*
|
|
25
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
41
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
26
42
|
* @public
|
|
27
43
|
*/
|
|
28
44
|
export function subtractDecimalString(a, b) {
|
|
@@ -37,7 +53,7 @@ export const safeSubtractDecimalString = createSafeFunction('subtractDecimalStri
|
|
|
37
53
|
/**
|
|
38
54
|
* Exact `a × b`.
|
|
39
55
|
*
|
|
40
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
56
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
|
|
41
57
|
* @public
|
|
42
58
|
*/
|
|
43
59
|
export function multiplyDecimalString(a, b) {
|
|
@@ -59,8 +75,8 @@ function requireNonZeroDivisor(divisor) {
|
|
|
59
75
|
/**
|
|
60
76
|
* `a ÷ b` to 40 decimal places, rounded half up.
|
|
61
77
|
*
|
|
62
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
63
|
-
*
|
|
78
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the
|
|
79
|
+
* decimal pattern or `b` is zero.
|
|
64
80
|
* @public
|
|
65
81
|
*/
|
|
66
82
|
export function divideDecimalString(a, b) {
|
|
@@ -77,8 +93,8 @@ export const safeDivideDecimalString = createSafeFunction('divideDecimalString',
|
|
|
77
93
|
* `a ÷ b` to 40 decimal places, truncated toward zero, so a derived amount
|
|
78
94
|
* never exceeds the exact quotient.
|
|
79
95
|
*
|
|
80
|
-
* @throws {PerpsError} `ValidationError` when an input
|
|
81
|
-
*
|
|
96
|
+
* @throws {PerpsError} `ValidationError` when an input does not match the
|
|
97
|
+
* decimal pattern or `b` is zero.
|
|
82
98
|
* @public
|
|
83
99
|
*/
|
|
84
100
|
export function divideDecimalStringRoundDown(a, b) {
|
|
@@ -95,7 +111,7 @@ export const safeDivideDecimalStringRoundDown = createSafeFunction('divideDecima
|
|
|
95
111
|
/**
|
|
96
112
|
* Exact `|value|`.
|
|
97
113
|
*
|
|
98
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
114
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
|
|
99
115
|
* @public
|
|
100
116
|
*/
|
|
101
117
|
export function absDecimalString(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEhF
|
|
1
|
+
{"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* gate can tell `'1.0000000000000001'` from `'1'`. The other relations follow
|
|
4
4
|
* from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
|
|
5
5
|
*
|
|
6
|
-
* @throws {PerpsError} `ValidationError` when either operand
|
|
6
|
+
* @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
9
|
export declare function isDecimalStringGreaterThan(a: string, b: string): boolean;
|
|
@@ -18,7 +18,7 @@ export declare const safeIsDecimalStringGreaterThan: (a: string, b: string) => b
|
|
|
18
18
|
* Exact `value == 0`, so a flat-position check never reads `'0.0'` as
|
|
19
19
|
* non-zero.
|
|
20
20
|
*
|
|
21
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
21
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
|
|
22
22
|
* @public
|
|
23
23
|
*/
|
|
24
24
|
export declare function isDecimalStringZero(value: string): boolean;
|
|
@@ -32,7 +32,7 @@ export declare const safeIsDecimalStringZero: (value: string) => boolean | undef
|
|
|
32
32
|
* Exact three-way compare for a sort: `-1` when `a < b`, `0` when equal, `1`
|
|
33
33
|
* when `a > b`.
|
|
34
34
|
*
|
|
35
|
-
* @throws {PerpsError} `ValidationError` when either operand
|
|
35
|
+
* @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
|
|
36
36
|
* @public
|
|
37
37
|
*/
|
|
38
38
|
export declare function compareDecimalStrings(a: string, b: string): -1 | 0 | 1;
|
|
@@ -5,7 +5,7 @@ import { decimalStringToBig } from './decimalStringToBig.js';
|
|
|
5
5
|
* gate can tell `'1.0000000000000001'` from `'1'`. The other relations follow
|
|
6
6
|
* from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
|
|
7
7
|
*
|
|
8
|
-
* @throws {PerpsError} `ValidationError` when either operand
|
|
8
|
+
* @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
export function isDecimalStringGreaterThan(a, b) {
|
|
@@ -22,7 +22,7 @@ export const safeIsDecimalStringGreaterThan = createSafeFunction('isDecimalStrin
|
|
|
22
22
|
* Exact `value == 0`, so a flat-position check never reads `'0.0'` as
|
|
23
23
|
* non-zero.
|
|
24
24
|
*
|
|
25
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
25
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
|
|
26
26
|
* @public
|
|
27
27
|
*/
|
|
28
28
|
export function isDecimalStringZero(value) {
|
|
@@ -38,7 +38,7 @@ export const safeIsDecimalStringZero = createSafeFunction('isDecimalStringZero',
|
|
|
38
38
|
* Exact three-way compare for a sort: `-1` when `a < b`, `0` when equal, `1`
|
|
39
39
|
* when `a > b`.
|
|
40
40
|
*
|
|
41
|
-
* @throws {PerpsError} `ValidationError` when either operand
|
|
41
|
+
* @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
44
|
export function compareDecimalStrings(a, b) {
|
|
@@ -12,7 +12,7 @@ export type DecimalRounding = 'truncate' | 'round' | 'up';
|
|
|
12
12
|
* The result has no trailing zeros: `roundDecimalString('1.50', 1, 'round')`
|
|
13
13
|
* is `'1.5'`.
|
|
14
14
|
*
|
|
15
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
15
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern,
|
|
16
16
|
* or `decimals` is not a non-negative integer.
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
@@ -28,7 +28,7 @@ export declare const safeRoundDecimalString: (value: string, decimals: number, r
|
|
|
28
28
|
* arithmetic: `'0.29'` at 2 decimals is 29, never 28. Off-grid input resolves
|
|
29
29
|
* per `rounding`. No `$`, `%` or `,` is removed first.
|
|
30
30
|
*
|
|
31
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
31
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern,
|
|
32
32
|
* `decimals` is not a non-negative integer, or the result's magnitude
|
|
33
33
|
* exceeds `Number.MAX_SAFE_INTEGER`.
|
|
34
34
|
* @public
|
|
@@ -58,28 +58,6 @@ export declare function scaledIntegerToDecimalString(amount: string, decimals: n
|
|
|
58
58
|
* @public
|
|
59
59
|
*/
|
|
60
60
|
export declare const safeScaledIntegerToDecimalString: (amount: string, decimals: number) => string | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* Round `value` down to `decimals` and pad the result to exactly that many
|
|
63
|
-
* decimal places. The padding is the point: this seeds a fixed-decimal input,
|
|
64
|
-
* where `'500.00'` and `'500'` are two renderings of one amount and the field
|
|
65
|
-
* wants the first. For a canonical wire amount with no trailing zeros, read
|
|
66
|
-
* the amount off `calculateOrderAmounts` or a provider snap instead.
|
|
67
|
-
*
|
|
68
|
-
* Exact decimal arithmetic throughout, so there is no 2^53 ceiling and no
|
|
69
|
-
* float artifact: `'0.01'` at 18 decimals gives
|
|
70
|
-
* `'0.010000000000000000'`, which `Number#toFixed` cannot.
|
|
71
|
-
*
|
|
72
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a
|
|
73
|
-
* decimal string, or `decimals` is not a non-negative integer.
|
|
74
|
-
* @public
|
|
75
|
-
*/
|
|
76
|
-
export declare function truncateDecimal(value: string, decimals: number): string;
|
|
77
|
-
/**
|
|
78
|
-
* {@link truncateDecimal}, or `undefined` with a warning when it throws.
|
|
79
|
-
*
|
|
80
|
-
* @public
|
|
81
|
-
*/
|
|
82
|
-
export declare const safeTruncateDecimal: (value: string, decimals: number) => string | undefined;
|
|
83
61
|
/**
|
|
84
62
|
* Spell a `number` as a {@link DecimalString} in plain notation: `1e-7`
|
|
85
63
|
* becomes `'0.0000001'`, never `'1e-7'`. The boundary helper for a venue or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAA;AAQzD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAUR;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oFAGlC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAuBR;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,oFAG5C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAE3C;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,0DAG5C,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAA;AAQzD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAUR;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oFAGlC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAuBR;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,oFAG5C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAE3C;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,0DAG5C,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAGrC,CAAA"}
|
|
@@ -15,7 +15,7 @@ const BIG_ROUNDING = {
|
|
|
15
15
|
* The result has no trailing zeros: `roundDecimalString('1.50', 1, 'round')`
|
|
16
16
|
* is `'1.5'`.
|
|
17
17
|
*
|
|
18
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
18
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern,
|
|
19
19
|
* or `decimals` is not a non-negative integer.
|
|
20
20
|
* @public
|
|
21
21
|
*/
|
|
@@ -36,14 +36,14 @@ export const safeRoundDecimalString = createSafeFunction('roundDecimalString', r
|
|
|
36
36
|
* arithmetic: `'0.29'` at 2 decimals is 29, never 28. Off-grid input resolves
|
|
37
37
|
* per `rounding`. No `$`, `%` or `,` is removed first.
|
|
38
38
|
*
|
|
39
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
39
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern,
|
|
40
40
|
* `decimals` is not a non-negative integer, or the result's magnitude
|
|
41
41
|
* exceeds `Number.MAX_SAFE_INTEGER`.
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
44
|
export function decimalStringToScaledInteger(value, decimals, rounding) {
|
|
45
45
|
if (!isDecimalString(value)) {
|
|
46
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `'${value}'
|
|
46
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, `'${value}' does not match the decimal pattern.`);
|
|
47
47
|
}
|
|
48
48
|
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
49
49
|
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimals for integer scaling: ${decimals}`);
|
|
@@ -88,35 +88,6 @@ export function scaledIntegerToDecimalString(amount, decimals) {
|
|
|
88
88
|
* @public
|
|
89
89
|
*/
|
|
90
90
|
export const safeScaledIntegerToDecimalString = createSafeFunction('scaledIntegerToDecimalString', scaledIntegerToDecimalString);
|
|
91
|
-
/**
|
|
92
|
-
* Round `value` down to `decimals` and pad the result to exactly that many
|
|
93
|
-
* decimal places. The padding is the point: this seeds a fixed-decimal input,
|
|
94
|
-
* where `'500.00'` and `'500'` are two renderings of one amount and the field
|
|
95
|
-
* wants the first. For a canonical wire amount with no trailing zeros, read
|
|
96
|
-
* the amount off `calculateOrderAmounts` or a provider snap instead.
|
|
97
|
-
*
|
|
98
|
-
* Exact decimal arithmetic throughout, so there is no 2^53 ceiling and no
|
|
99
|
-
* float artifact: `'0.01'` at 18 decimals gives
|
|
100
|
-
* `'0.010000000000000000'`, which `Number#toFixed` cannot.
|
|
101
|
-
*
|
|
102
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a
|
|
103
|
-
* decimal string, or `decimals` is not a non-negative integer.
|
|
104
|
-
* @public
|
|
105
|
-
*/
|
|
106
|
-
export function truncateDecimal(value, decimals) {
|
|
107
|
-
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
108
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimals for truncation: ${decimals}`);
|
|
109
|
-
}
|
|
110
|
-
const truncated = decimalStringToBig(value).round(decimals, Big.roundDown);
|
|
111
|
-
// big.js carries the sign through a round to zero; '-0.00' is not a spelling.
|
|
112
|
-
return (truncated.eq(0) ? new Big(0) : truncated).toFixed(decimals);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* {@link truncateDecimal}, or `undefined` with a warning when it throws.
|
|
116
|
-
*
|
|
117
|
-
* @public
|
|
118
|
-
*/
|
|
119
|
-
export const safeTruncateDecimal = createSafeFunction('truncateDecimal', truncateDecimal);
|
|
120
91
|
/**
|
|
121
92
|
* Spell a `number` as a {@link DecimalString} in plain notation: `1e-7`
|
|
122
93
|
* becomes `'0.0000001'`, never `'1e-7'`. The boundary helper for a venue or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAY5C,MAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,KAAK,EAAE,GAAG,CAAC,WAAW;IACtB,EAAE,EAAE,GAAG,CAAC,OAAO;CACP,CAAA;AAEV;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,QAAgB,EAChB,QAAyB;IAEzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,kCAAkC,QAAQ,EAAE,CAC7C,CAAA;IACH,CAAC;IACD,OAAO,kBAAkB,CACvB,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAClE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CACtD,oBAAoB,EACpB,kBAAkB,CACnB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,QAAgB,EAChB,QAAyB;IAEzB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import Big from 'big.js';
|
|
2
2
|
/**
|
|
3
|
-
* Read a decimal string as a `Big`.
|
|
4
|
-
*
|
|
5
|
-
* `DECIMAL_PATTERN`, so an exponent form such as `'1e5'` is rejected.
|
|
3
|
+
* Read a decimal string as a `Big`. The string must match `DECIMAL_PATTERN`,
|
|
4
|
+
* so `'$1,234.5'`, `'0.05%'` and the exponent form `'1e5'` are rejected.
|
|
6
5
|
*
|
|
7
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
8
|
-
*
|
|
6
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the
|
|
7
|
+
* decimal pattern.
|
|
9
8
|
* @internal
|
|
10
9
|
*/
|
|
11
10
|
export declare function decimalStringToBig(value: string): Big;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimalStringToBig.d.ts","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"decimalStringToBig.d.ts","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAIxB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAQrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAExD"}
|
|
@@ -2,22 +2,19 @@ import { DECIMAL_PATTERN, PerpsErrorCode } from '@lifi/perps-types';
|
|
|
2
2
|
import Big from 'big.js';
|
|
3
3
|
import { PerpsError } from '../errors/PerpsError.js';
|
|
4
4
|
import { DivBig } from './big.js';
|
|
5
|
-
const DISPLAY_CHARACTERS = /[\s$%,]/g;
|
|
6
5
|
/**
|
|
7
|
-
* Read a decimal string as a `Big`.
|
|
8
|
-
*
|
|
9
|
-
* `DECIMAL_PATTERN`, so an exponent form such as `'1e5'` is rejected.
|
|
6
|
+
* Read a decimal string as a `Big`. The string must match `DECIMAL_PATTERN`,
|
|
7
|
+
* so `'$1,234.5'`, `'0.05%'` and the exponent form `'1e5'` are rejected.
|
|
10
8
|
*
|
|
11
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
12
|
-
*
|
|
9
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the
|
|
10
|
+
* decimal pattern.
|
|
13
11
|
* @internal
|
|
14
12
|
*/
|
|
15
13
|
export function decimalStringToBig(value) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `'${String(value)}' is not a decimal string.`);
|
|
14
|
+
if (typeof value !== 'string' || !DECIMAL_PATTERN.test(value)) {
|
|
15
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, `'${String(value)}' does not match the decimal pattern.`);
|
|
19
16
|
}
|
|
20
|
-
return new Big(
|
|
17
|
+
return new Big(value);
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
23
20
|
* Spell a `Big` as a canonical decimal string, with no exponent and no `-0`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimalStringToBig.js","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC
|
|
1
|
+
{"version":3,"file":"decimalStringToBig.js","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,uCAAuC,CACzD,CAAA;IACH,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -2,9 +2,9 @@ import Big from 'big.js';
|
|
|
2
2
|
import { decimalStringToBig } from './decimalStringToBig.js';
|
|
3
3
|
const DEFAULT_PLACEHOLDER = '—';
|
|
4
4
|
/**
|
|
5
|
-
* Read a display input as a `Big
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Read a display input as a `Big`. `null` means the formatter renders the
|
|
6
|
+
* placeholder; a string that does not match the decimal pattern is returned
|
|
7
|
+
* unchanged for display.
|
|
8
8
|
*/
|
|
9
9
|
function toBig(value) {
|
|
10
10
|
if (typeof value === 'number') {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* float holds about 15 significant digits, so the result can lose precision;
|
|
4
4
|
* never use it for an amount sent to a venue.
|
|
5
5
|
*
|
|
6
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
6
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern
|
|
7
7
|
* or is too large for a finite float.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
@@ -32,4 +32,11 @@ export declare function isDecimalString(value: unknown): value is string;
|
|
|
32
32
|
* @public
|
|
33
33
|
*/
|
|
34
34
|
export declare function unknownToDecimalString(value: unknown, field: string, tool: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* The safe pair of {@link unknownToDecimalString}: `undefined` and a warning
|
|
37
|
+
* in place of a throw.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export declare const safeUnknownToDecimalString: (value: unknown, field: string, tool: string) => string | undefined;
|
|
35
42
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAGrC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAWR"}
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAGrC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAWR;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,qEAGtC,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { decimalStringToBig } from './decimalStringToBig.js';
|
|
|
8
8
|
* float holds about 15 significant digits, so the result can lose precision;
|
|
9
9
|
* never use it for an amount sent to a venue.
|
|
10
10
|
*
|
|
11
|
-
* @throws {PerpsError} `ValidationError` when `value`
|
|
11
|
+
* @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern
|
|
12
12
|
* or is too large for a finite float.
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
@@ -77,4 +77,11 @@ export function unknownToDecimalString(value, field, tool) {
|
|
|
77
77
|
error.tool = tool;
|
|
78
78
|
throw error;
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The safe pair of {@link unknownToDecimalString}: `undefined` and a warning
|
|
82
|
+
* in place of a throw.
|
|
83
|
+
*
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
export const safeUnknownToDecimalString = createSafeFunction('unknownToDecimalString', unknownToDecimalString);
|
|
80
87
|
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,IAAI,KAAK,qCAAqC,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,0EAA0E;IAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,QAAQ,EACvB,GAAG,IAAI,YAAY,KAAK,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,KAAK,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,IAAI,KAAK,qCAAqC,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,0EAA0E;IAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,QAAQ,EACvB,GAAG,IAAI,YAAY,KAAK,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,KAAK,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAC1D,wBAAwB,EACxB,sBAAsB,CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalidInput.d.ts","sourceRoot":"","sources":["../../../src/errors/invalidInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAKxE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
2
|
+
import { PerpsError } from './PerpsError.js';
|
|
3
|
+
/** A `ValidationError` that names the input parameter and the rule it breaks. */
|
|
4
|
+
export function invalidInput(parameter, rule) {
|
|
5
|
+
return new PerpsError(PerpsErrorCode.ValidationError, `\`${parameter}\` ${rule}.`);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=invalidInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalidInput.js","sourceRoot":"","sources":["../../../src/errors/invalidInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,IAAY;IAC1D,OAAO,IAAI,UAAU,CACnB,cAAc,CAAC,eAAe,EAC9B,KAAK,SAAS,MAAM,IAAI,GAAG,CAC5B,CAAA;AACH,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -10,13 +10,13 @@ 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 { absDecimalString, addDecimalString, divideDecimalString, divideDecimalStringRoundDown, multiplyDecimalString, safeAbsDecimalString, safeAddDecimalString, safeDivideDecimalString, safeDivideDecimalStringRoundDown, safeMultiplyDecimalString, safeSubtractDecimalString, subtractDecimalString, } from './decimal/arithmetic.js';
|
|
13
|
+
export { absDecimalString, addDecimalString, addDecimalStrings, divideDecimalString, divideDecimalStringRoundDown, multiplyDecimalString, safeAbsDecimalString, safeAddDecimalString, safeAddDecimalStrings, safeDivideDecimalString, safeDivideDecimalStringRoundDown, safeMultiplyDecimalString, safeSubtractDecimalString, subtractDecimalString, } from './decimal/arithmetic.js';
|
|
14
14
|
export { compareDecimalStrings, isDecimalStringGreaterThan, isDecimalStringZero, safeCompareDecimalStrings, safeIsDecimalStringGreaterThan, safeIsDecimalStringZero, } from './decimal/compare.js';
|
|
15
15
|
export type { DecimalRounding } from './decimal/convert.js';
|
|
16
|
-
export { decimalStringToScaledInteger, numberToDecimalString, roundDecimalString, safeDecimalStringToScaledInteger, safeNumberToDecimalString, safeRoundDecimalString, safeScaledIntegerToDecimalString,
|
|
16
|
+
export { decimalStringToScaledInteger, numberToDecimalString, roundDecimalString, safeDecimalStringToScaledInteger, safeNumberToDecimalString, safeRoundDecimalString, safeScaledIntegerToDecimalString, scaledIntegerToDecimalString, } from './decimal/convert.js';
|
|
17
17
|
export type { FormatOptions, RoundingMode } from './decimal/format.js';
|
|
18
18
|
export { formatCompactUsd, formatNumber, formatPrice, formatSignedPercent, formatSignedUsd, formatUsd, } from './decimal/format.js';
|
|
19
|
-
export { decimalStringToNumber, isDecimalString, safeDecimalStringToNumber, unknownToDecimalString, } from './decimal/parse.js';
|
|
19
|
+
export { decimalStringToNumber, isDecimalString, safeDecimalStringToNumber, safeUnknownToDecimalString, unknownToDecimalString, } from './decimal/parse.js';
|
|
20
20
|
export { PerpsErrorMessage } from './errors/constants.js';
|
|
21
21
|
export { PerpsError } from './errors/PerpsError.js';
|
|
22
22
|
export { classifyFill, classifyFillFromPosition, FillClassification, } from './math/fills.js';
|
|
@@ -82,6 +82,7 @@ export type { DeclaredDepositAsset, DepositFlow, DepositFlowFirstDepositPipeline
|
|
|
82
82
|
export type { ActionSignerContribution, LiquidationEstimateParams, PerpsProvider, PerpsProviderPlugin, PerpsSDKClient, ProviderAccountExistsParams, ProviderGetAccountParams, ProviderGetActivityParams, ProviderGetAvailableToTradeParams, ProviderGetDepositFlowParams, ProviderGetFillsParams, ProviderGetMarketSettingsParams, ProviderGetOrderParams, ProviderGetOrdersParams, ProviderGetPortfolioHistoryParams, ProviderGetPositionsParams, ProviderGetQuoteParams, ProviderGetWithdrawableBalancesParams, ProviderGetWithdrawalTypesParams, ProviderGetWithdrawFlowParams, QuoteListener, SignActionProgress, SignActionsContext, } from './types/provider.js';
|
|
83
83
|
export type { ProviderWithdrawableBalance, WithdrawableBalance, WithdrawalSourceTypes, WithdrawalTypeOption, WithdrawFlow, WithdrawFlowReady, WithdrawFlowSetupRequired, } from './types/withdrawal.js';
|
|
84
84
|
export { paginateActivity } from './utils/activityPaging.js';
|
|
85
|
+
export { createSafeFunction } from './utils/createSafeFunction.js';
|
|
85
86
|
export { ETHEREUM_NATIVE_GAS, ETHEREUM_USDC, HYPERLIQUID_USDC, LIGHTER_USDC, ROBINHOOD_NATIVE_GAS, ROBINHOOD_USDG, } from './utils/depositAssets.js';
|
|
86
87
|
export { ExplorerChainId, explorerTxUrl, explorerTxUrlFromBase, } from './utils/explorer.js';
|
|
87
88
|
export { ACTIVE_ORDER_STATUSES, isActiveOrderStatus, isRegularOrder, isStopLossOrder, isTakeProfitOrder, isTpSlOrder, isTriggerOrder, isTwapOrder, triggerConditionFor, } from './utils/orderClassification.js';
|
|
@@ -101,7 +102,7 @@ export type { EventForSubscription, SubscriptionListener, WsConnectionStatus, Ws
|
|
|
101
102
|
export { WS_CHANNEL_TEARDOWN_LINGER_MS, WsProviderBase, } from './websocket/WsProviderBase.js';
|
|
102
103
|
export { wsLog } from './websocket/wsLog.js';
|
|
103
104
|
export type { OrderAmounts, OrderAmountsInput, } from './wire/orderAmounts.js';
|
|
104
|
-
export { calculateOrderAmounts } from './wire/orderAmounts.js';
|
|
105
|
+
export { calculateOrderAmounts, safeCalculateOrderAmounts, } from './wire/orderAmounts.js';
|
|
105
106
|
export type { RefuelAmountInput } from './wire/refuel.js';
|
|
106
107
|
export { calculateRefuelAmount, REFUEL_FEE_MARGIN_PERCENT, } from './wire/refuel.js';
|
|
107
108
|
export { snapOrderPrice, snapOrderSize } from './wire/snap.js';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|