@lifi/perps-sdk-provider-ondo 26.0.0 → 26.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/utils/orderFormatting.d.ts.map +1 -1
- package/dist/cjs/utils/orderFormatting.js +8 -8
- package/dist/cjs/utils/orderFormatting.js.map +1 -1
- package/dist/esm/utils/orderFormatting.d.ts.map +1 -1
- package/dist/esm/utils/orderFormatting.js +9 -8
- package/dist/esm/utils/orderFormatting.js.map +1 -1
- package/dist/types/utils/orderFormatting.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/utils/orderFormatting.ts +11 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;AAsC1B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAIf;AAWD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAOf"}
|
|
@@ -8,6 +8,12 @@ exports.snapOrderSize = snapOrderSize;
|
|
|
8
8
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
9
9
|
const perps_types_1 = require("@lifi/perps-types");
|
|
10
10
|
const big_js_1 = __importDefault(require("big.js"));
|
|
11
|
+
const TickBig = (0, big_js_1.default)();
|
|
12
|
+
TickBig.DP = 0;
|
|
13
|
+
TickBig.RM = big_js_1.default.roundHalfUp;
|
|
14
|
+
const LotBig = (0, big_js_1.default)();
|
|
15
|
+
LotBig.DP = 0;
|
|
16
|
+
LotBig.RM = big_js_1.default.roundDown;
|
|
11
17
|
const powerOfTenIncrement = (decimals) => new big_js_1.default(`1e-${decimals}`);
|
|
12
18
|
const priceGrid = (market) => {
|
|
13
19
|
if (market.priceIncrement !== undefined) {
|
|
@@ -21,20 +27,14 @@ const priceGrid = (market) => {
|
|
|
21
27
|
};
|
|
22
28
|
function snapOrderPrice(market, price) {
|
|
23
29
|
const increment = priceGrid(market);
|
|
24
|
-
const snapped = new
|
|
25
|
-
.div(increment)
|
|
26
|
-
.round(0, big_js_1.default.roundHalfUp)
|
|
27
|
-
.times(increment);
|
|
30
|
+
const snapped = new TickBig(price).div(increment).times(increment);
|
|
28
31
|
return snapped.eq(0) ? '0' : snapped.toFixed();
|
|
29
32
|
}
|
|
30
33
|
function snapOrderSize(market, size) {
|
|
31
34
|
const increment = market.sizeIncrement !== undefined
|
|
32
35
|
? new big_js_1.default(market.sizeIncrement)
|
|
33
36
|
: powerOfTenIncrement(market.szDecimals);
|
|
34
|
-
const snapped = new
|
|
35
|
-
.div(increment)
|
|
36
|
-
.round(0, big_js_1.default.roundDown)
|
|
37
|
-
.times(increment);
|
|
37
|
+
const snapped = new LotBig(size).div(increment).times(increment);
|
|
38
38
|
return snapped.eq(0) ? '0' : snapped.toFixed();
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=orderFormatting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":";;;;;AAsDA,wCAOC;AAWD,sCAUC;AAvED,+CAA4C;AAC5C,mDAI0B;AAC1B,oDAAwB;AAGxB,MAAM,OAAO,GAAG,IAAA,gBAAG,GAAE,CAAA;AACrB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;AACd,OAAO,CAAC,EAAE,GAAG,gBAAG,CAAC,WAAW,CAAA;AAE5B,MAAM,MAAM,GAAG,IAAA,gBAAG,GAAE,CAAA;AACpB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;AACb,MAAM,CAAC,EAAE,GAAG,gBAAG,CAAC,SAAS,CAAA;AAEzB,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAO,EAAE,CAAC,IAAI,gBAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;AAEhF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAO,EAAE;IACxC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,gBAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,oDAAoD;QACtE,iDAAiD,CACpD,CAAA;AACH,CAAC,CAAA;AAYD,SAAgB,cAAc,CAC5B,MAAc,EACd,KAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC;AAWD,SAAgB,aAAa,CAC3B,MAAc,EACd,IAAmB;IAEnB,MAAM,SAAS,GACb,MAAM,CAAC,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,IAAI,gBAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAChE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;AA4B1B;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAOf"}
|
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
import { PerpsError } from '@lifi/perps-sdk';
|
|
12
12
|
import { PerpsErrorCode, } from '@lifi/perps-types';
|
|
13
13
|
import Big from 'big.js';
|
|
14
|
+
// At DP 0, `div` rounds the exact quotient once, straight to a whole step count.
|
|
15
|
+
const TickBig = Big();
|
|
16
|
+
TickBig.DP = 0;
|
|
17
|
+
TickBig.RM = Big.roundHalfUp;
|
|
18
|
+
const LotBig = Big();
|
|
19
|
+
LotBig.DP = 0;
|
|
20
|
+
LotBig.RM = Big.roundDown;
|
|
14
21
|
const powerOfTenIncrement = (decimals) => new Big(`1e-${decimals}`);
|
|
15
22
|
const priceGrid = (market) => {
|
|
16
23
|
if (market.priceIncrement !== undefined) {
|
|
@@ -34,10 +41,7 @@ const priceGrid = (market) => {
|
|
|
34
41
|
*/
|
|
35
42
|
export function snapOrderPrice(market, price) {
|
|
36
43
|
const increment = priceGrid(market);
|
|
37
|
-
const snapped = new
|
|
38
|
-
.div(increment)
|
|
39
|
-
.round(0, Big.roundHalfUp)
|
|
40
|
-
.times(increment);
|
|
44
|
+
const snapped = new TickBig(price).div(increment).times(increment);
|
|
41
45
|
return snapped.eq(0) ? '0' : snapped.toFixed();
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
@@ -53,10 +57,7 @@ export function snapOrderSize(market, size) {
|
|
|
53
57
|
const increment = market.sizeIncrement !== undefined
|
|
54
58
|
? new Big(market.sizeIncrement)
|
|
55
59
|
: powerOfTenIncrement(market.szDecimals);
|
|
56
|
-
const snapped = new
|
|
57
|
-
.div(increment)
|
|
58
|
-
.round(0, Big.roundDown)
|
|
59
|
-
.times(increment);
|
|
60
|
+
const snapped = new LotBig(size).div(increment).times(increment);
|
|
60
61
|
return snapped.eq(0) ? '0' : snapped.toFixed();
|
|
61
62
|
}
|
|
62
63
|
//# sourceMappingURL=orderFormatting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAGL,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;AAEhF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAO,EAAE;IACxC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,oDAAoD;QACtE,iDAAiD,CACpD,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,KAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAGL,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB,iFAAiF;AACjF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAA;AACrB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;AACd,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;AAE5B,MAAM,MAAM,GAAG,GAAG,EAAE,CAAA;AACpB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;AACb,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,CAAA;AAEzB,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;AAEhF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAO,EAAE;IACxC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,oDAAoD;QACtE,iDAAiD,CACpD,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,KAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,IAAmB;IAEnB,MAAM,SAAS,GACb,MAAM,CAAC,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAChE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;AA4B1B;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAOf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-ondo",
|
|
3
|
-
"version": "26.0.
|
|
3
|
+
"version": "26.0.1",
|
|
4
4
|
"description": "Ondo Perps provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"big.js": "^7.0.1",
|
|
46
46
|
"viem": "^2.55.18",
|
|
47
|
-
"@lifi/perps-types": "^20.
|
|
47
|
+
"@lifi/perps-types": "^20.2.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@lifi/perps-sdk": "^23.
|
|
50
|
+
"@lifi/perps-sdk": "^23.1.0"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|
|
@@ -17,6 +17,15 @@ import {
|
|
|
17
17
|
} from '@lifi/perps-types'
|
|
18
18
|
import Big from 'big.js'
|
|
19
19
|
|
|
20
|
+
// At DP 0, `div` rounds the exact quotient once, straight to a whole step count.
|
|
21
|
+
const TickBig = Big()
|
|
22
|
+
TickBig.DP = 0
|
|
23
|
+
TickBig.RM = Big.roundHalfUp
|
|
24
|
+
|
|
25
|
+
const LotBig = Big()
|
|
26
|
+
LotBig.DP = 0
|
|
27
|
+
LotBig.RM = Big.roundDown
|
|
28
|
+
|
|
20
29
|
const powerOfTenIncrement = (decimals: number): Big => new Big(`1e-${decimals}`)
|
|
21
30
|
|
|
22
31
|
const priceGrid = (market: Market): Big => {
|
|
@@ -48,10 +57,7 @@ export function snapOrderPrice(
|
|
|
48
57
|
price: DecimalString
|
|
49
58
|
): DecimalString {
|
|
50
59
|
const increment = priceGrid(market)
|
|
51
|
-
const snapped = new
|
|
52
|
-
.div(increment)
|
|
53
|
-
.round(0, Big.roundHalfUp)
|
|
54
|
-
.times(increment)
|
|
60
|
+
const snapped = new TickBig(price).div(increment).times(increment)
|
|
55
61
|
return snapped.eq(0) ? '0' : snapped.toFixed()
|
|
56
62
|
}
|
|
57
63
|
|
|
@@ -72,9 +78,6 @@ export function snapOrderSize(
|
|
|
72
78
|
market.sizeIncrement !== undefined
|
|
73
79
|
? new Big(market.sizeIncrement)
|
|
74
80
|
: powerOfTenIncrement(market.szDecimals)
|
|
75
|
-
const snapped = new
|
|
76
|
-
.div(increment)
|
|
77
|
-
.round(0, Big.roundDown)
|
|
78
|
-
.times(increment)
|
|
81
|
+
const snapped = new LotBig(size).div(increment).times(increment)
|
|
79
82
|
return snapped.eq(0) ? '0' : snapped.toFixed()
|
|
80
83
|
}
|