@clober/v2-sdk 0.0.4 → 0.0.6

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.
Files changed (94) hide show
  1. package/dist/cjs/abis/core/book-viewer-abi.js +189 -0
  2. package/dist/cjs/abis/core/book-viewer-abi.js.map +1 -0
  3. package/dist/cjs/apis/market.js +40 -31
  4. package/dist/cjs/apis/market.js.map +1 -1
  5. package/dist/cjs/apis/open-order.js +5 -2
  6. package/dist/cjs/apis/open-order.js.map +1 -1
  7. package/dist/cjs/apis/subgraph.js.map +1 -1
  8. package/dist/cjs/approval.js.map +1 -1
  9. package/dist/cjs/call.js +136 -123
  10. package/dist/cjs/call.js.map +1 -1
  11. package/dist/cjs/constants/client.js.map +1 -1
  12. package/dist/cjs/index.js +19 -6
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/model/book.js +8 -1
  15. package/dist/cjs/model/book.js.map +1 -1
  16. package/dist/cjs/model/market.js +44 -171
  17. package/dist/cjs/model/market.js.map +1 -1
  18. package/dist/cjs/signature.js +1 -1
  19. package/dist/cjs/signature.js.map +1 -1
  20. package/dist/cjs/utils/build-transaction.js.map +1 -1
  21. package/dist/cjs/utils/currency.js.map +1 -0
  22. package/dist/cjs/utils/decorator.js +1 -1
  23. package/dist/cjs/utils/decorator.js.map +1 -1
  24. package/dist/cjs/utils/open.js +36 -0
  25. package/dist/cjs/utils/open.js.map +1 -0
  26. package/dist/cjs/view.js +10 -26
  27. package/dist/cjs/view.js.map +1 -1
  28. package/dist/esm/abis/core/book-viewer-abi.js +186 -0
  29. package/dist/esm/abis/core/book-viewer-abi.js.map +1 -0
  30. package/dist/esm/apis/market.js +41 -32
  31. package/dist/esm/apis/market.js.map +1 -1
  32. package/dist/esm/apis/open-order.js +5 -2
  33. package/dist/esm/apis/open-order.js.map +1 -1
  34. package/dist/esm/apis/subgraph.js.map +1 -1
  35. package/dist/esm/approval.js +1 -1
  36. package/dist/esm/approval.js.map +1 -1
  37. package/dist/esm/call.js +151 -133
  38. package/dist/esm/call.js.map +1 -1
  39. package/dist/esm/constants/client.js.map +1 -1
  40. package/dist/esm/model/book.js +8 -1
  41. package/dist/esm/model/book.js.map +1 -1
  42. package/dist/esm/model/market.js +45 -176
  43. package/dist/esm/model/market.js.map +1 -1
  44. package/dist/esm/signature.js +1 -1
  45. package/dist/esm/signature.js.map +1 -1
  46. package/dist/esm/utils/build-transaction.js.map +1 -1
  47. package/dist/esm/utils/currency.js.map +1 -0
  48. package/dist/esm/utils/decorator.js +1 -1
  49. package/dist/esm/utils/decorator.js.map +1 -1
  50. package/dist/esm/utils/open.js +32 -0
  51. package/dist/esm/utils/open.js.map +1 -0
  52. package/dist/esm/view.js +11 -26
  53. package/dist/esm/view.js.map +1 -1
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist/types/abis/core/book-viewer-abi.d.ts +141 -0
  56. package/dist/types/abis/core/book-viewer-abi.d.ts.map +1 -0
  57. package/dist/types/apis/market.d.ts +1 -1
  58. package/dist/types/apis/market.d.ts.map +1 -1
  59. package/dist/types/apis/open-order.d.ts +1 -1
  60. package/dist/types/apis/open-order.d.ts.map +1 -1
  61. package/dist/types/approval.d.ts +2 -2
  62. package/dist/types/approval.d.ts.map +1 -1
  63. package/dist/types/call.d.ts +36 -13
  64. package/dist/types/call.d.ts.map +1 -1
  65. package/dist/types/constants/client.d.ts +1 -1
  66. package/dist/types/constants/client.d.ts.map +1 -1
  67. package/dist/types/model/book.d.ts +3 -1
  68. package/dist/types/model/book.d.ts.map +1 -1
  69. package/dist/types/model/depth.d.ts +0 -2
  70. package/dist/types/model/depth.d.ts.map +1 -1
  71. package/dist/types/model/market.d.ts +11 -13
  72. package/dist/types/model/market.d.ts.map +1 -1
  73. package/dist/types/model/open-order.d.ts +5 -2
  74. package/dist/types/model/open-order.d.ts.map +1 -1
  75. package/dist/types/type.d.ts +11 -6
  76. package/dist/types/type.d.ts.map +1 -1
  77. package/dist/types/utils/build-transaction.d.ts +2 -2
  78. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  79. package/dist/types/utils/currency.d.ts.map +1 -0
  80. package/dist/types/utils/decorator.d.ts +1 -1
  81. package/dist/types/utils/decorator.d.ts.map +1 -1
  82. package/dist/types/utils/open.d.ts +3 -0
  83. package/dist/types/utils/open.d.ts.map +1 -0
  84. package/dist/types/utils/unit.d.ts +1 -1
  85. package/dist/types/utils/unit.d.ts.map +1 -1
  86. package/dist/types/view.d.ts +8 -13
  87. package/dist/types/view.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/dist/cjs/apis/currency.js.map +0 -1
  90. package/dist/esm/apis/currency.js.map +0 -1
  91. package/dist/types/apis/currency.d.ts.map +0 -1
  92. /package/dist/cjs/{apis → utils}/currency.js +0 -0
  93. /package/dist/esm/{apis → utils}/currency.js +0 -0
  94. /package/dist/types/{apis → utils}/currency.d.ts +0 -0
