@clober/v2-sdk 0.0.9 → 0.0.11

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 (35) hide show
  1. package/dist/cjs/abis/core/controller-abi.js +28 -18
  2. package/dist/cjs/abis/core/controller-abi.js.map +1 -1
  3. package/dist/cjs/approval.js.map +1 -1
  4. package/dist/cjs/call.js +145 -84
  5. package/dist/cjs/call.js.map +1 -1
  6. package/dist/cjs/signature.js +9 -10
  7. package/dist/cjs/signature.js.map +1 -1
  8. package/dist/cjs/type.js.map +1 -1
  9. package/dist/cjs/utils/build-transaction.js +8 -7
  10. package/dist/cjs/utils/build-transaction.js.map +1 -1
  11. package/dist/esm/abis/core/controller-abi.js +28 -18
  12. package/dist/esm/abis/core/controller-abi.js.map +1 -1
  13. package/dist/esm/approval.js +3 -12
  14. package/dist/esm/approval.js.map +1 -1
  15. package/dist/esm/call.js +165 -109
  16. package/dist/esm/call.js.map +1 -1
  17. package/dist/esm/signature.js +11 -24
  18. package/dist/esm/signature.js.map +1 -1
  19. package/dist/esm/type.js.map +1 -1
  20. package/dist/esm/utils/build-transaction.js +8 -7
  21. package/dist/esm/utils/build-transaction.js.map +1 -1
  22. package/dist/tsconfig.build.tsbuildinfo +1 -1
  23. package/dist/types/abis/core/controller-abi.d.ts +22 -14
  24. package/dist/types/abis/core/controller-abi.d.ts.map +1 -1
  25. package/dist/types/approval.d.ts +3 -12
  26. package/dist/types/approval.d.ts.map +1 -1
  27. package/dist/types/call.d.ts +30 -29
  28. package/dist/types/call.d.ts.map +1 -1
  29. package/dist/types/signature.d.ts +3 -15
  30. package/dist/types/signature.d.ts.map +1 -1
  31. package/dist/types/type.d.ts +6 -0
  32. package/dist/types/type.d.ts.map +1 -1
  33. package/dist/types/utils/build-transaction.d.ts +1 -1
  34. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  35. package/package.json +1 -1
package/dist/esm/call.js CHANGED
@@ -9,7 +9,7 @@ import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from './constants/fee';
9
9
  import { fetchMarket } from './apis/market';
10
10
  import { parsePrice } from './utils/prices';
11
11
  import { fromPrice, invertPrice } from './utils/tick';
12
- import { getExpectedOutput } from './view';
12
+ import { getExpectedInput, getExpectedOutput } from './view';
13
13
  import { toBookId } from './utils/book-id';
14
14
  import { fetchIsApprovedForAll } from './utils/approval';
15
15
  import { decorator } from './utils/decorator';
@@ -34,7 +34,7 @@ import { applyPercent } from './utils/bigint';
34
34
  * outputToken: '0x0000000000000000000000000000000000000000'
35
35
  * })
36
36
  */
37
- export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }) => {
37
+ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, options, }) => {
38
38
  const market = await fetchMarket(chainId, [inputToken, outputToken]);
39
39
  const isBid = isAddressEqual(market.quote.address, inputToken);
40
40
  if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
@@ -47,9 +47,9 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
47
47
  [
48
48
  {
49
49
  key: {
50
- base: inputToken,
50
+ base: outputToken,
51
51
  unit,
52
- quote: outputToken,
52
+ quote: inputToken,
53
53
  makerPolicy: MAKER_DEFAULT_POLICY.value,
54
54
  hooks: zeroAddress,
55
55
  takerPolicy: TAKER_DEFAULT_POLICY.value,
@@ -59,7 +59,7 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
59
59
  ],
60
60
  getDeadlineTimestampInSeconds(),
61
61
  ],
62
- });
62
+ }, options?.gasLimit);
63
63
  }
64
64
  return undefined;
65
65
  });
@@ -73,7 +73,7 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
73
73
  * @param {string} amount The amount of input tokens for the order.
74
74
  * @param {string} price The price at which the order should be executed.
75
75
  * @param {Object} [options] Optional parameters for the limit order.
