@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.
@@ -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;AA6B1B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAOf;AAWD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAUf"}
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 big_js_1.default(price)
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 big_js_1.default(size)
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":";;;;;AA6CA,wCAUC;AAWD,sCAaC;AApED,+CAA4C;AAC5C,mDAI0B;AAC1B,oDAAwB;AAExB,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,gBAAG,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,gBAAG,CAAC,WAAW,CAAC;SACzB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,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,gBAAG,CAAC,IAAI,CAAC;SAC1B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,gBAAG,CAAC,SAAS,CAAC;SACvB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
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;AAmB1B;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAOf;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAUf"}
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 Big(price)
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 Big(size)
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,GAAG,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;SACzB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,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,GAAG,CAAC,IAAI,CAAC;SAC1B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;SACvB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
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;AAmB1B;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,aAAa,CAOf;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,aAAa,CAUf"}
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.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.1.0"
47
+ "@lifi/perps-types": "^20.2.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@lifi/perps-sdk": "^23.0.0"
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 Big(price)
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 Big(size)
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
  }