@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.
- 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/cjs/utils/withdrawableBalances.d.ts.map +1 -1
- package/dist/cjs/utils/withdrawableBalances.js +2 -1
- package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
- package/dist/esm/utils/orderFormatting.d.ts.map +1 -1
- package/dist/esm/utils/orderFormatting.js +8 -9
- package/dist/esm/utils/orderFormatting.js.map +1 -1
- package/dist/esm/utils/withdrawableBalances.d.ts +2 -2
- package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
- package/dist/esm/utils/withdrawableBalances.js +4 -3
- package/dist/esm/utils/withdrawableBalances.js.map +1 -1
- package/dist/types/utils/orderFormatting.d.ts.map +1 -1
- package/dist/types/utils/withdrawableBalances.d.ts +2 -2
- package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/utils/orderFormatting.ts +8 -11
- package/src/utils/withdrawableBalances.ts +4 -3
|
@@ -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;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
|
|
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
|
|
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":";;;;;
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
5
|
-
* venue's own figure for the margin the account can take out. A
|
|
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;
|
|
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
|
|
5
|
-
* venue's own figure for the margin the account can take out. A
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
|
5
|
-
* venue's own figure for the margin the account can take out. A
|
|
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;
|
|
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-
|
|
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-
|
|
47
|
+
"@lifi/perps-types": "^0.0.0-preview-e1b82a0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@lifi/perps-sdk": "^0.0.0-preview-
|
|
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
|
|
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
|
|
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
|
|
10
|
-
* venue's own figure for the margin the account can take out. A
|
|
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
|
-
|
|
36
|
+
categoryId: ONDO_PROVIDER_KEY,
|
|
36
37
|
available: available.toFixed(),
|
|
37
38
|
...(withdrawalFeeUsd === undefined
|
|
38
39
|
? {}
|