76
- * @param {PermitSignature} [options.signature] The permit signature for token approval.
76
+ * @param {erc20PermitParam} [options.erc20PermitParam] The permit signature for token approval.
77
77
  * @param {boolean} [options.postOnly] A boolean indicating whether the order is only to be made not taken.
78
78
  * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
79
79
  * @returns {Promise<{ transaction: Transaction, result: { make: CurrencyFlow, take: CurrencyFlow } }>}
@@ -82,9 +82,9 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
82
82
  * import { signERC20Permit, limitOrder } from '@clober/v2-sdk'
83
83
  * import { privateKeyToAccount } from 'viem/accounts'
84
84
  *
85
- * const signature = await signERC20Permit({
85
+ * const erc20PermitParam = await signERC20Permit({
86
86
  * chainId: 421614,
87
- * account: privateKeyToAccount('0x...'),
87
+ * walletClient,
88
88
  * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
89
89
  * amount: '100.123'
90
90
  * })
@@ -96,7 +96,7 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
96
96
  * outputToken: '0x0000000000000000000000000000000000000000',
97
97
  * amount: '100.123', // 100.123 USDC
98
98
  * price: '4000.01', // price at 4000.01 (ETH/USDC)
99
- * options: { signature }
99
+ * options: { erc20PermitParam }
100
100
  * })
101
101
  *
102
102
  * @example
@@ -114,24 +114,27 @@ export const openMarket = decorator(async ({ chainId, inputToken, outputToken, }
114
114
  export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, outputToken, amount, price, options, }) => {
115
115
  const market = await fetchMarket(chainId, [inputToken, outputToken]);
116
116
  const isBid = isAddressEqual(market.quote.address, inputToken);
117
+ const [inputCurrency, outputCurrency] = isBid
118
+ ? [market.quote, market.base]
119
+ : [market.base, market.quote];
117
120
  if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
118
121
  throw new Error(`
119
122
  Open the market before placing a limit order.
120
123
  import { openMarket } from '@clober/v2-sdk'
121
124
 
122
- const transaction = await openMarket(
123
- ${chainId},
124
- '${inputToken}',
125
- '${outputToken}',
126
- )
125
+ const transaction = await openMarket({
126
+ chainId: ${chainId},
127
+ inputToken: '${inputToken}',
128
+ outputToken: '${outputToken}',
129
+ })
127
130
  `);
128
131
  }
129
132
  const rawPrice = parsePrice(Number(price), market.quote.decimals, market.base.decimals);
130
133
  const tick = isBid ? fromPrice(rawPrice) : fromPrice(invertPrice(rawPrice));
131
134
  const tokensToSettle = [inputToken, outputToken].filter((address) => !isAddressEqual(address, zeroAddress));
132
- const quoteAmount = parseUnits(amount, isBid ? market.quote.decimals : market.base.decimals);
135
+ const quoteAmount = parseUnits(amount, inputCurrency.decimals);
133
136
  const [unit, { spendAmount, bookId }] = await Promise.all([
134
- calculateUnit(chainId, isBid ? market.quote : market.base),
137
+ calculateUnit(chainId, inputCurrency),
135
138
  getExpectedOutput({
136
139
  chainId,
137
140
  inputToken,
@@ -144,15 +147,6 @@ export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, o
144
147
  }),
145
148
  ]);
146
149
  const isETH = isAddressEqual(inputToken, zeroAddress);
147
- const permitParamsList = options?.signature && !isETH
148
- ? [
149
- {
150
- token: inputToken,
151
- permitAmount: quoteAmount,
152
- signature: options.signature,
153
- },
154
- ]
155
- : [];
156
150
  const makeParam = {
157
151
  id: toBookId(inputToken, outputToken, unit),
158
152
  tick: Number(tick),
@@ -170,20 +164,20 @@ export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, o
170
164
  args: [
171
165
  [makeParam],
172
166
  tokensToSettle,
173
- permitParamsList,
167
+ options?.erc20PermitParam ? [options.erc20PermitParam] : [],
174
168
  getDeadlineTimestampInSeconds(),
175
169
  ],
176
170
  value: isETH ? quoteAmount : 0n,
177
- }),
171
+ }, options?.gasLimit),
178
172
  result: {
179
173
  make: {
180
- amount: formatUnits(quoteAmount, isBid ? market.quote.decimals : market.base.decimals),
181
- currency: isBid ? market.quote : market.base,
174
+ amount: formatUnits(quoteAmount, inputCurrency.decimals),
175
+ currency: inputCurrency,
182
176
  direction: 'in',
183
177
  },
184
178
  take: {
185
179
  amount: '0',
186
- currency: isBid ? market.base : market.quote,
180
+ currency: outputCurrency,
187
181
  direction: 'out',
188
182
  },
189
183
  },
