@1stdex/first-sdk 1.0.91 → 1.0.92-beta.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/entities/book/apis/index.js +2 -1
- package/dist/cjs/entities/book/apis/index.js.map +1 -1
- package/dist/cjs/entities/book/apis/position.js +41 -1
- package/dist/cjs/entities/book/apis/position.js.map +1 -1
- package/dist/cjs/views/book.js +5 -1
- package/dist/cjs/views/book.js.map +1 -1
- package/dist/cjs/views/index.js +2 -1
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/esm/entities/book/apis/index.js +1 -1
- package/dist/esm/entities/book/apis/index.js.map +1 -1
- package/dist/esm/entities/book/apis/position.js +56 -1
- package/dist/esm/entities/book/apis/position.js.map +1 -1
- package/dist/esm/views/book.js +27 -1
- package/dist/esm/views/book.js.map +1 -1
- package/dist/esm/views/index.js +1 -1
- package/dist/esm/views/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/entities/book/apis/index.d.ts +1 -1
- package/dist/types/entities/book/apis/index.d.ts.map +1 -1
- package/dist/types/entities/book/apis/position.d.ts +9 -0
- package/dist/types/entities/book/apis/position.d.ts.map +1 -1
- package/dist/types/views/book.d.ts +32 -0
- package/dist/types/views/book.d.ts.map +1 -1
- package/dist/types/views/index.d.ts +1 -1
- package/dist/types/views/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchBook = exports.fetchBookPositionValue = void 0;
|
|
3
|
+
exports.fetchBook = exports.fetchBookUnitsFromUsdValue = exports.fetchBookPositionValue = void 0;
|
|
4
4
|
const unit_size_1 = require("../../../utils/unit-size");
|
|
5
5
|
const addresses_1 = require("../../../constants/chain-configs/addresses");
|
|
6
6
|
const book_viewer_abi_1 = require("../../../constants/abis/core/book-viewer-abi");
|
|
@@ -9,6 +9,7 @@ const book_id_1 = require("../utils/book-id");
|
|
|
9
9
|
const model_1 = require("../model");
|
|
10
10
|
var position_1 = require("./position");
|
|
11
11
|
Object.defineProperty(exports, "fetchBookPositionValue", { enumerable: true, get: function () { return position_1.fetchBookPositionValue; } });
|
|
12
|
+
Object.defineProperty(exports, "fetchBookUnitsFromUsdValue", { enumerable: true, get: function () { return position_1.fetchBookUnitsFromUsdValue; } });
|
|
12
13
|
const MAX_DEPTH = 20n;
|
|
13
14
|
const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph) => {
|
|
14
15
|
const unitSize = (0, unit_size_1.calculateUnitSize)(chainId, quoteCurrency);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":";;;AAIA,wDAA6D;AAC7D,0EAAgF;AAChF,kFAA+E;AAC/E,wEAAqE;AACrE,8CAA4C;AAC5C,oCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchBookPositionValue = void 0;
|
|
3
|
+
exports.fetchBookUnitsFromUsdValue = exports.fetchBookPositionValue = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const bignumber_js_1 = require("bignumber.js");
|
|
6
6
|
const subgraph_1 = require("../../../constants/chain-configs/subgraph");
|
|
@@ -45,4 +45,44 @@ const fetchBookPositionValue = async ({ chainId, bookId, tick, units, }) => {
|
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
47
|
exports.fetchBookPositionValue = fetchBookPositionValue;
|
|
48
|
+
const fetchBookUnitsFromUsdValue = async ({ chainId, bookId, tick, usdValue, }) => {
|
|
49
|
+
const { data: { book }, } = await subgraph_1.Subgraph.get(chainId, 'getBookForPositionValue', 'query getBookForPositionValue($bookId: ID!) { book(id: $bookId) { id unitSize base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } } }', {
|
|
50
|
+
bookId: bookId.toString(),
|
|
51
|
+
});
|
|
52
|
+
if (!book) {
|
|
53
|
+
throw new Error(`Book not found: ${bookId}`);
|
|
54
|
+
}
|
|
55
|
+
const baseAddress = (0, viem_1.getAddress)(book.base.id);
|
|
56
|
+
const quoteAddress = (0, viem_1.getAddress)(book.quote.id);
|
|
57
|
+
const unitSize = BigInt(book.unitSize);
|
|
58
|
+
const { quoteTokenAddress: marketQuoteAddress } = (0, market_id_1.getMarketId)(chainId, [
|
|
59
|
+
baseAddress,
|
|
60
|
+
quoteAddress,
|
|
61
|
+
]);
|
|
62
|
+
const isBidBook = (0, viem_1.isAddressEqual)(quoteAddress, marketQuoteAddress);
|
|
63
|
+
let units;
|
|
64
|
+
let bookType;
|
|
65
|
+
if (isBidBook) {
|
|
66
|
+
const baseAmount = new bignumber_js_1.default(usdValue).div(book.base.priceUSD);
|
|
67
|
+
const totalBaseAmount = baseAmount
|
|
68
|
+
.times(new bignumber_js_1.default(10).pow(Number(book.base.decimals)))
|
|
69
|
+
.integerValue(bignumber_js_1.default.ROUND_DOWN);
|
|
70
|
+
const totalQuoteAmount = (0, utils_1.baseToQuote)(tick, BigInt(totalBaseAmount.toFixed()), false);
|
|
71
|
+
units = totalQuoteAmount / unitSize;
|
|
72
|
+
bookType = 'bids';
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const baseAmount = new bignumber_js_1.default(usdValue).div(book.quote.priceUSD);
|
|
76
|
+
const totalBaseAmount = baseAmount
|
|
77
|
+
.times(new bignumber_js_1.default(10).pow(Number(book.quote.decimals)))
|
|
78
|
+
.integerValue(bignumber_js_1.default.ROUND_DOWN);
|
|
79
|
+
units = BigInt(totalBaseAmount.toFixed()) / unitSize;
|
|
80
|
+
bookType = 'asks';
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
bookType,
|
|
84
|
+
units,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.fetchBookUnitsFromUsdValue = fetchBookUnitsFromUsdValue;
|
|
48
88
|
//# sourceMappingURL=position.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/position.ts"],"names":[],"mappings":";;;AAAA,+BAAkD;AAClD,+CAAqC;AAGrC,wEAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/position.ts"],"names":[],"mappings":";;;AAAA,+BAAkD;AAClD,+CAAqC;AAGrC,wEAAqE;AACrE,0CAA0D;AAC1D,4DAA2D;AAE3D,sBAAS,CAAC,MAAM,CAAC;IACf,cAAc,EAAE,GAAG;CACpB,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,GAMN,EAA4D,EAAE;IAE7D,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,GACf,GAAG,MAAM,mBAAQ,CAAC,GAAG,CAsBpB,OAAO,EACP,yBAAyB,EACzB,wKAAwK,EACxK;QACE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;KAC1B,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAGvC,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,IAAA,uBAAW,EAAC,OAAO,EAAE;QACrE,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAGH,MAAM,SAAS,GAAG,IAAA,qBAAc,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAEnE,IAAI,QAAgB,CAAC;IACrB,IAAI,QAAyB,CAAC;IAE9B,IAAI,SAAS,EAAE,CAAC;QAId,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAC;QAG1C,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAGnE,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAC9D,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAClD,CAAC;QAGF,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1D,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;SAAM,CAAC;QAIN,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,CAAC;QAGzC,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAC9D,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;QAGF,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AArGW,QAAA,sBAAsB,0BAqGjC;AAEK,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,GAMT,EAAyD,EAAE;IAE1D,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,GACf,GAAG,MAAM,mBAAQ,CAAC,GAAG,CAsBpB,OAAO,EACP,yBAAyB,EACzB,wKAAwK,EACxK;QACE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;KAC1B,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAGvC,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,IAAA,uBAAW,EAAC,OAAO,EAAE;QACrE,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAGH,MAAM,SAAS,GAAG,IAAA,qBAAc,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAEnE,IAAI,KAAa,CAAC;IAClB,IAAI,QAAyB,CAAC;IAE9B,IAAI,SAAS,EAAE,CAAC;QAMd,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAGnE,MAAM,eAAe,GAAG,UAAU;aAC/B,KAAK,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxD,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC,CAAC;QAGtC,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,IAAI,EACJ,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,EACjC,KAAK,CACN,CAAC;QAGF,KAAK,GAAG,gBAAgB,GAAG,QAAQ,CAAC;QACpC,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;SAAM,CAAC;QAMN,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAGpE,MAAM,eAAe,GAAG,UAAU;aAC/B,KAAK,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzD,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC,CAAC;QAGtC,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrD,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AA7GW,QAAA,0BAA0B,8BA6GrC"}
|
package/dist/cjs/views/book.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getBookPositionValue = void 0;
|
|
3
|
+
exports.getBookUnitsFromUsdValue = exports.getBookPositionValue = void 0;
|
|
4
4
|
const apis_1 = require("../entities/book/apis");
|
|
5
5
|
const getBookPositionValue = async ({ chainId, bookId, tick, units, }) => {
|
|
6
6
|
return (0, apis_1.fetchBookPositionValue)({ chainId, bookId, tick, units });
|
|
7
7
|
};
|
|
8
8
|
exports.getBookPositionValue = getBookPositionValue;
|
|
9
|
+
const getBookUnitsFromUsdValue = async ({ chainId, bookId, tick, usdValue, }) => {
|
|
10
|
+
return (0, apis_1.fetchBookUnitsFromUsdValue)({ chainId, bookId, tick, usdValue });
|
|
11
|
+
};
|
|
12
|
+
exports.getBookUnitsFromUsdValue = getBookUnitsFromUsdValue;
|
|
9
13
|
//# sourceMappingURL=book.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/views/book.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/views/book.ts"],"names":[],"mappings":";;;AACA,gDAG+B;AAyBxB,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,GAMN,EAA4D,EAAE;IAC7D,OAAO,IAAA,6BAAsB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AAyBK,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,GAMT,EAAyD,EAAE;IAC1D,OAAO,IAAA,iCAA0B,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAZW,QAAA,wBAAwB,4BAYnC"}
|
package/dist/cjs/views/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCrossChainLZWithdrawalStatus = exports.getUserVolumeUSD = exports.getTradeHistory = exports.getOrderPositionValue = exports.getOrder = exports.getBookPositionValue = exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.getRealTokenBalance = exports.getAllBalances = exports.getPortfolioBalance = exports.getTradingBalance = exports.getVault = exports.getReferralSummary = exports.getUserNativeVolume = exports.getTopUsersByNativeVolume = exports.getUserDailyVolumes = exports.getProtocolAnalytics = exports.getLatestPrice = exports.getDailyClosePriceMap = exports.getLatestPriceMap = exports.getStableCurrencies = exports.getCurrencies = exports.getContractAddresses = exports.getSubgraphBlock = exports.getSubgraphBlockNumber = exports.getSubgraphEndpoint = exports.getClaimableOrders = exports.getCancelableOrders = exports.getOpenOrders = exports.getOpenOrder = exports.getPriceNeighborhood = exports.getMakeOrderResult = exports.getLimitOrderResult = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getExpectedInput = exports.getExpectedOutput = exports.getLatestChartLog = exports.getChartLogs = exports.getMarket = void 0;
|
|
3
|
+
exports.getCrossChainLZWithdrawalStatus = exports.getUserVolumeUSD = exports.getTradeHistory = exports.getOrderPositionValue = exports.getOrder = exports.getBookUnitsFromUsdValue = exports.getBookPositionValue = exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.getRealTokenBalance = exports.getAllBalances = exports.getPortfolioBalance = exports.getTradingBalance = exports.getVault = exports.getReferralSummary = exports.getUserNativeVolume = exports.getTopUsersByNativeVolume = exports.getUserDailyVolumes = exports.getProtocolAnalytics = exports.getLatestPrice = exports.getDailyClosePriceMap = exports.getLatestPriceMap = exports.getStableCurrencies = exports.getCurrencies = exports.getContractAddresses = exports.getSubgraphBlock = exports.getSubgraphBlockNumber = exports.getSubgraphEndpoint = exports.getClaimableOrders = exports.getCancelableOrders = exports.getOpenOrders = exports.getOpenOrder = exports.getPriceNeighborhood = exports.getMakeOrderResult = exports.getLimitOrderResult = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getExpectedInput = exports.getExpectedOutput = exports.getLatestChartLog = exports.getChartLogs = exports.getMarket = void 0;
|
|
4
4
|
var market_1 = require("./market");
|
|
5
5
|
Object.defineProperty(exports, "getMarket", { enumerable: true, get: function () { return market_1.getMarket; } });
|
|
6
6
|
Object.defineProperty(exports, "getChartLogs", { enumerable: true, get: function () { return market_1.getChartLogs; } });
|
|
@@ -51,6 +51,7 @@ Object.defineProperty(exports, "needsVaultDeposit", { enumerable: true, get: fun
|
|
|
51
51
|
Object.defineProperty(exports, "getOrderSetupStatus", { enumerable: true, get: function () { return setup_1.getOrderSetupStatus; } });
|
|
52
52
|
var book_1 = require("./book");
|
|
53
53
|
Object.defineProperty(exports, "getBookPositionValue", { enumerable: true, get: function () { return book_1.getBookPositionValue; } });
|
|
54
|
+
Object.defineProperty(exports, "getBookUnitsFromUsdValue", { enumerable: true, get: function () { return book_1.getBookUnitsFromUsdValue; } });
|
|
54
55
|
var order_1 = require("./order");
|
|
55
56
|
Object.defineProperty(exports, "getOrder", { enumerable: true, get: function () { return order_1.getOrder; } });
|
|
56
57
|
Object.defineProperty(exports, "getOrderPositionValue", { enumerable: true, get: function () { return order_1.getOrderPositionValue; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":";;;AAAA,mCAYkB;AAXhB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,sHAAA,4BAA4B,OAAA;AAC5B,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAGpB,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,2CAKsB;AAJpB,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAEpB,uCAIoB;AAHlB,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,4GAAA,gBAAgB,OAAA;AAElB,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA;AAC7B,uCAMoB;AALlB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,0GAAA,cAAc,OAAA;AAEhB,yCAMqB;AALnB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAEpB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAKmB;AAJjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AACd,8GAAA,mBAAmB,OAAA;AAErB,iCAIiB;AAHf,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,4GAAA,mBAAmB,OAAA;AAErB,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":";;;AAAA,mCAYkB;AAXhB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,sHAAA,4BAA4B,OAAA;AAC5B,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAGpB,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,2CAKsB;AAJpB,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAEpB,uCAIoB;AAHlB,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,4GAAA,gBAAgB,OAAA;AAElB,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA;AAC7B,uCAMoB;AALlB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,0GAAA,cAAc,OAAA;AAEhB,yCAMqB;AALnB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAEpB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAKmB;AAJjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AACd,8GAAA,mBAAmB,OAAA;AAErB,iCAIiB;AAHf,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,4GAAA,mBAAmB,OAAA;AAErB,+BAAwE;AAA/D,4GAAA,oBAAoB,OAAA;AAAE,gHAAA,wBAAwB,OAAA;AACvD,iCAA0D;AAAjD,iGAAA,QAAQ,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AACxC,iDAAkD;AAAzC,gHAAA,eAAe,OAAA;AACxB,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,2CAA+D;AAAtD,6HAAA,+BAA+B,OAAA"}
|
|
@@ -4,7 +4,7 @@ import { BOOK_VIEWER_ABI } from '../../../constants/abis/core/book-viewer-abi';
|
|
|
4
4
|
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
5
5
|
import { toBookId } from '../utils/book-id';
|
|
6
6
|
import { BookModel } from '../model';
|
|
7
|
-
export { fetchBookPositionValue } from './position';
|
|
7
|
+
export { fetchBookPositionValue, fetchBookUnitsFromUsdValue } from './position';
|
|
8
8
|
const MAX_DEPTH = 20n; // if the depth is too large, it may cause revert errors in the contract call
|
|
9
9
|
export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph) => {
|
|
10
10
|
const unitSize = calculateUnitSize(chainId, quoteCurrency);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,6EAA6E;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,YAA0B,EAC1B,OAAkB,EAClB,aAAuB,EACvB,YAAsB,EACtB,WAAoB,EACA,EAAE;IACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,QAAQ,CACrB,OAAO,EACP,aAAa,CAAC,OAAO,EACrB,YAAY,CAAC,OAAO,EACpB,QAAQ,CACT,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,GACf,GAAG,MAAM,QAAQ,CAAC,GAAG,CAWpB,OAAO,EACP,SAAS,EACT,8KAA8K,EAC9K;YACE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;YACzB,KAAK,EAAE,IAAI,EAAE,6BAA6B;SAC3C,CACF,CAAC;QACF,OAAO,IAAI,SAAS,CAAC;YACnB,OAAO;YACP,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,aAAa;YACpB,QAAQ;YACR,MAAM,EAAE,IAAI;gBACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,CAAC,EAAE,IAAI,EAAE,UAAU,EAAwC,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;iBAC/B,CAAC,CACH;gBACH,CAAC,CAAC,EAAE;YACN,QAAQ,EAAE,IAAI,KAAK,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GACrD,MAAM,YAAY,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,eAAe;gBACpB,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC;aAClD;YACD;gBACE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;gBACjD,GAAG,EAAE;oBACH;wBACE,MAAM,EAAE;4BACN;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,IAAI;gCACV,IAAI,EAAE,SAAS;6BAChB;yBACF;wBACD,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE;4BACP;gCACE,YAAY,EAAE,MAAM;gCACpB,IAAI,EAAE,EAAE;gCACR,IAAI,EAAE,MAAM;6BACb;yBACF;wBACD,eAAe,EAAE,MAAM;wBACvB,IAAI,EAAE,UAAU;qBACjB;iBACO;gBACV,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF;KACF,CAAC,CAAC;IAEL,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,IAAI,SAAS,CAAC;QACnB,OAAO;QACP,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ;QACR,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CACxB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAmC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CACH;QACD,QAAQ,EAAE,QAAQ,IAAI,KAAK;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAddress, isAddressEqual } from 'viem';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
3
|
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
4
|
-
import { quoteToBase } from '../../../utils';
|
|
4
|
+
import { quoteToBase, baseToQuote } from '../../../utils';
|
|
5
5
|
import { getMarketId } from '../../market/utils/market-id';
|
|
6
6
|
BigNumber.config({
|
|
7
7
|
DECIMAL_PLACES: 100,
|
|
@@ -55,4 +55,59 @@ export const fetchBookPositionValue = async ({ chainId, bookId, tick, units, })
|
|
|
55
55
|
usdValue,
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
|
+
export const fetchBookUnitsFromUsdValue = async ({ chainId, bookId, tick, usdValue, }) => {
|
|
59
|
+
// Fetch book data from subgraph
|
|
60
|
+
const { data: { book }, } = await Subgraph.get(chainId, 'getBookForPositionValue', 'query getBookForPositionValue($bookId: ID!) { book(id: $bookId) { id unitSize base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } } }', {
|
|
61
|
+
bookId: bookId.toString(),
|
|
62
|
+
});
|
|
63
|
+
if (!book) {
|
|
64
|
+
throw new Error(`Book not found: ${bookId}`);
|
|
65
|
+
}
|
|
66
|
+
const baseAddress = getAddress(book.base.id);
|
|
67
|
+
const quoteAddress = getAddress(book.quote.id);
|
|
68
|
+
const unitSize = BigInt(book.unitSize);
|
|
69
|
+
// Determine market quote token
|
|
70
|
+
const { quoteTokenAddress: marketQuoteAddress } = getMarketId(chainId, [
|
|
71
|
+
baseAddress,
|
|
72
|
+
quoteAddress,
|
|
73
|
+
]);
|
|
74
|
+
// Check if this is a bid book (book.quote == marketQuote) or ask book (book.base == marketQuote)
|
|
75
|
+
const isBidBook = isAddressEqual(quoteAddress, marketQuoteAddress);
|
|
76
|
+
let units;
|
|
77
|
+
let bookType;
|
|
78
|
+
if (isBidBook) {
|
|
79
|
+
// Bid book: buying base with quote
|
|
80
|
+
// book.quote = market.quote, book.base = market.base
|
|
81
|
+
// Reverse: USD value -> base amount -> quote amount -> units
|
|
82
|
+
// USD value -> base amount
|
|
83
|
+
const baseAmount = new BigNumber(usdValue).div(book.base.priceUSD);
|
|
84
|
+
// Convert to raw base amount
|
|
85
|
+
const totalBaseAmount = baseAmount
|
|
86
|
+
.times(new BigNumber(10).pow(Number(book.base.decimals)))
|
|
87
|
+
.integerValue(BigNumber.ROUND_DOWN);
|
|
88
|
+
// Convert base to quote using the tick price
|
|
89
|
+
const totalQuoteAmount = baseToQuote(tick, BigInt(totalBaseAmount.toFixed()), false);
|
|
90
|
+
// Divide by unitSize to get units
|
|
91
|
+
units = totalQuoteAmount / unitSize;
|
|
92
|
+
bookType = 'bids';
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Ask book: selling base for quote
|
|
96
|
+
// book.quote = market.base, book.base = market.quote (swapped!)
|
|
97
|
+
// Reverse: USD value -> base amount (book.quote is market.base) -> units
|
|
98
|
+
// USD value -> base amount (book.quote is market.base)
|
|
99
|
+
const baseAmount = new BigNumber(usdValue).div(book.quote.priceUSD);
|
|
100
|
+
// Convert to raw base amount (book.quote is market.base)
|
|
101
|
+
const totalBaseAmount = baseAmount
|
|
102
|
+
.times(new BigNumber(10).pow(Number(book.quote.decimals)))
|
|
103
|
+
.integerValue(BigNumber.ROUND_DOWN);
|
|
104
|
+
// Divide by unitSize to get units
|
|
105
|
+
units = BigInt(totalBaseAmount.toFixed()) / unitSize;
|
|
106
|
+
bookType = 'asks';
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
bookType,
|
|
110
|
+
units,
|
|
111
|
+
};
|
|
112
|
+
};
|
|
58
113
|
//# sourceMappingURL=position.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/position.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/views/book.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchBookPositionValue } from '../entities/book/apis';
|
|
1
|
+
import { fetchBookPositionValue, fetchBookUnitsFromUsdValue, } from '../entities/book/apis';
|
|
2
2
|
/**
|
|
3
3
|
* Gets the USD value for a book position at a specific tick with given units.
|
|
4
4
|
*
|
|
@@ -25,4 +25,30 @@ import { fetchBookPositionValue } from '../entities/book/apis';
|
|
|
25
25
|
export const getBookPositionValue = async ({ chainId, bookId, tick, units, }) => {
|
|
26
26
|
return fetchBookPositionValue({ chainId, bookId, tick, units });
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Gets the token units needed for a book position at a specific tick to achieve a target USD value.
|
|
30
|
+
*
|
|
31
|
+
* @param {CHAIN_IDS} chainId - chain id from {@link CHAIN_IDS}
|
|
32
|
+
* @param {string} bookId - The book ID as a string
|
|
33
|
+
* @param {bigint} tick - The tick for the order
|
|
34
|
+
* @param {string} usdValue - The target USD value as a string
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<{ bookType: 'bids' | 'asks'; units: bigint }>} An object containing:
|
|
37
|
+
* - bookType: 'bids' for bid books, 'asks' for ask books
|
|
38
|
+
* - units: The number of units needed to achieve the target USD value
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* import { getBookUnitsFromUsdValue } from '@1stdex/first-sdk'
|
|
42
|
+
*
|
|
43
|
+
* const result = await getBookUnitsFromUsdValue({
|
|
44
|
+
* chainId: 421614,
|
|
45
|
+
* bookId: '123456789',
|
|
46
|
+
* tick: 1000n,
|
|
47
|
+
* usdValue: '1234.56',
|
|
48
|
+
* })
|
|
49
|
+
* // returns { bookType: 'bids', units: 5n }
|
|
50
|
+
*/
|
|
51
|
+
export const getBookUnitsFromUsdValue = async ({ chainId, bookId, tick, usdValue, }) => {
|
|
52
|
+
return fetchBookUnitsFromUsdValue({ chainId, bookId, tick, usdValue });
|
|
53
|
+
};
|
|
28
54
|
//# sourceMappingURL=book.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/views/book.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/views/book.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,GAMN,EAA4D,EAAE;IAC7D,OAAO,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,GAMT,EAAyD,EAAE;IAC1D,OAAO,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC"}
|
package/dist/esm/views/index.js
CHANGED
|
@@ -8,7 +8,7 @@ export { getProtocolAnalytics, getUserDailyVolumes, getTopUsersByNativeVolume, g
|
|
|
8
8
|
export { getVault } from './vault';
|
|
9
9
|
export { getTradingBalance, getPortfolioBalance, getAllBalances, getRealTokenBalance, } from './balance';
|
|
10
10
|
export { checkTokenAllowances, needsVaultDeposit, getOrderSetupStatus, } from './setup';
|
|
11
|
-
export { getBookPositionValue } from './book';
|
|
11
|
+
export { getBookPositionValue, getBookUnitsFromUsdValue } from './book';
|
|
12
12
|
export { getOrder, getOrderPositionValue } from './order';
|
|
13
13
|
export { getTradeHistory } from './trade-history';
|
|
14
14
|
export { getUserVolumeUSD } from './user-volume';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC"}
|