@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.
@@ -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,mCAWkB;AAVhB,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;AAGrB,+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
+ {"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 limit_order_result_1 = require("./limit-order-result");
21
- Object.defineProperty(exports, "getLimitOrderResult", { enumerable: true, get: function () { return limit_order_result_1.getLimitOrderResult; } });
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,2DAA2D;AAAlD,yHAAA,mBAAmB,OAAA;AAmBrB,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
+ {"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
- //# sourceMappingURL=limit-order-result.js.map
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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"}
@@ -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,GACpB,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"}
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 './limit-order-result';
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,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;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"}
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
- //# sourceMappingURL=limit-order-result.js.map
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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"}