@lifi/perps-sdk-provider-ondo 0.0.0-preview-8effdce → 0.0.0-preview-e1b82a0

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;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"}
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"}
@@ -8,12 +8,6 @@ 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;
17
11
  const powerOfTenIncrement = (decimals) => new big_js_1.default(`1e-${decimals}`);
18
12
  const priceGrid = (market) => {
19
13
  if (market.priceIncrement !== undefined) {
@@ -27,14 +21,20 @@ const priceGrid = (market) => {
27
21
  };
28
22
  function snapOrderPrice(market, price) {
29
23
  const increment = priceGrid(market);
30
- const snapped = new TickBig(price).div(increment).times(increment);
24
+ const snapped = new big_js_1.default(price)
25
+ .div(increment)
26
+ .round(0, big_js_1.default.roundHalfUp)
27
+ .times(increment);
31
28
  return snapped.eq(0) ? '0' : snapped.toFixed();
32
29
  }
33
30
  function snapOrderSize(market, size) {
34
31
  const increment = market.sizeIncrement !== undefined
35
32
  ? new big_js_1.default(market.sizeIncrement)
36
33
  : powerOfTenIncrement(market.szDecimals);
37
- const snapped = new LotBig(size).div(increment).times(increment);
34
+ const snapped = new big_js_1.default(size)
35
+ .div(increment)
36
+ .round(0, big_js_1.default.roundDown)
37
+ .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":";;;;;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
+ {"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 +1 @@
1
- {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAgB1D,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAgB1D,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ondoWithdrawableBalances = void 0;
4
4
  const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const constants_js_1 = require("../constants.js");
5
6
  const decimal_js_1 = require("./decimal.js");
6
7
  const ondoWithdrawableBalances = (assetId, balance, withdrawalFeeUsd) => {
7
8
  const available = (0, decimal_js_1.toWireBig)(balance.withdrawableMargin, 'balance.withdrawableMargin');
@@ -10,7 +11,7 @@ const ondoWithdrawableBalances = (assetId, balance, withdrawalFeeUsd) => {
10
11
  }
11
12
  const row = {
12
13
  assetId,
13
- route: 'perps',
14
+ categoryId: constants_js_1.ONDO_PROVIDER_KEY,
14
15
  available: available.toFixed(),
15
16
  ...(withdrawalFeeUsd === undefined
16
17
  ? {}
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":";;;AAAA,+CAGwB;AAExB,6CAAwC;AAejC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,OAA2B,EAC3B,gBAAyB,EACM,EAAE;IACjC,MAAM,SAAS,GAAG,IAAA,sBAAS,EACzB,OAAO,CAAC,kBAAkB,EAC1B,4BAA4B,CAC7B,CAAA;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,GAAG,GAAG;QACV,OAAO;QACP,KAAK,EAAE,OAAgB;QACvB,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,IAAA,sBAAS,EACtB,gBAAgB,EAChB,0BAA0B,CAC3B,CAAC,OAAO,EAAE;gBACX,aAAa,EAAE,KAAK;aACrB,CAAC;KACP,CAAA;IACD,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAA,gCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA;AA3BY,QAAA,wBAAwB,4BA2BpC"}
1
+ {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":";;;AAAA,+CAGwB;AACxB,kDAAmD;AAEnD,6CAAwC;AAejC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,OAA2B,EAC3B,gBAAyB,EACM,EAAE;IACjC,MAAM,SAAS,GAAG,IAAA,sBAAS,EACzB,OAAO,CAAC,kBAAkB,EAC1B,4BAA4B,CAC7B,CAAA;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,GAAG,GAAG;QACV,OAAO;QACP,UAAU,EAAE,gCAAiB;QAC7B,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,IAAA,sBAAS,EACtB,gBAAgB,EAChB,0BAA0B,CAC3B,CAAC,OAAO,EAAE;gBACX,aAAa,EAAE,KAAK;aACrB,CAAC;KACP,CAAA;IACD,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAA,gCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA;AA3BY,QAAA,wBAAwB,4BA2BpC"}
@@ -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;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"}
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"}
@@ -11,13 +11,6 @@
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;
21
14
  const powerOfTenIncrement = (decimals) => new Big(`1e-${decimals}`);
22
15
  const priceGrid = (market) => {
23
16
  if (market.priceIncrement !== undefined) {
@@ -41,7 +34,10 @@ const priceGrid = (market) => {
41
34
  */
42
35
  export function snapOrderPrice(market, price) {
43
36
  const increment = priceGrid(market);
44
- const snapped = new TickBig(price).div(increment).times(increment);
37
+ const snapped = new Big(price)
38
+ .div(increment)
39
+ .round(0, Big.roundHalfUp)
40
+ .times(increment);
45
41
  return snapped.eq(0) ? '0' : snapped.toFixed();
46
42
  }
47
43
  /**
@@ -57,7 +53,10 @@ export function snapOrderSize(market, size) {
57
53
  const increment = market.sizeIncrement !== undefined
58
54
  ? new Big(market.sizeIncrement)
59
55
  : powerOfTenIncrement(market.szDecimals);
60
- const snapped = new LotBig(size).div(increment).times(increment);
56
+ const snapped = new Big(size)
57
+ .div(increment)
58
+ .round(0, Big.roundDown)
59
+ .times(increment);
61
60
  return snapped.eq(0) ? '0' : snapped.toFixed();
62
61
  }
63
62
  //# 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,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
+ {"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,8 +1,8 @@
1
1
  import { type ProviderWithdrawableBalance } from '@lifi/perps-sdk';
2
2
  import type { OndoBalanceSummary } from '../types/wire.js';
3
3
  /**
4
- * The single route an Ondo withdrawal draws on: `withdrawableMargin`, the
5
- * venue's own figure for the margin the account can take out. A route with
4
+ * The single category an Ondo withdrawal draws on: `withdrawableMargin`, the
5
+ * venue's own figure for the margin the account can take out. A category with
6
6
  * nothing left to draw carries no row, and the caller applies the per-asset
7
7
  * venue minimum.
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { calculateWithdrawMax, } from '@lifi/perps-sdk';
2
+ import { ONDO_PROVIDER_KEY } from '../constants.js';
2
3
  import { toWireBig } from './decimal.js';
3
4
  /**
4
- * The single route an Ondo withdrawal draws on: `withdrawableMargin`, the
5
- * venue's own figure for the margin the account can take out. A route with
5
+ * The single category an Ondo withdrawal draws on: `withdrawableMargin`, the
6
+ * venue's own figure for the margin the account can take out. A category with
6
7
  * nothing left to draw carries no row, and the caller applies the per-asset
7
8
  * venue minimum.
8
9
  *
@@ -20,7 +21,7 @@ export const ondoWithdrawableBalances = (assetId, balance, withdrawalFeeUsd) =>
20
21
  }
21
22
  const row = {
22
23
  assetId,
23
- route: 'perps',
24
+ categoryId: ONDO_PROVIDER_KEY,
24
25
  available: available.toFixed(),
25
26
  ...(withdrawalFeeUsd === undefined
26
27
  ? {}
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,OAA2B,EAC3B,gBAAyB,EACM,EAAE;IACjC,MAAM,SAAS,GAAG,SAAS,CACzB,OAAO,CAAC,kBAAkB,EAC1B,4BAA4B,CAC7B,CAAA;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,GAAG,GAAG;QACV,OAAO;QACP,KAAK,EAAE,OAAgB;QACvB,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,SAAS,CACtB,gBAAgB,EAChB,0BAA0B,CAC3B,CAAC,OAAO,EAAE;gBACX,aAAa,EAAE,KAAK;aACrB,CAAC;KACP,CAAA;IACD,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,OAA2B,EAC3B,gBAAyB,EACM,EAAE;IACjC,MAAM,SAAS,GAAG,SAAS,CACzB,OAAO,CAAC,kBAAkB,EAC1B,4BAA4B,CAC7B,CAAA;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,GAAG,GAAG;QACV,OAAO;QACP,UAAU,EAAE,iBAAiB;QAC7B,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,SAAS,CACtB,gBAAgB,EAChB,0BAA0B,CAC3B,CAAC,OAAO,EAAE;gBACX,aAAa,EAAE,KAAK;aACrB,CAAC;KACP,CAAA;IACD,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA"}
@@ -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;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"}
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,8 +1,8 @@
1
1
  import { type ProviderWithdrawableBalance } from '@lifi/perps-sdk';
2
2
  import type { OndoBalanceSummary } from '../types/wire.js';
3
3
  /**
4
- * The single route an Ondo withdrawal draws on: `withdrawableMargin`, the
5
- * venue's own figure for the margin the account can take out. A route with
4
+ * The single category an Ondo withdrawal draws on: `withdrawableMargin`, the
5
+ * venue's own figure for the margin the account can take out. A category with
6
6
  * nothing left to draw carries no row, and the caller applies the per-asset
7
7
  * venue minimum.
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,SAAS,kBAAkB,EAC3B,mBAAmB,MAAM,KACxB,2BAA2B,EAuB7B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-ondo",
3
- "version": "0.0.0-preview-8effdce",
3
+ "version": "0.0.0-preview-e1b82a0",
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": "^0.0.0-preview-8effdce"
47
+ "@lifi/perps-types": "^0.0.0-preview-e1b82a0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@lifi/perps-sdk": "^0.0.0-preview-8effdce"
50
+ "@lifi/perps-sdk": "^0.0.0-preview-e1b82a0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
@@ -17,15 +17,6 @@ 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
-
29
20
  const powerOfTenIncrement = (decimals: number): Big => new Big(`1e-${decimals}`)
30
21
 
31
22
  const priceGrid = (market: Market): Big => {
@@ -57,7 +48,10 @@ export function snapOrderPrice(
57
48
  price: DecimalString
58
49
  ): DecimalString {
59
50
  const increment = priceGrid(market)
60
- const snapped = new TickBig(price).div(increment).times(increment)
51
+ const snapped = new Big(price)
52
+ .div(increment)
53
+ .round(0, Big.roundHalfUp)
54
+ .times(increment)
61
55
  return snapped.eq(0) ? '0' : snapped.toFixed()
62
56
  }
63
57
 
@@ -78,6 +72,9 @@ export function snapOrderSize(
78
72
  market.sizeIncrement !== undefined
79
73
  ? new Big(market.sizeIncrement)
80
74
  : powerOfTenIncrement(market.szDecimals)
81
- const snapped = new LotBig(size).div(increment).times(increment)
75
+ const snapped = new Big(size)
76
+ .div(increment)
77
+ .round(0, Big.roundDown)
78
+ .times(increment)
82
79
  return snapped.eq(0) ? '0' : snapped.toFixed()
83
80
  }
@@ -2,12 +2,13 @@ import {
2
2
  calculateWithdrawMax,
3
3
  type ProviderWithdrawableBalance,
4
4
  } from '@lifi/perps-sdk'
5
+ import { ONDO_PROVIDER_KEY } from '../constants.js'
5
6
  import type { OndoBalanceSummary } from '../types/wire.js'
6
7
  import { toWireBig } from './decimal.js'
7
8
 
8
9
  /**
9
- * The single route an Ondo withdrawal draws on: `withdrawableMargin`, the
10
- * venue's own figure for the margin the account can take out. A route with
10
+ * The single category an Ondo withdrawal draws on: `withdrawableMargin`, the
11
+ * venue's own figure for the margin the account can take out. A category with
11
12
  * nothing left to draw carries no row, and the caller applies the per-asset
12
13
  * venue minimum.
13
14
  *
@@ -32,7 +33,7 @@ export const ondoWithdrawableBalances = (
32
33
  }
33
34
  const row = {
34
35
  assetId,
35
- route: 'perps' as const,
36
+ categoryId: ONDO_PROVIDER_KEY,
36
37
  available: available.toFixed(),
37
38
  ...(withdrawalFeeUsd === undefined
38
39
  ? {}