@@ -211,20 +205,20 @@ export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, o
211
205
  },
212
206
  ],
213
207
  tokensToSettle,
214
- permitParamsList,
208
+ options?.erc20PermitParam ? [options.erc20PermitParam] : [],
215
209
  getDeadlineTimestampInSeconds(),
216
210
  ],
217
211
  value: isETH ? quoteAmount : 0n,
218
- }),
212
+ }, options?.gasLimit),
219
213
  result: {
220
214
  make: {
221
- amount: formatUnits(quoteAmount, isBid ? market.quote.decimals : market.base.decimals),
222
- currency: isBid ? market.quote : market.base,
215
+ amount: formatUnits(quoteAmount, inputCurrency.decimals),
216
+ currency: inputCurrency,
223
217
  direction: 'in',
224
218
  },
225
219
  take: {
226
220
  amount: spendAmount,
227
- currency: isBid ? market.base : market.quote,
221
+ currency: outputCurrency,
228
222
  direction: 'out',
229
223
  },
230
224
  },
@@ -233,25 +227,29 @@ export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, o
233
227
  });
234
228
  /**
235
229
  * Executes a market order on the specified chain for trading tokens.
230
+ * If only `amountIn` is provided, spend the specified amount of input tokens.
231
+ * If `amountIn` and `amountOut` are provided, take the appropriate amount of output tokens with the specified input amount.
236
232
  *
237
233
  * @param {CHAIN_IDS} chainId The chain ID.
238
234
  * @param {`0x${string}`} userAddress The Ethereum address of the user placing the order.
239
235
  * @param {`0x${string}`} inputToken The address of the token to be used as input.
240
236
  * @param {`0x${string}`} outputToken The address of the token to be received as output.
241
- * @param {string} amount The amount of input tokens for the order.
242
- * @param {Object} [options] Optional parameters for the limit order.
243
- * @param {PermitSignature} [options.signature] The permit signature for token approval.
237
+ * @param {string} amountIn The amount of input tokens for the order to spend.
238
+ * @param {string} amountOut The amount of output tokens for the order to take.
239
+ * @param {Object} [options] Optional parameters for the market order.
240
+ * @param {erc20PermitParam} [options.erc20PermitParam] The permit signature for token approval.
244
241
  * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
245
- * @param {string} [options.limitPrice] The upper bound price to tolerate for the market bid, or the lower bound price to tolerate for the market ask.
246
- * if the limit price is not provided, unlimited slippage is allowed.
247
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the limit order.
242
+ * @param {number} [options.slippage] The maximum slippage percentage allowed for the order.
243
+ * if the slippage is not provided, unlimited slippage is allowed.
244
+ * @returns {Promise<{ transaction: Transaction, result: { spend: CurrencyFlow, take: CurrencyFlow } }>}
245
+ * Promise resolving to the transaction object representing the market order with the result of the order.
248
246
  * @example
249
247
  * import { signERC20Permit, marketOrder } from '@clober/v2-sdk'
250
248
  * import { privateKeyToAccount } from 'viem/accounts'
251
249
  *
252
- * const signature = await signERC20Permit({
250
+ * const erc20PermitParam = await signERC20Permit({
253
251
  * chainId: 421614,
254
- * account: privateKeyToAccount('0x...'),
252
+ * walletClient,
255
253
  * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
256
254
  * amount: '100.123'
257
255
  * })
@@ -262,24 +260,18 @@ export const limitOrder = decorator(async ({ chainId, userAddress, inputToken, o
262
260
  * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
263
261
  * outputToken: '0x0000000000000000000000000000000000000000',
264
262
  * amount: '100.123', // 100.123 USDC
265
- * options: { signature }
263
+ * options: { erc20PermitParam }
266
264
  * })
267
265
  *
268
- * @example
269
- * import { marketOrder } from '@clober/v2-sdk'
270
- *
271
- * const transaction = await limitOrder(
272
- * chainId: 421614,
273
- * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
274
- * inputToken: '0x0000000000000000000000000000000000000000',
275
- * outputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
276
- * options: '0.13', // 0.13 ETH
277
- * )
278
266
  */