@@ -3,10 +3,9 @@ import { getMarketId } from '../utils/market';
3
3
  import { invertPrice, toPrice } from '../utils/tick';
4
4
  import { formatPrice } from '../utils/prices';
5
5
  import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from '../constants/fee';
6
- import { divide } from '../utils/math';
7
- import { baseToQuote, quoteToBase } from '../utils/decimals';
6
+ import { quoteToBase } from '../utils/decimals';
8
7
  export class Market {
9
- constructor({ chainId, tokens, books, }) {
8
+ constructor({ chainId, tokens, bidBook, askBook, }) {
10
9
  Object.defineProperty(this, "makerFee", {
11
10
  enumerable: true,
12
11
  configurable: true,
@@ -61,7 +60,13 @@ export class Market {
61
60
  writable: true,
62
61
  value: void 0
63
62
  });
64
- Object.defineProperty(this, "books", {
63
+ Object.defineProperty(this, "bidBook", {
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true,
67
+ value: void 0
68
+ });
69
+ Object.defineProperty(this, "askBook", {
65
70
  enumerable: true,
66
71
  configurable: true,
67
72
  writable: true,
@@ -74,20 +79,22 @@ export class Market {
74
79
  value: ({ takeQuote, limitPrice, amountOut, // quote if takeQuote, base otherwise
75
80
  }) => {
76
81
  if (takeQuote) {
77
- const bidDepths = this.books
78
- .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
79
- .flatMap((book) => book.depths);
80
- return this.takeInner({ depths: bidDepths, limitPrice, amountOut });
82
+ return {
83
+ bookId: this.bidBook.id,
84
+ ...this.bidBook.take({
85
+ limitPrice,
86
+ amountOut,
87
+ }),
88
+ };
81
89
  }
82
90
  else {
83
- const askDepths = this.books
84
- .filter((book) => isAddressEqual(book.quote.address, this.base.address))
85
- .flatMap((book) => book.depths);
86
- return this.takeInner({
87
- depths: askDepths,
88
- limitPrice: invertPrice(limitPrice),
89
- amountOut,
90
- });
91
+ return {
92
+ bookId: this.askBook.id,
93
+ ...this.askBook.take({
94
+ limitPrice: invertPrice(limitPrice),
95
+ amountOut,
96
+ }),
97
+ };
91
98
  }
92
99
  }
93
100
  });
@@ -98,184 +105,46 @@ export class Market {
98
105
  value: ({ spendBase, limitPrice, amountIn, // base if spendBase, quote otherwise
99
106
  }) => {
100
107
  if (spendBase) {
101
- const bidDepths = this.books
102
- .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
103
- .flatMap((book) => book.depths);
104
- return this.spendInner({ depths: bidDepths, limitPrice, amountIn });
108
+ return {
109
+ bookId: this.bidBook.id,
110
+ ...this.bidBook.spend({
111
+ limitPrice,
112
+ amountIn,
113
+ }),
114
+ };
105
115
  }
106
116
  else {
107
- const askDepths = this.books
108
- .filter((book) => isAddressEqual(book.quote.address, this.base.address))
109
- .flatMap((book) => book.depths);
110
- return this.spendInner({
111
- depths: askDepths,
112
- limitPrice: invertPrice(limitPrice),
113
- amountIn,
114
- });
115
- }
116
- }
117
- });
118
- Object.defineProperty(this, "takeInner", {
119
- enumerable: true,
120
- configurable: true,
121
- writable: true,
122
- value: ({ depths, // only bid orders
123
- limitPrice, amountOut, // quote
124
- }) => {
125
- if (depths.length === 0) {
126
- return {};
127
- }
128
- const takeResult = {};
129
- for (const depth of depths) {
130
- if (!takeResult[depth.bookId]) {
131
- takeResult[depth.bookId] = {
132
- takenAmount: 0n,
133
- spendAmount: 0n,
134
- };
135
- }
136
- }
137
- let totalTakenQuoteAmount = 0n;
138
- const ticks = depths
139
- .sort((a, b) => Number(b.tick) - Number(a.tick))
140
- .map((depth) => depth.tick);
141
- let index = 0;
142
- let tick = ticks[index];
143
- while (tick > -8388608n) {
144
- if (limitPrice > toPrice(tick)) {
145
- break;
146
- }
147
- const currentDepth = depths.find((depth) => depth.tick === tick);
148
- const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
149
- let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
150
- ? TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountOut - totalTakenQuoteAmount, true)
151
- : amountOut - totalTakenQuoteAmount;
152
- maxAmount = divide(maxAmount, currentBook.unit, true);
153
- if (maxAmount === 0n) {
154
- break;
155
- }
156
- let quoteAmount = (currentDepth.rawAmount > maxAmount
157
- ? maxAmount
158
- : currentDepth.rawAmount) * currentBook.unit;
159
- let baseAmount = quoteToBase(tick, quoteAmount, true);
160
- if (TAKER_DEFAULT_POLICY.usesQuote) {
161
- quoteAmount =
162
- quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
163
- }
164
- else {
165
- baseAmount =
166
- baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
167
- }
168
- if (quoteAmount === 0n) {
169
- break;
170
- }
171
- takeResult[currentDepth.bookId].takenAmount += quoteAmount;
172
- takeResult[currentDepth.bookId].spendAmount += baseAmount;
173
- totalTakenQuoteAmount += quoteAmount;
174
- if (amountOut <= totalTakenQuoteAmount) {
175
- break;
176
- }
177
- if (ticks.length === index + 1) {
178
- break;
179
- }
180
- index++;
181
- tick = ticks[index];
182
- }
183
- return Object.fromEntries(Object.entries(takeResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
184
- }
185
- });
186
- Object.defineProperty(this, "spendInner", {
187
- enumerable: true,
188
- configurable: true,
189
- writable: true,
190
- value: ({ depths, // only bid orders
191
- limitPrice, amountIn, // base
192
- }) => {
193
- if (depths.length === 0) {
194
- return {};
195
- }
196
- const spendResult = {};
197
- for (const depth of depths) {
198
- if (!spendResult[depth.bookId]) {
199
- spendResult[depth.bookId] = {
200
- takenAmount: 0n,
201
- spendAmount: 0n,
202
- };
203
- }
204
- }
205
- let totalSpendBaseAmount = 0n;
206
- const ticks = depths
207
- .sort((a, b) => Number(b.tick) - Number(a.tick))
208
- .map((depth) => depth.tick);
209
- let index = 0;
210
- let tick = ticks[index];
211
- while (totalSpendBaseAmount <= amountIn && tick > -8388608n) {
212
- if (limitPrice > toPrice(tick)) {
213
- break;
214
- }
215
- const currentDepth = depths.find((depth) => depth.tick === tick);
216
- const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
217
- let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
218
- ? amountIn - totalSpendBaseAmount
219
- : TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountIn - totalSpendBaseAmount, false);
220
- maxAmount = baseToQuote(tick, maxAmount, false) / currentBook.unit;
221
- if (maxAmount === 0n) {
222
- break;
223
- }
224
- let quoteAmount = (currentDepth.rawAmount > maxAmount
225
- ? maxAmount
226
- : currentDepth.rawAmount) * currentBook.unit;
227
- let baseAmount = quoteToBase(tick, quoteAmount, true);
228
- if (TAKER_DEFAULT_POLICY.usesQuote) {
229
- quoteAmount =
230
- quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
231
- }
232
- else {
233
- baseAmount =
234
- baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
235
- }
236
- if (baseAmount === 0n) {
237
- break;
238
- }
239
- spendResult[currentDepth.bookId].takenAmount += quoteAmount;
240
- spendResult[currentDepth.bookId].spendAmount += baseAmount;
241
- totalSpendBaseAmount += baseAmount;
242
- if (ticks.length === index + 1) {
243
- break;
244
- }
245
- index++;
246
- tick = ticks[index];
117
+ return {
118
+ bookId: this.askBook.id,
119
+ ...this.askBook.spend({
120
+ limitPrice: invertPrice(limitPrice),
121
+ amountIn,
122
+ }),
123
+ };
247
124
  }
248
- return Object.fromEntries(Object.entries(spendResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
249
125
  }
250
126
  });
251
127
  const { marketId, quoteTokenAddress, baseTokenAddress } = getMarketId(chainId, tokens.map((token) => token.address));
252
128
  this.id = marketId;
253
129
  this.quote = tokens.find((token) => isAddressEqual(token.address, quoteTokenAddress));
254
130
  this.base = tokens.find((token) => isAddressEqual(token.address, baseTokenAddress));
255
- this.bids = books
256
- .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
257
- .flatMap((book) => book.depths)
258
- .map((depth) => ({
131
+ this.bids = bidBook.depths.map((depth) => ({
259
132
  price: formatPrice(toPrice(depth.tick), this.quote.decimals, this.base.decimals),
260
- baseAmount: quoteToBase(depth.tick, depth.rawAmount * depth.unit, false),
133
+ baseAmount: quoteToBase(depth.tick, depth.rawAmount * bidBook.unit, false),
261
134
  }));
262
- this.bidBookOpen =
263
- books.filter((book) => isAddressEqual(book.quote.address, this.quote.address)).length > 0;
264
- this.asks = books
265
- .filter((book) => isAddressEqual(book.quote.address, this.base.address))
266
- .flatMap((book) => book.depths)
267
- .map((depth) => {
135
+ this.bidBookOpen = bidBook.isOpened;
136
+ this.asks = askBook.depths.map((depth) => {
268
137
  const price = invertPrice(toPrice(depth.tick));
269
138
  const readablePrice = formatPrice(price, this.quote.decimals, this.base.decimals);
270
- const baseAmount = depth.rawAmount * depth.unit;
139
+ const baseAmount = depth.rawAmount * askBook.unit;
271
140
  return {
272
141
  price: readablePrice,
273
142
  baseAmount,
274
143
  };
275
144
  });
276
- this.askBookOpen =
277
- books.filter((book) => isAddressEqual(book.quote.address, this.base.address)).length > 0;
278
- this.books = books;
145
+ this.askBookOpen = askBook.isOpened;
146
+ this.bidBook = bidBook;
147
+ this.askBook = askBook;
279
148
  }
280
149
  }
281
150
  //# sourceMappingURL=market.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { hexToSignature, parseUnits, verifyTypedData, zeroHash, } from 'viem';
2
2
  import { getDeadlineTimestampInSeconds } from './utils/time';
3
3
  import { CONTRACT_ADDRESSES } from './constants/addresses';
4
- import { fetchCurrency } from './apis/currency';
4
+ import { fetchCurrency } from './utils/currency';
5
5
  import { cachedPublicClients } from './constants/client';
6
6
  import { decorator } from './utils/decorator';
7
7
  const _abi = [
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,MAAM,CAAA;AAGb,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAkB,EAClB,IAA0D,EACpC,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,mBAAmB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC;QACF,mBAAmB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;KAC3C,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,MAAM,CAAA;AAGb,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAkB,EAClB,IAA0D,EACpC,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,mBAAmB,CAAC,OAAO,CAAE,CAAC,WAAW,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC;QACF,mBAAmB,CAAC,OAAO,CAAE,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAIlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,OAAkB,EAClB,OAAsB,EACH,EAAE;IACrB,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAChE,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,UAAU;aACzB;SACF;KACF,CAAC,CAAA;IACJ,OAAO;QACL,OAAO;QACP,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import { buildPublicClient } from '../constants/client';
2
2
  export function decorator(fn) {
3
3
  return async (args) => {
4
4
  const { chainId, options } = args;
5
- buildPublicClient(chainId, options.rpcUrl);
5
+ buildPublicClient(chainId, options?.rpcUrl);
6
6
  return fn(args);
7
7
  };
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/utils/decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,UAAU,SAAS,CAMvB,EAA8B;IAC9B,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAG5B,CAAA;QACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/utils/decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,UAAU,SAAS,CAMvB,EAA8B;IAC9B,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAG5B,CAAA;QACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { cachedPublicClients } from '../constants/client';
2
+ import { CONTRACT_ADDRESSES } from '../constants/addresses';
3
+ const _abi = [
4
+ {
5
+ inputs: [
6
+ {
7
+ internalType: 'BookId',
8
+ name: 'id',
9
+ type: 'uint192',
10
+ },
11
+ ],
12
+ name: 'isOpened',
13
+ outputs: [
14
+ {
15
+ internalType: 'bool',
16
+ name: '',
17
+ type: 'bool',
18
+ },
19
+ ],
20
+ stateMutability: 'view',
21
+ type: 'function',
22
+ },
23
+ ];
24
+ export async function fetchIsOpened(chainId, bookId) {
25
+ return cachedPublicClients[chainId].readContract({
26
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
27
+ abi: _abi,
28
+ functionName: 'isOpened',
29
+ args: [bookId],
30
+ });
31
+ }
32
+ //# sourceMappingURL=open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAkB,EAAE,MAAc;IACpE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QAC/C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;AACJ,CAAC"}
package/dist/esm/view.js CHANGED
@@ -10,6 +10,7 @@ import { decorator } from './utils/decorator';
10
10
  * @param token0 - token0 address
11
11
  * @param token1 - token1 address
12
12
  * @param options
13
+ * @param options.n - number of depth levels to fetch
13
14
  * @param options.rpcUrl - RPC URL of the blockchain
14
15
  * @returns A market {@link Market}
15
16
  *
@@ -22,11 +23,11 @@ import { decorator } from './utils/decorator';
22
23
  * '0x0000000000000000000000000000000000000000',
23
24
  * )
24
25
  */
25
- export const getMarket = decorator(async ({ chainId, token0, token1, }) => {
26
+ export const getMarket = decorator(async ({ chainId, token0, token1, options, }) => {
26
27
  if (isAddressEqual(token0, token1)) {
27
28
  throw new Error('Token0 and token1 must be different');
28
29
  }
29
- const market = await fetchMarket(chainId, [token0, token1]);
30
+ const market = await fetchMarket(chainId, [token0, token1], options?.n);
30
31
  return {
31
32
  chainId,
32
33
  quote: market.quote,
@@ -69,23 +70,15 @@ export const getExpectedOutput = decorator(async ({ chainId, inputToken, outputT
69
70
  ? MAX_PRICE
70
71
  : 0n;
71
72
  const inputCurrency = isBid ? market.quote : market.base;
72
- const result = market.spend({
73
+ const { takenQuoteAmount, spendBaseAmount, bookId } = market.spend({
73
74
  spendBase: !isBid,
74
75
  limitPrice: rawLimitPrice,
75
76
  amountIn: parseUnits(amountIn, inputCurrency.decimals),
76
77
  });
77
- const { takenAmount, spendAmount } = Object.values(result).reduce((acc, { takenAmount, spendAmount }) => ({
78
- takenAmount: acc.takenAmount + takenAmount,
79
- spendAmount: acc.spendAmount + spendAmount,
80
- }), { takenAmount: 0n, spendAmount: 0n });
81
78
  return {
82
- takenAmount: formatUnits(takenAmount, isBid ? market.base.decimals : market.quote.decimals),
83
- spendAmount: formatUnits(spendAmount, isBid ? market.quote.decimals : market.base.decimals),
84
- result: Object.entries(result).map(([bookId, { takenAmount, spendAmount }]) => ({
85
- bookId: BigInt(bookId),
86
- takenAmount,
87
- spendAmount,
88
- })),
79
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
80
+ spendAmount: formatUnits(spendBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
81
+ bookId,
89
82
  };
90
83
  });
91
84
  /**
@@ -118,23 +111,15 @@ export const getExpectedInput = decorator(async ({ chainId, inputToken, outputTo
118
111
  ? MAX_PRICE
119
112
  : 0n;
120
113
  const outputCurrency = isBid ? market.base : market.quote;
121
- const result = market.take({
114
+ const { takenQuoteAmount, spendBaseAmount, bookId } = market.take({
122
115
  takeQuote: !isBid,
123
116
  limitPrice: rawLimitPrice,
124
117
  amountOut: parseUnits(amountOut, outputCurrency.decimals),
125
118
  });
126
- const { takenAmount, spendAmount } = Object.values(result).reduce((acc, { takenAmount, spendAmount }) => ({
127
- takenAmount: acc.takenAmount + takenAmount,
128
- spendAmount: acc.spendAmount + spendAmount,
129
- }), { takenAmount: 0n, spendAmount: 0n });
130
119
  return {
131
- takenAmount: formatUnits(takenAmount, isBid ? market.base.decimals : market.quote.decimals),
132
- spendAmount: formatUnits(spendAmount, isBid ? market.quote.decimals : market.base.decimals),
133
- result: Object.entries(result).map(([bookId, { takenAmount, spendAmount }]) => ({
134
- bookId: BigInt(bookId),
135
- takenAmount,
136
- spendAmount,
137
- })),
120
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
121
+ spendAmount: formatUnits(spendBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
122
+ bookId,
138
123
  };
139
124
  });
140
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}