@1stdex/first-sdk 1.0.37 → 1.0.39
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/views/index.js +2 -1
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/cjs/views/market/index.js +4 -3
- package/dist/cjs/views/market/index.js.map +1 -1
- package/dist/cjs/views/market/{limit-order-result.js → order-result.js} +130 -2
- package/dist/cjs/views/market/order-result.js.map +1 -0
- package/dist/esm/views/index.js +1 -1
- package/dist/esm/views/index.js.map +1 -1
- package/dist/esm/views/market/index.js +1 -1
- package/dist/esm/views/market/index.js.map +1 -1
- package/dist/esm/views/market/{limit-order-result.js → order-result.js} +156 -1
- package/dist/esm/views/market/order-result.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/views/index.d.ts +1 -1
- package/dist/types/views/index.d.ts.map +1 -1
- package/dist/types/views/market/index.d.ts +1 -1
- package/dist/types/views/market/index.d.ts.map +1 -1
- package/dist/types/views/market/{limit-order-result.d.ts → order-result.d.ts} +36 -1
- package/dist/types/views/market/order-result.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/views/market/limit-order-result.js.map +0 -1
- package/dist/esm/views/market/limit-order-result.js.map +0 -1
- package/dist/types/views/market/limit-order-result.d.ts.map +0 -1
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.getOrderPositionValue = exports.getBookPositionValue = exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.isOrderOperatorApproved = 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.getOpenOrders = exports.getOpenOrder = exports.getPriceNeighborhood = exports.getLimitOrderResult = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getExpectedInput = exports.getExpectedOutput = exports.getLatestChartLog = exports.getChartLogs = exports.getMarket = void 0;
|
|
3
|
+
exports.getOrderPositionValue = exports.getBookPositionValue = exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.isOrderOperatorApproved = 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.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; } });
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "getMarketSnapshot", { enumerable: true, get: fun
|
|
|
12
12
|
Object.defineProperty(exports, "getQuoteToken", { enumerable: true, get: function () { return market_1.getQuoteToken; } });
|
|
13
13
|
Object.defineProperty(exports, "parseMakeOrderIdsFromReceipt", { enumerable: true, get: function () { return market_1.parseMakeOrderIdsFromReceipt; } });
|
|
14
14
|
Object.defineProperty(exports, "getLimitOrderResult", { enumerable: true, get: function () { return market_1.getLimitOrderResult; } });
|
|
15
|
+
Object.defineProperty(exports, "getMakeOrderResult", { enumerable: true, get: function () { return market_1.getMakeOrderResult; } });
|
|
15
16
|
var tick_1 = require("./tick");
|
|
16
17
|
Object.defineProperty(exports, "getPriceNeighborhood", { enumerable: true, get: function () { return tick_1.getPriceNeighborhood; } });
|
|
17
18
|
var open_order_1 = require("./open-order");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
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,2CAA2D;AAAlD,0GAAA,YAAY,OAAA;AAAE,2GAAA,aAAa,OAAA;AACpC,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,qCAAmE;AAA1D,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC/C,iCAKiB;AAJf,gHAAA,uBAAuB,OAAA;AACvB,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,4GAAA,mBAAmB,OAAA;AAErB,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,iCAAgD;AAAvC,8GAAA,qBAAqB,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMarket = exports.getLimitOrderResult = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getLatestChartLog = exports.getChartLogs = exports.getExpectedInput = exports.getExpectedOutput = void 0;
|
|
3
|
+
exports.getMarket = exports.getMakeOrderResult = exports.getLimitOrderResult = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getLatestChartLog = exports.getChartLogs = exports.getExpectedInput = exports.getExpectedOutput = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const chain_1 = require("../../constants/chain-configs/chain");
|
|
6
6
|
const apis_1 = require("../../entities/market/apis");
|
|
@@ -17,8 +17,9 @@ var token_1 = require("./token");
|
|
|
17
17
|
Object.defineProperty(exports, "getQuoteToken", { enumerable: true, get: function () { return token_1.getQuoteToken; } });
|
|
18
18
|
var parse_1 = require("./parse");
|
|
19
19
|
Object.defineProperty(exports, "parseMakeOrderIdsFromReceipt", { enumerable: true, get: function () { return parse_1.parseMakeOrderIdsFromReceipt; } });
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "getLimitOrderResult", { enumerable: true, get: function () { return
|
|
20
|
+
var order_result_1 = require("./order-result");
|
|
21
|
+
Object.defineProperty(exports, "getLimitOrderResult", { enumerable: true, get: function () { return order_result_1.getLimitOrderResult; } });
|
|
22
|
+
Object.defineProperty(exports, "getMakeOrderResult", { enumerable: true, get: function () { return order_result_1.getMakeOrderResult; } });
|
|
22
23
|
const getMarket = async ({ chainId, token0, token1, options, }) => {
|
|
23
24
|
if ((0, viem_1.isAddressEqual)(token0, token1)) {
|
|
24
25
|
throw new Error('Token0 and token1 must be different');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":";;;AAAA,+BAAgE;AAEhE,+DAA2E;AAE3E,qDAAyD;AAEzD,iCAA8D;AAArD,0GAAA,iBAAiB,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC5C,yCAA8D;AAArD,yGAAA,YAAY,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AACxC,uCAAmE;AAA1D,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC9C,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAAuD;AAA9C,qHAAA,4BAA4B,OAAA;AACrC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":";;;AAAA,+BAAgE;AAEhE,+DAA2E;AAE3E,qDAAyD;AAEzD,iCAA8D;AAArD,0GAAA,iBAAiB,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC5C,yCAA8D;AAArD,yGAAA,YAAY,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AACxC,uCAAmE;AAA1D,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC9C,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAAuD;AAA9C,qHAAA,4BAA4B,OAAA;AACrC,+CAAyE;AAAhE,mHAAA,mBAAmB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAmBzC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAQR,EAAmB,EAAE;IACpB,IAAI,IAAA,qBAAc,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC3D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAW,EAC9B,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AA3BW,QAAA,SAAS,aA2BpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLimitOrderResult = void 0;
|
|
3
|
+
exports.getMakeOrderResult = exports.getLimitOrderResult = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const book_manager_abi_1 = require("../../constants/abis/core/book-manager-abi");
|
|
6
6
|
const chain_1 = require("../../constants/chain-configs/chain");
|
|
@@ -229,4 +229,132 @@ const getLimitOrderResult = async ({ chainId, txHash, options, }) => {
|
|
|
229
229
|
};
|
|
230
230
|
};
|
|
231
231
|
exports.getLimitOrderResult = getLimitOrderResult;
|
|
232
|
-
|
|
232
|
+
const getMakeOrderResult = async ({ chainId, txHash, options, }) => {
|
|
233
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
234
|
+
chain: chain_1.CHAIN_MAP[chainId],
|
|
235
|
+
transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
|
|
236
|
+
});
|
|
237
|
+
const receipt = await publicClient.getTransactionReceipt({ hash: txHash });
|
|
238
|
+
const logs = (0, viem_1.parseEventLogs)({
|
|
239
|
+
abi: book_manager_abi_1.BOOK_MANAGER_ABI,
|
|
240
|
+
logs: receipt.logs,
|
|
241
|
+
});
|
|
242
|
+
const takeEvents = logs.filter((log) => log.eventName === 'Take');
|
|
243
|
+
if (takeEvents.length === 0) {
|
|
244
|
+
throw new Error('No Take events found in transaction');
|
|
245
|
+
}
|
|
246
|
+
const bookIds = new Set(takeEvents.map((e) => e.args.bookId));
|
|
247
|
+
const bookInfoMap = new Map();
|
|
248
|
+
await Promise.all(Array.from(bookIds).map(async (bookId) => {
|
|
249
|
+
const info = await fetchBookInfo(chainId, bookId);
|
|
250
|
+
bookInfoMap.set(bookId, info);
|
|
251
|
+
}));
|
|
252
|
+
const takeEventsWithInfo = takeEvents.map((e) => {
|
|
253
|
+
const bookInfo = bookInfoMap.get(e.args.bookId);
|
|
254
|
+
const base = toCurrency(bookInfo.base);
|
|
255
|
+
const quote = toCurrency(bookInfo.quote);
|
|
256
|
+
const unitSize = BigInt(bookInfo.unitSize);
|
|
257
|
+
const { quoteTokenAddress: marketQuoteAddress } = (0, market_id_1.getMarketId)(chainId, [
|
|
258
|
+
base.address,
|
|
259
|
+
quote.address,
|
|
260
|
+
]);
|
|
261
|
+
const isTakeBidBook = (0, viem_1.isAddressEqual)(quote.address, marketQuoteAddress);
|
|
262
|
+
const tick = BigInt(e.args.tick);
|
|
263
|
+
const units = e.args.unit;
|
|
264
|
+
const rawAmount = units * unitSize;
|
|
265
|
+
const rawPrice = isTakeBidBook ? (0, utils_1.toPrice)(tick) : (0, utils_1.toPrice)((0, utils_1.invertTick)(tick));
|
|
266
|
+
const price = (0, utils_1.formatPrice)(rawPrice, quote.decimals, base.decimals);
|
|
267
|
+
let takenAmount;
|
|
268
|
+
let spentAmount;
|
|
269
|
+
let takenCurrency;
|
|
270
|
+
let spentCurrency;
|
|
271
|
+
if (isTakeBidBook) {
|
|
272
|
+
takenAmount = (0, conversion_1.quoteToBase)(tick, rawAmount, false);
|
|
273
|
+
spentAmount = rawAmount;
|
|
274
|
+
takenCurrency = base;
|
|
275
|
+
spentCurrency = quote;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
takenAmount = rawAmount;
|
|
279
|
+
spentAmount = (0, conversion_1.baseToQuote)((0, utils_1.invertTick)(tick), rawAmount, false);
|
|
280
|
+
takenCurrency = quote;
|
|
281
|
+
spentCurrency = base;
|
|
282
|
+
}
|
|
283
|
+
return {
|
|
284
|
+
price,
|
|
285
|
+
takenAmount: (0, viem_1.formatUnits)(takenAmount, takenCurrency.decimals),
|
|
286
|
+
spentAmount: (0, viem_1.formatUnits)(spentAmount, spentCurrency.decimals),
|
|
287
|
+
takenCurrency,
|
|
288
|
+
spentCurrency,
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
const takenEventsMap = new Map();
|
|
292
|
+
const spentEventsMap = new Map();
|
|
293
|
+
takeEventsWithInfo.forEach((event) => {
|
|
294
|
+
const takenKey = event.takenCurrency.address;
|
|
295
|
+
const spentKey = event.spentCurrency.address;
|
|
296
|
+
if (!takenEventsMap.has(takenKey)) {
|
|
297
|
+
takenEventsMap.set(takenKey, []);
|
|
298
|
+
}
|
|
299
|
+
if (!spentEventsMap.has(spentKey)) {
|
|
300
|
+
spentEventsMap.set(spentKey, []);
|
|
301
|
+
}
|
|
302
|
+
takenEventsMap.get(takenKey).push({
|
|
303
|
+
price: event.price,
|
|
304
|
+
amount: event.takenAmount,
|
|
305
|
+
});
|
|
306
|
+
spentEventsMap.get(spentKey).push({
|
|
307
|
+
price: event.price,
|
|
308
|
+
amount: event.spentAmount,
|
|
309
|
+
});
|
|
310
|
+
});
|
|
311
|
+
const calculateTotalAndAverage = (events) => {
|
|
312
|
+
if (events.length === 0) {
|
|
313
|
+
return { total: '0', averagePrice: '0' };
|
|
314
|
+
}
|
|
315
|
+
const total = events.reduce((sum, e) => sum + Number(e.amount), 0);
|
|
316
|
+
const totalWeightedPrice = events.reduce((sum, e) => sum + Number(e.price) * Number(e.amount), 0);
|
|
317
|
+
const averagePrice = total === 0 ? '0' : (totalWeightedPrice / total).toString();
|
|
318
|
+
return { total: total.toString(), averagePrice };
|
|
319
|
+
};
|
|
320
|
+
let takenCurrency;
|
|
321
|
+
let spentCurrency;
|
|
322
|
+
let takenEvents = [];
|
|
323
|
+
let spentEvents = [];
|
|
324
|
+
if (takenEventsMap.size > 0) {
|
|
325
|
+
const firstKey = Array.from(takenEventsMap.keys())[0];
|
|
326
|
+
takenCurrency = takeEventsWithInfo.find((e) => e.takenCurrency.address === firstKey).takenCurrency;
|
|
327
|
+
takenEvents = takenEventsMap.get(firstKey);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
takenCurrency = takeEventsWithInfo[0].takenCurrency;
|
|
331
|
+
}
|
|
332
|
+
if (spentEventsMap.size > 0) {
|
|
333
|
+
const firstKey = Array.from(spentEventsMap.keys())[0];
|
|
334
|
+
spentCurrency = takeEventsWithInfo.find((e) => e.spentCurrency.address === firstKey).spentCurrency;
|
|
335
|
+
spentEvents = spentEventsMap.get(firstKey);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
spentCurrency = takeEventsWithInfo[0].spentCurrency;
|
|
339
|
+
}
|
|
340
|
+
const { total: takenTotal, averagePrice: takenAveragePrice } = calculateTotalAndAverage(takenEvents);
|
|
341
|
+
const { total: spentTotal, averagePrice: spentAveragePrice } = calculateTotalAndAverage(spentEvents);
|
|
342
|
+
return {
|
|
343
|
+
taken: {
|
|
344
|
+
currency: takenCurrency,
|
|
345
|
+
amount: takenTotal,
|
|
346
|
+
direction: 'out',
|
|
347
|
+
events: takenEvents,
|
|
348
|
+
averagePrice: takenAveragePrice,
|
|
349
|
+
},
|
|
350
|
+
spent: {
|
|
351
|
+
currency: spentCurrency,
|
|
352
|
+
amount: spentTotal,
|
|
353
|
+
direction: 'in',
|
|
354
|
+
events: spentEvents,
|
|
355
|
+
averagePrice: spentAveragePrice,
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
exports.getMakeOrderResult = getMakeOrderResult;
|
|
360
|
+
//# sourceMappingURL=order-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-result.js","sourceRoot":"","sources":["../../../../src/views/market/order-result.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/views/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getMarket, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, getLimitOrderResult, } from './market';
|
|
1
|
+
export { getMarket, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, getLimitOrderResult, getMakeOrderResult, } from './market';
|
|
2
2
|
export { getPriceNeighborhood } from './tick';
|
|
3
3
|
export { getOpenOrder, getOpenOrders } from './open-order';
|
|
4
4
|
export { getSubgraphEndpoint, getSubgraphBlockNumber, getSubgraphBlock, } from './subgraph';
|
|
@@ -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,
|
|
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,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,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,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -6,7 +6,7 @@ export { getChartLogs, getLatestChartLog } from './chart-log';
|
|
|
6
6
|
export { getMarketSnapshots, getMarketSnapshot } from './snapshot';
|
|
7
7
|
export { getQuoteToken } from './token';
|
|
8
8
|
export { parseMakeOrderIdsFromReceipt } from './parse';
|
|
9
|
-
export { getLimitOrderResult } from './
|
|
9
|
+
export { getLimitOrderResult, getMakeOrderResult } from './order-result';
|
|
10
10
|
/**
|
|
11
11
|
* Get market information by chain id and token addresses
|
|
12
12
|
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAQR,EAAmB,EAAE;IACpB,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -274,4 +274,159 @@ export const getLimitOrderResult = async ({ chainId, txHash, options, }) => {
|
|
|
274
274
|
},
|
|
275
275
|
};
|
|
276
276
|
};
|
|
277
|
-
|
|
277
|
+
/**
|
|
278
|
+
* Get make order result from transaction hash
|
|
279
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
280
|
+
* @param txHash - transaction hash of the make order placement
|
|
281
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
282
|
+
* @returns Make order result with taken and spent flows (no make)
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* import { getMakeOrderResult } from '@clober/v2-sdk'
|
|
286
|
+
*
|
|
287
|
+
* const result = await getMakeOrderResult({
|
|
288
|
+
* chainId: 421614,
|
|
289
|
+
* txHash: '0x...',
|
|
290
|
+
* })
|
|
291
|
+
*/
|
|
292
|
+
export const getMakeOrderResult = async ({ chainId, txHash, options, }) => {
|
|
293
|
+
const publicClient = createPublicClient({
|
|
294
|
+
chain: CHAIN_MAP[chainId],
|
|
295
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
296
|
+
});
|
|
297
|
+
const receipt = await publicClient.getTransactionReceipt({ hash: txHash });
|
|
298
|
+
const logs = parseEventLogs({
|
|
299
|
+
abi: BOOK_MANAGER_ABI,
|
|
300
|
+
logs: receipt.logs,
|
|
301
|
+
});
|
|
302
|
+
const takeEvents = logs.filter((log) => log.eventName === 'Take');
|
|
303
|
+
if (takeEvents.length === 0) {
|
|
304
|
+
throw new Error('No Take events found in transaction');
|
|
305
|
+
}
|
|
306
|
+
// Get unique bookIds and fetch book info
|
|
307
|
+
const bookIds = new Set(takeEvents.map((e) => e.args.bookId));
|
|
308
|
+
const bookInfoMap = new Map();
|
|
309
|
+
await Promise.all(Array.from(bookIds).map(async (bookId) => {
|
|
310
|
+
const info = await fetchBookInfo(chainId, bookId);
|
|
311
|
+
bookInfoMap.set(bookId, info);
|
|
312
|
+
}));
|
|
313
|
+
// Process Take events
|
|
314
|
+
const takeEventsWithInfo = takeEvents.map((e) => {
|
|
315
|
+
const bookInfo = bookInfoMap.get(e.args.bookId);
|
|
316
|
+
const base = toCurrency(bookInfo.base);
|
|
317
|
+
const quote = toCurrency(bookInfo.quote);
|
|
318
|
+
const unitSize = BigInt(bookInfo.unitSize);
|
|
319
|
+
// Determine if Take book is bid or ask
|
|
320
|
+
const { quoteTokenAddress: marketQuoteAddress } = getMarketId(chainId, [
|
|
321
|
+
base.address,
|
|
322
|
+
quote.address,
|
|
323
|
+
]);
|
|
324
|
+
const isTakeBidBook = isAddressEqual(quote.address, marketQuoteAddress);
|
|
325
|
+
const tick = BigInt(e.args.tick);
|
|
326
|
+
const units = e.args.unit;
|
|
327
|
+
const rawAmount = units * unitSize;
|
|
328
|
+
// Calculate price
|
|
329
|
+
const rawPrice = isTakeBidBook ? toPrice(tick) : toPrice(invertTick(tick));
|
|
330
|
+
const price = formatPrice(rawPrice, quote.decimals, base.decimals);
|
|
331
|
+
// Calculate taken and spent amounts
|
|
332
|
+
let takenAmount;
|
|
333
|
+
let spentAmount;
|
|
334
|
+
let takenCurrency;
|
|
335
|
+
let spentCurrency;
|
|
336
|
+
if (isTakeBidBook) {
|
|
337
|
+
// Bid book: taking means receiving base, spending quote
|
|
338
|
+
takenAmount = quoteToBase(tick, rawAmount, false);
|
|
339
|
+
spentAmount = rawAmount;
|
|
340
|
+
takenCurrency = base;
|
|
341
|
+
spentCurrency = quote;
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
// Ask book: taking means receiving quote, spending base
|
|
345
|
+
takenAmount = rawAmount;
|
|
346
|
+
spentAmount = baseToQuote(invertTick(tick), rawAmount, false);
|
|
347
|
+
takenCurrency = quote;
|
|
348
|
+
spentCurrency = base;
|
|
349
|
+
}
|
|
350
|
+
return {
|
|
351
|
+
price,
|
|
352
|
+
takenAmount: formatUnits(takenAmount, takenCurrency.decimals),
|
|
353
|
+
spentAmount: formatUnits(spentAmount, spentCurrency.decimals),
|
|
354
|
+
takenCurrency,
|
|
355
|
+
spentCurrency,
|
|
356
|
+
};
|
|
357
|
+
});
|
|
358
|
+
// Group by currency and calculate totals
|
|
359
|
+
const takenEventsMap = new Map();
|
|
360
|
+
const spentEventsMap = new Map();
|
|
361
|
+
takeEventsWithInfo.forEach((event) => {
|
|
362
|
+
const takenKey = event.takenCurrency.address;
|
|
363
|
+
const spentKey = event.spentCurrency.address;
|
|
364
|
+
if (!takenEventsMap.has(takenKey)) {
|
|
365
|
+
takenEventsMap.set(takenKey, []);
|
|
366
|
+
}
|
|
367
|
+
if (!spentEventsMap.has(spentKey)) {
|
|
368
|
+
spentEventsMap.set(spentKey, []);
|
|
369
|
+
}
|
|
370
|
+
takenEventsMap.get(takenKey).push({
|
|
371
|
+
price: event.price,
|
|
372
|
+
amount: event.takenAmount,
|
|
373
|
+
});
|
|
374
|
+
spentEventsMap.get(spentKey).push({
|
|
375
|
+
price: event.price,
|
|
376
|
+
amount: event.spentAmount,
|
|
377
|
+
});
|
|
378
|
+
});
|
|
379
|
+
// Calculate totals and averages
|
|
380
|
+
const calculateTotalAndAverage = (events) => {
|
|
381
|
+
if (events.length === 0) {
|
|
382
|
+
return { total: '0', averagePrice: '0' };
|
|
383
|
+
}
|
|
384
|
+
const total = events.reduce((sum, e) => sum + Number(e.amount), 0);
|
|
385
|
+
const totalWeightedPrice = events.reduce((sum, e) => sum + Number(e.price) * Number(e.amount), 0);
|
|
386
|
+
const averagePrice = total === 0 ? '0' : (totalWeightedPrice / total).toString();
|
|
387
|
+
return { total: total.toString(), averagePrice };
|
|
388
|
+
};
|
|
389
|
+
// Determine taken and spent currencies from Take events
|
|
390
|
+
let takenCurrency;
|
|
391
|
+
let spentCurrency;
|
|
392
|
+
let takenEvents = [];
|
|
393
|
+
let spentEvents = [];
|
|
394
|
+
// Use the most common currencies from Take events
|
|
395
|
+
if (takenEventsMap.size > 0) {
|
|
396
|
+
const firstKey = Array.from(takenEventsMap.keys())[0];
|
|
397
|
+
takenCurrency = takeEventsWithInfo.find((e) => e.takenCurrency.address === firstKey).takenCurrency;
|
|
398
|
+
takenEvents = takenEventsMap.get(firstKey);
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
// Fallback: use first Take event currency
|
|
402
|
+
takenCurrency = takeEventsWithInfo[0].takenCurrency;
|
|
403
|
+
}
|
|
404
|
+
if (spentEventsMap.size > 0) {
|
|
405
|
+
const firstKey = Array.from(spentEventsMap.keys())[0];
|
|
406
|
+
spentCurrency = takeEventsWithInfo.find((e) => e.spentCurrency.address === firstKey).spentCurrency;
|
|
407
|
+
spentEvents = spentEventsMap.get(firstKey);
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
// Fallback: use first Take event currency
|
|
411
|
+
spentCurrency = takeEventsWithInfo[0].spentCurrency;
|
|
412
|
+
}
|
|
413
|
+
const { total: takenTotal, averagePrice: takenAveragePrice } = calculateTotalAndAverage(takenEvents);
|
|
414
|
+
const { total: spentTotal, averagePrice: spentAveragePrice } = calculateTotalAndAverage(spentEvents);
|
|
415
|
+
return {
|
|
416
|
+
taken: {
|
|
417
|
+
currency: takenCurrency,
|
|
418
|
+
amount: takenTotal,
|
|
419
|
+
direction: 'out',
|
|
420
|
+
events: takenEvents,
|
|
421
|
+
averagePrice: takenAveragePrice,
|
|
422
|
+
},
|
|
423
|
+
spent: {
|
|
424
|
+
currency: spentCurrency,
|
|
425
|
+
amount: spentTotal,
|
|
426
|
+
direction: 'in',
|
|
427
|
+
events: spentEvents,
|
|
428
|
+
averagePrice: spentAveragePrice,
|
|
429
|
+
},
|
|
430
|
+
};
|
|
431
|
+
};
|
|
432
|
+
//# sourceMappingURL=order-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-result.js","sourceRoot":"","sources":["../../../../src/views/market/order-result.ts"],"names":[],"mappings":"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"}
|