279
- export const marketOrder = decorator(async ({ chainId, userAddress, inputToken, outputToken, amount, options, }) => {
267
+ export const marketOrder = decorator(async ({ chainId, userAddress, inputToken, outputToken, amountIn, amountOut, options, }) => {
280
268
  const market = await fetchMarket(chainId, [inputToken, outputToken]);
281
- const isBid = isAddressEqual(market.quote.address, inputToken);
282
- if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
269
+ const isTakingBid = isAddressEqual(market.base.address, inputToken);
270
+ const [inputCurrency, outputCurrency] = isTakingBid
271
+ ? [market.base, market.quote]
272
+ : [market.quote, market.base];
273
+ if ((isTakingBid && !market.bidBookOpen) ||
274
+ (!isTakingBid && !market.askBookOpen)) {
283
275
  throw new Error(`
284
276
  Open the market before placing a market order.
285
277
  import { openMarket } from '@clober/v2-sdk'
@@ -291,50 +283,114 @@ export const marketOrder = decorator(async ({ chainId, userAddress, inputToken,
291
283
  )
292
284
  `);
293
285
  }
294
- const rawLimitPrice = parsePrice(Number(options?.limitPrice ?? '0'), market.quote.decimals, market.base.decimals);
295
286
  const tokensToSettle = [inputToken, outputToken].filter((address) => !isAddressEqual(address, zeroAddress));
296
- const quoteAmount = parseUnits(amount, isBid ? market.quote.decimals : market.base.decimals);
297
- const { bookId, takenAmount } = await getExpectedOutput({
298
- chainId,
299
- inputToken,
300
- outputToken,
301
- amountIn: amount,
302
- options: {
303
- ...options,
304
- // todo: pass limit price
305
- },
306
- });
307
287
  const isETH = isAddressEqual(inputToken, zeroAddress);
308
- const permitParamsList = options?.signature && !isETH
309
- ? [
310
- {
311
- token: inputToken,
312
- permitAmount: quoteAmount,
313
- signature: options.signature,
288
+ if (amountIn && !amountOut) {
289
+ const { bookId, takenAmount, spendAmount } = await getExpectedOutput({
290
+ chainId,
291
+ inputToken,
292
+ outputToken,
293
+ amountIn,
294
+ options: {
295
+ ...options,
296
+ // don't need to check limit price for market order
314
297
  },
315
- ]
316
- : [];
317
- return buildTransaction(chainId, {
318
- chain: CHAIN_MAP[chainId],
319
- account: userAddress,
320
- address: CONTRACT_ADDRESSES[chainId].Controller,
321
- abi: CONTROLLER_ABI,
322
- functionName: 'take',
323
- args: [
324
- [
325
- {
326
- id: bookId,
327
- limitPrice: isBid ? invertPrice(rawLimitPrice) : rawLimitPrice,
328
- quoteAmount: takenAmount,
329
- hookData: zeroHash,
298
+ });
299
+ const baseAmount = parseUnits(amountIn, inputCurrency.decimals);
300
+ return {
301
+ transaction: await buildTransaction(chainId, {
302
+ chain: CHAIN_MAP[chainId],
303
+ account: userAddress,
304
+ address: CONTRACT_ADDRESSES[chainId].Controller,
305
+ abi: CONTROLLER_ABI,
306
+ functionName: 'spend',
307
+ args: [
308
+ [
309
+ {
310
+ id: bookId,
311
+ limitPrice: 0n,
312
+ baseAmount,
313
+ minQuoteAmount: options?.slippage
314
+ ? applyPercent(parseUnits(takenAmount, outputCurrency.decimals), 100 - options.slippage)
315
+ : 0n,
316
+ hookData: zeroHash,
317
+ },
318
+ ],
319
+ tokensToSettle,
320
+ options?.erc20PermitParam ? [options.erc20PermitParam] : [],
321
+ getDeadlineTimestampInSeconds(),
322
+ ],
323
+ value: isETH ? baseAmount : 0n,
324
+ }, options?.gasLimit),
325
+ result: {
326
+ spend: {
327
+ amount: spendAmount,
328
+ currency: inputCurrency,
329
+ direction: 'in',
330
330
  },
331
- ],
332
- tokensToSettle,
333
- permitParamsList,
334
- getDeadlineTimestampInSeconds(),
335
- ],
336
- value: isETH ? quoteAmount : 0n,
337
- });
331
+ take: {
332
+ amount: takenAmount,
333
+ currency: outputCurrency,
334
+ direction: 'out',
335
+ },
336
+ },
337
+ };
338
+ }
339
+ else if (amountIn && amountOut) {
340
+ const { bookId, spendAmount, takenAmount } = await getExpectedInput({
341
+ chainId,
342
+ inputToken,
343
+ outputToken,
344
+ amountOut,
345
+ options: {
346
+ ...options,
347
+ // don't need to check limit price for market order
348
+ },
349
+ });
350
+ const quoteAmount = parseUnits(amountOut, outputCurrency.decimals);
351
+ const baseAmount = parseUnits(amountIn ?? spendAmount, inputCurrency.decimals);
352
+ return {
353
+ transaction: await buildTransaction(chainId, {
354
+ chain: CHAIN_MAP[chainId],
355
+ account: userAddress,
356
+ address: CONTRACT_ADDRESSES[chainId].Controller,
357
+ abi: CONTROLLER_ABI,
358
+ functionName: 'take',
359
+ args: [
360
+ [
361
+ {
362
+ id: bookId,
363
+ limitPrice: 0n,
364
+ quoteAmount,
365
+ maxBaseAmount: options?.slippage
366
+ ? applyPercent(baseAmount, 100 + options.slippage)
367
+ : 2n ** 256n - 1n,
368
+ hookData: zeroHash,
369
+ },
370
+ ],
371
+ tokensToSettle,
372
+ options?.erc20PermitParam ? [options.erc20PermitParam] : [],
373
+ getDeadlineTimestampInSeconds(),
374
+ ],
375
+ value: isETH ? baseAmount : 0n,
376
+ }, options?.gasLimit),
377
+ result: {
378
+ spend: {
379
+ amount: spendAmount,
380
+ currency: inputCurrency,
381
+ direction: 'in',
382
+ },
383
+ take: {
384
+ amount: takenAmount,
385
+ currency: outputCurrency,
386
+ direction: 'out',
387
+ },
388
+ },
389
+ };
390
+ }
391
+ else {
392
+ throw new Error('Either amountIn or amountOut must be provided');
393
+ }
338
394
  });
339
395
  /**
340
396
  * Claims specified open order for settlement.
@@ -398,17 +454,17 @@ export const claimOrder = decorator(async ({ chainId, userAddress, id, options,
398
454
  * ids: openOrders.map((order) => order.id)
399
455
  * )
400
456
  */
401
- export const claimOrders = decorator(async ({ chainId, userAddress, ids, }) => {
457
+ export const claimOrders = decorator(async ({ chainId, userAddress, ids, options, }) => {
402
458
  const isApprovedForAll = await fetchIsApprovedForAll(chainId, userAddress);
403
459
  if (!isApprovedForAll) {
404
460
  throw new Error(`
405
461
  Set ApprovalForAll before calling this function.
406
462
  import { setApprovalOfOpenOrdersForAll } from '@clober/v2-sdk'
407
463
 
408
- const hash = await setApprovalOfOpenOrdersForAll(
409
- ${chainId},
410
- privateKeyToAccount('0x...')
411
- )
464
+ const hash = await setApprovalOfOpenOrdersForAll({
465
+ chainId: ${chainId},
466
+ walletClient, // use viem
467
+ })
412
468
  `);
413
469
  }
414
470
  const orders = (await fetchOrders(chainId, ids.map((id) => BigInt(id)))).filter((order) => isAddressEqual(order.owner, userAddress) && order.claimable > 0n);
@@ -433,7 +489,7 @@ export const claimOrders = decorator(async ({ chainId, userAddress, ids, }) => {
433
489
  [],
434
490
  getDeadlineTimestampInSeconds(),
435
491
  ],
436
- }),
492
+ }, options?.gasLimit),
437
493
  result: orders
438
494
  .map((order) => {
439
495
  const amount = quoteToBase(order.tick, order.unit * order.claimable, false);
@@ -514,17 +570,17 @@ export const cancelOrder = decorator(async ({ chainId, userAddress, id, options,
514
570
  * ids: openOrders.map((order) => order.id)
515
571
  * })
516
572
  */
517
- export const cancelOrders = decorator(async ({ chainId, userAddress, ids, }) => {
573
+ export const cancelOrders = decorator(async ({ chainId, userAddress, ids, options, }) => {
518
574
  const isApprovedForAll = await fetchIsApprovedForAll(chainId, userAddress);
519
575
  if (!isApprovedForAll) {
520
576
  throw new Error(`
521
577
  Set ApprovalForAll before calling this function.
522
578
  import { setApprovalOfOpenOrdersForAll } from '@clober/v2-sdk'
523
579
 
524
- const hash = await setApprovalOfOpenOrdersForAll(
525
- ${chainId},
526
- privateKeyToAccount('0x...')
527
- )
580
+ const hash = await setApprovalOfOpenOrdersForAll({
581
+ chainId: ${chainId},
582
+ walletClient, // use viem
583
+ })
528
584
  `);
529
585
  }
530
586
  const orders = (await fetchOrders(chainId, ids.map((id) => BigInt(id)))).filter((order) => isAddressEqual(order.owner, userAddress) && order.open > 0n);
@@ -550,7 +606,7 @@ export const cancelOrders = decorator(async ({ chainId, userAddress, ids, }) =>
550
606
  [],
551
607
  getDeadlineTimestampInSeconds(),
552
608
  ],
553
- }),
609
+ }, options?.gasLimit),
554
610
  result: orders
555
611
  .map((order) => {
556
612
  const amount = applyPercent(order.unit * order.open, 100 +
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,MAAM,CAAA;AAEb,OAAO,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAOxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CACjC,KAAK,EAAE,EACL,OAAO,EACP,UAAU,EACV,WAAW,GAMZ,EAAoC,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,OAAO,EACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACnC,CAAA;QACD,OAAO,gBAAgB,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;YAChD,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE;gBACJ;oBACE;wBACE,GAAG,EAAE;4BACH,IAAI,EAAE,UAAU;4BAChB,IAAI;4BACJ,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,oBAAoB,CAAC,KAAK;4BACvC,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,oBAAoB,CAAC,KAAK;yBACxC;wBACD,QAAQ,EAAE,QAAQ;qBACnB;iBACF;gBACD,6BAA6B,EAAE;aAChC;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CACjC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,GAYR,EAME,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC;;;;;cAKR,OAAO;cACP,UAAU;cACV,WAAW;;KAEpB,CAAC,CAAA;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CACzB,MAAM,CAAC,KAAK,CAAC,EACb,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrB,CAAA;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3E,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CACrD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CACnD,CAAA;IACD,MAAM,WAAW,GAAG,UAAU,CAC5B,MAAM,EACN,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrD,CAAA;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,iBAAiB,CAAC;YAChB,OAAO;YACP,UAAU;YACV,WAAW;YACX,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;KACH,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,gBAAgB,GACpB,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK;QAC1B,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF;QACH,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC;QAC3C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,WAAW;QACX,QAAQ,EAAE,QAAQ;KACnB,CAAA;IACD,IAAI,OAAO,EAAE,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACtD,OAAO;YACL,WAAW,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE;gBAC3C,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE;oBACJ,CAAC,SAAS,CAAC;oBACX,cAAc;oBACd,gBAAgB;oBAChB,6BAA6B,EAAE;iBAChC;gBACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aAChC,CAAC;YACF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW,CACjB,WAAW,EACX,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrD;oBACD,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;oBAC5C,SAAS,EAAE,IAAI;iBAChB;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,GAAG;oBACX,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;oBAC5C,SAAS,EAAE,KAAK;iBACjB;aACF;SACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,gBAAgB;QAChB,OAAO;YACL,WAAW,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE;gBAC3C,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE;oBACJ;wBACE;4BACE,UAAU,EAAE,MAAM;4BAClB,UAAU,EAAE,SAAS,CAAC,EAAE;4BACxB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;4BACpD,IAAI,EAAE,SAAS,CAAC,IAAI;4BACpB,WAAW;4BACX,YAAY,EAAE,QAAQ;4BACtB,YAAY,EAAE,SAAS,CAAC,QAAQ;yBACjC;qBACF;oBACD,cAAc;oBACd,gBAAgB;oBAChB,6BAA6B,EAAE;iBAChC;gBACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aAChC,CAAC;YACF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW,CACjB,WAAW,EACX,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrD;oBACD,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;oBAC5C,SAAS,EAAE,IAAI;iBAChB;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;oBAC5C,SAAS,EAAE,KAAK;iBACjB;aACF;SACF,CAAA;IACH,CAAC;AACH,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAClC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,GAWR,EAAwB,EAAE;IACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC;;;;;cAKR,OAAO;cACP,UAAU;cACV,WAAW;;KAEpB,CAAC,CAAA;IACF,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,CAC9B,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC,EAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrB,CAAA;IACD,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CACrD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CACnD,CAAA;IACD,MAAM,WAAW,GAAG,UAAU,CAC5B,MAAM,EACN,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CACrD,CAAA;IACD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC;QACtD,OAAO;QACP,UAAU;QACV,WAAW;QACX,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,yBAAyB;SAC1B;KACF,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,gBAAgB,GACpB,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK;QAC1B,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF;QACH,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,gBAAgB,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;QAChD,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE;YACJ;gBACE;oBACE,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;oBAC9D,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,QAAQ;iBACnB;aACF;YACD,cAAc;YACd,gBAAgB;YAChB,6BAA6B,EAAE;SAChC;QACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;KAChC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CACjC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,EAAE,EACF,OAAO,GAMR,EAA+D,EAAE;IAChE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;QAChD,OAAO;QACP,WAAW;QACX,GAAG,EAAE,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;KACxB,CAAC,CAAA;IACF,OAAO;QACL,WAAW;QACX,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAClB,CAAA;AACH,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAClC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,GAAG,GAMJ,EAAiE,EAAE;IAClE,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC;;;;;cAKR,OAAO;;;KAGhB,CAAC,CAAA;IACF,CAAC;IAED,MAAM,MAAM,GAAG,CACb,MAAM,WAAW,CACf,OAAO,EACP,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC5B,CACF,CAAC,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACR,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,EAAE,CACnE,CAAA;IACD,MAAM,cAAc,GAAG,MAAM;SAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACzE,IAAI,EAAE;SACN,MAAM,CACL,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,CAC9D;SACA,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7D,OAAO;QACL,WAAW,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE;YAC3C,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;YAChD,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,EAAE,EAAE,OAAO;oBACX,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBACH,cAAc;gBACd,EAAE;gBACF,6BAA6B,EAAE;aAChC;SACF,CAAC;QACF,MAAM,EAAE,MAAM;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,EAC5B,KAAK,CACN,CAAA;YACD,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,YAAY;gBAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;aACzD,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CACrD,CAAA;YACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACzD,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAClB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC,QAAQ,EAAE,CAAA;YACZ,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAoB,CAAC;KAC3B,CAAA;AACH,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAClC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,EAAE,EACF,OAAO,GAMR,EAA+D,EAAE;IAChE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC;QACjD,OAAO;QACP,WAAW;QACX,GAAG,EAAE,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;KACxB,CAAC,CAAA;IACF,OAAO;QACL,WAAW;QACX,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAClB,CAAA;AACH,CAAC,CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CACnC,KAAK,EAAE,EACL,OAAO,EACP,WAAW,EACX,GAAG,GAMJ,EAAiE,EAAE;IAClE,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC;;;;;cAKR,OAAO;;;KAGhB,CAAC,CAAA;IACF,CAAC;IAED,MAAM,MAAM,GAAG,CACb,MAAM,WAAW,CACf,OAAO,EACP,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC5B,CACF,CAAC,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,CACvE,CAAA;IACD,MAAM,cAAc,GAAG,MAAM;SAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACzE,IAAI,EAAE;SACN,MAAM,CACL,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,CAC9D;SACA,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7D,OAAO;QACL,WAAW,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE;YAC3C,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;YAChD,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,EAAE,EAAE,OAAO;oBACX,eAAe,EAAE,EAAE;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBACH,cAAc;gBACd,EAAE;gBACF,6BAA6B,EAAE;aAChC;SACF,CAAC;QACF,MAAM,EAAE,MAAM;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,YAAY,CACzB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EACvB,GAAG;gBACD,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBACvC,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAC/C,CAAC,CACF,CAAA;YACD,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,aAAa;gBAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;aAC1D,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CACrD,CAAA;YACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACzD,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAClB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC,QAAQ,EAAE,CAAA;YACZ,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAoB,CAAC;KAC3B,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { hexToSignature, parseUnits, verifyTypedData, zeroHash, } from 'viem';
1
+ import { hexToSignature, parseUnits, verifyTypedData } from 'viem';
2
2
  import { getDeadlineTimestampInSeconds } from './utils/time';
3
3
  import { CONTRACT_ADDRESSES } from './constants/addresses';
4
4
  import { fetchCurrency } from './utils/currency';
@@ -61,21 +61,9 @@ const _abi = [
61
61
  * @param {string} amount The amount of tokens to permit.
62
62
  * @param options
63
63
  * @param options.rpcUrl The RPC URL of the blockchain.
64
- * @returns {Promise<PermitSignature>} Promise resolving to the permit signature.
64
+ * @returns {Promise<erc20PermitParam | undefined>} The signed permit.
65
65
  * @example
66
66
  * import { signERC20Permit } from '@clober/v2-sdk'
67
- * import { privateKeyToAccount } from 'viem/accounts'
68
- *
69
- * const { deadline, r, s, v } = await signERC20Permit({
70
- * chainId: 421614,
71
- * account: privateKeyToAccount('0x...')
72
- * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
73
- * amount: '1000.123', // spend 1000.123 USDC
74
- * })
75
- *
76
- * @example
77
- * import { signERC20Permit } from '@clober/v2-sdk'
78
- * import { mnemonicToAccount } from 'viem/accounts'
79
67
  *
80
68
  * const walletClient = createWalletClient({
81
69
  * chain: arbitrumSepolia,
@@ -120,12 +108,7 @@ export const signERC20Permit = decorator(async ({ chainId, walletClient, token,
120
108
  ],
121
109
  });
122
110
  if (nonce === undefined || !name) {
123
- return {
124
- r: zeroHash,
125
- s: zeroHash,
126
- v: 0,
127
- deadline: 0n,
128
- };
111
+ return undefined;
129
112
  }
130
113
  const deadline = getDeadlineTimestampInSeconds();
131
114
  const data = {
@@ -173,10 +156,14 @@ export const signERC20Permit = decorator(async ({ chainId, walletClient, token,
173
156
  }
174
157
  const { v, s, r } = hexToSignature(signature);
175
158
  return {
176
- v: Number(v),
177
- s,
178
- r,
179
- deadline,
159
+ token,
160
+ permitAmount: value,
161
+ signature: {
162
+ v: Number(v),
163
+ s,
164
+ r,
165
+ deadline,
166
+ },
180
167
  };
181
168
  });
182
169
  //# sourceMappingURL=signature.js.map
@@ -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":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAoD7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AA2D7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
@@ -1,14 +1,15 @@
1
1
  import { encodeFunctionData, } from 'viem';
2
2
  import { cachedPublicClients } from '../constants/client';
3
- export const buildTransaction = async (chainId, args) => {
3
+ export const buildTransaction = async (chainId, args, gasLimit) => {
4
4
  const data = encodeFunctionData(args);
5
5
  const [gas, gasPrice] = await Promise.all([
6
- cachedPublicClients[chainId].estimateGas({
7
- account: args.account,
8
- data,
9
- to: args.address,
10
- value: args.value || 0n,
11
- }),
6
+ gasLimit ??
7
+ cachedPublicClients[chainId].estimateGas({
8
+ account: args.account,
9
+ data,
10
+ to: args.address,
11
+ value: args.value || 0n,
12
+ }),
12
13
  cachedPublicClients[chainId].getGasPrice(),
13
14
  ]);
14
15
  return {
@@ -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,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"}
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,EAC1D,QAAiB,EACK,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,mBAAmB,CAAC,OAAO,CAAE,CAAC,WAAW,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,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"}