@spicenet-io/spiceflow-core 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -31,7 +31,9 @@ __export(index_exports, {
31
31
  TOKENS: () => TOKENS,
32
32
  WCBTC_ABI: () => WCBTC_ABI,
33
33
  ZERO_ADDRESS: () => ZERO_ADDRESS,
34
+ applySlippage: () => applySlippage,
34
35
  areEquivalent: () => areEquivalent,
36
+ buildUniV3SwapCalls: () => buildUniV3SwapCalls,
35
37
  convertAmountBetweenDecimals: () => convertAmountBetweenDecimals,
36
38
  fetchWithRetry: () => fetchWithRetry,
37
39
  formatTokenAmount: () => formatTokenAmount,
@@ -57,8 +59,11 @@ __export(index_exports, {
57
59
  isUsdDenominated: () => isUsdDenominated,
58
60
  normalizeNativeTokenAddress: () => normalizeNativeTokenAddress,
59
61
  prepareRFQT: () => prepareRFQT,
62
+ resolveTokenRef: () => resolveTokenRef,
60
63
  submitTransaction: () => submitTransaction,
61
64
  truncateAddress: () => truncateAddress,
65
+ uniV3QuoterV2Abi: () => uniV3QuoterV2Abi,
66
+ uniV3SwapRouterAbi: () => uniV3SwapRouterAbi,
62
67
  withRetry: () => withRetry
63
68
  });
64
69
  module.exports = __toCommonJS(index_exports);
@@ -243,6 +248,7 @@ var logo_citrea = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAAC
243
248
  var logo_eth = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAATlBMVEVMaXFIo/VMrO1MqvNKpvNJpfNIpPRGoPRRoe5Io/RHoPT////8/v+k0fpLqv9KovVKpfw8m/R4uvdirva02fvq9P6Oxfna7P32+v/F4fwkLp0eAAAACnRSTlMA6BMrVn2o/APPAqKYHQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAuJJREFUeNqtl+vWqiAQhj3kAVAhwMz7v9E9QIbJi/attj+slc3rwzDMoSiSq+/dvb41LWNl15WMtc2tjk+uLvpTXzesm6ZJKcm5VIq+dqype//wyrwvqoapScnOX5yHT0k/saa6gvDm5aSC6f5yv6ipvJCgR7dykkfjKCKn8nayjr6oW/d2nr0cRVvnFHr3+jPzIOEgemzfkOeOBlImElI1SKEvWvB6qbUEEG2qAO3l/TGOj7v8QoH4J7D6+zLa5Y4YDqvw9in/XYtxFPpagfyvOAJYncCaCtCf1cdeVKVK7R2AExgMUlBl9elADgRWLwAR+M6RtABsr8XgCSACKbwX0TOVAQgCwkIBxfpzADNsAoTATxByAJbgwxJOEc4ANgLxPEHIboEVcQkZhLARdcdRDJiniASEgAh453Jtkwd4C9BnbicLvALuASJBBoHWkIviYPcWwAg+nmuJjmEA2BGIWSEnyBpu4gawE8ggkBOgD9UsjgRihl5skA/fAHuBQTxAYiEvMrSEF8AHAULoJlakB4FS6Wa0F0AIdByAQAQ4CKQIUGAH8LkEgIAJ5IIFhFggwcGJe4CDQIrgnJhu4+JSCFrCkCC4bUwCSepV4F0Q67FQukBKQ1lrvYhAEQ8T3RZ6AEK5lsd8YubVeIl9PiBzs84GHKb0OFM2HKx5zCImVTE/tE3rQyhPiRfdPojBapJ4EXhzAcLAJRRwHEM+e1o9zk5gHp05SqwhpaGkGmKJJOw40u3pvLBInFRRWg8ZyUsYY19fDQBofV24oYzgwzE6MZMNQm1DpS1J66CybNU1U9tcRMfKtJwV1wxCcEMgmE0eIIfg+4vNBxoWhdhgwOoUUqsnwBl93yvC8uTc8OqR+HmTlWnzJB0rH4mKy6s279dGM9fqUjSMdvzGPtesw279L+16buZo8cCABg5gnxk4fh95nEL1zdBVnY1tv419cfDkaPDk14Pn76Pvfxi+/zz+/wNRN43Lkt3u4wAAAABJRU5ErkJggg==";
244
249
  var logo_pharos = "data:image/jpeg;base64,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";
245
250
  var logo_usdc = "data:image/png;base64,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";
251
+ var logo_usdt = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTExIiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTExIDkwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI0LjQ4MjUgMC44NjIzMDVIODguMDQ5NkM4OS41NjYzIDAuODYyMzA1IDkwLjk2NzUgMS42NDgyNyA5MS43MjM5IDIuOTIzMzhMMTEwLjI0NCAzNC4xNDE5QzExMS4yMDQgMzUuNzYwOSAxMTAuOTE5IDM3LjgwNDMgMTA5LjU0OSAzOS4xMTcxTDU4LjU3MjkgODcuOTcwM0M1Ni45MjE2IDg5LjU1MjggNTQuMjY1MiA4OS41NTI4IDUyLjYxMzkgODcuOTcwM0wxLjcwNjk5IDM5LjE4MzFDMC4zMDUyNjIgMzcuODM5OCAwLjA0Mjc4MTIgMzUuNzM2NyAxLjA3MzU0IDM0LjEwNzdMMjAuODY5NiAyLjgyMzIyQzIxLjY0MDYgMS42MDQ4MyAyMy4wMDg3IDAuODYyMzA1IDI0LjQ4MjUgMC44NjIzMDVaTTc5Ljg0MTkgMTQuODAwM1YyMy41NTk3SDYxLjczNDNWMjkuNjMyOUM3NC40NTE4IDMwLjI4MTkgODMuOTkzNCAzMi45NDc1IDg0LjA2NDIgMzYuMTQyNUw4NC4wNjM4IDQyLjgwM0M4My45OTMgNDUuOTk4IDc0LjQ1MTggNDguNjYzNSA2MS43MzQzIDQ5LjMxMjVWNjQuMjE2OEg0OS43MTA1VjQ5LjMxMjVDMzYuOTkyOSA0OC42NjM1IDI3LjQ1MTMgNDUuOTk4IDI3LjM4MDUgNDIuODAzTDI3LjM4MSAzNi4xNDI1QzI3LjQ1MTcgMzIuOTQ3NSAzNi45OTI5IDMwLjI4MTkgNDkuNzEwNSAyOS42MzI5VjIzLjU1OTdIMzEuNjAyOFYxNC44MDAzSDc5Ljg0MTlaTTU1LjcyMjQgNDQuNzM2N0M2OS4yOTQzIDQ0LjczNjcgODAuNjM4MiA0Mi40ODI3IDgzLjQxNDMgMzkuNDcyN0M4MS4wNjAxIDM2LjkyMDIgNzIuNTQ0OCAzNC45MTE0IDYxLjczNDMgMzQuMzU5N1Y0MC43MTgzQzU5Ljc5NjYgNDAuODE3MiA1Ny43ODUyIDQwLjg2OTMgNTUuNzIyNCA0MC44NjkzQzUzLjY1OTUgNDAuODY5MyA1MS42NDgxIDQwLjgxNzIgNDkuNzEwNSA0MC43MTgzVjM0LjM1OTdDMzguODk5OSAzNC45MTE0IDMwLjM4NDYgMzYuOTIwMiAyOC4wMzA0IDM5LjQ3MjdDMzAuODA2NiA0Mi40ODI3IDQyLjE1MDQgNDQuNzM2NyA1NS43MjI0IDQ0LjczNjdaIiBmaWxsPSIjMDA5MzkzIi8+Cjwvc3ZnPgo=";
246
252
  var logo_wbtc = "data:image/png;base64,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";
247
253
 
248
254
  // src/tokens/list.ts
@@ -253,13 +259,55 @@ var TOKENS = [
253
259
  equivalenceGroup: "USDC",
254
260
  logo: logo_usdc,
255
261
  deployments: [
256
- { chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", decimals: 6, network: "mainnet", swapContracts: [] },
257
- { chainId: 8453, address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", decimals: 6, network: "mainnet", swapContracts: [] },
258
- { chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831", decimals: 6, network: "mainnet", swapContracts: [] },
259
- { chainId: 4114, address: "0xe045e6c36cf77faa2cfb54466d71a3aef7bbe839", decimals: 6, network: "mainnet", swapContracts: [] },
260
- { chainId: 11155111, address: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", decimals: 6, network: "testnet", swapContracts: [] },
261
- { chainId: 421614, address: "0xbeb51deb2018b67b35d5695fd15bb30d452c7868", decimals: 18, network: "testnet", swapContracts: [] },
262
- { chainId: 84532, address: "0xf370dc3765f81ac9dd2febd59fb4e710330b0bc8", decimals: 18, network: "testnet", swapContracts: [] }
262
+ {
263
+ chainId: 1,
264
+ address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
265
+ decimals: 6,
266
+ network: "mainnet",
267
+ swapContracts: []
268
+ },
269
+ {
270
+ chainId: 8453,
271
+ address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
272
+ decimals: 6,
273
+ network: "mainnet",
274
+ swapContracts: []
275
+ },
276
+ {
277
+ chainId: 42161,
278
+ address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
279
+ decimals: 6,
280
+ network: "mainnet",
281
+ swapContracts: []
282
+ },
283
+ {
284
+ chainId: 4114,
285
+ address: "0xe045e6c36cf77faa2cfb54466d71a3aef7bbe839",
286
+ decimals: 6,
287
+ network: "mainnet",
288
+ swapContracts: []
289
+ },
290
+ {
291
+ chainId: 11155111,
292
+ address: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238",
293
+ decimals: 6,
294
+ network: "testnet",
295
+ swapContracts: []
296
+ },
297
+ {
298
+ chainId: 421614,
299
+ address: "0xbeb51deb2018b67b35d5695fd15bb30d452c7868",
300
+ decimals: 18,
301
+ network: "testnet",
302
+ swapContracts: []
303
+ },
304
+ {
305
+ chainId: 84532,
306
+ address: "0xf370dc3765f81ac9dd2febd59fb4e710330b0bc8",
307
+ decimals: 18,
308
+ network: "testnet",
309
+ swapContracts: []
310
+ }
263
311
  ]
264
312
  },
265
313
  {
@@ -268,7 +316,13 @@ var TOKENS = [
268
316
  equivalenceGroup: "USDC",
269
317
  logo: logo_usdc,
270
318
  deployments: [
271
- { chainId: 4114, address: "0x8d82c4e3c936c7b5724a382a9c5a4e6eb7ab6d5d", decimals: 6, network: "mainnet", swapContracts: [] }
319
+ {
320
+ chainId: 4114,
321
+ address: "0x8d82c4e3c936c7b5724a382a9c5a4e6eb7ab6d5d",
322
+ decimals: 6,
323
+ network: "mainnet",
324
+ swapContracts: []
325
+ }
272
326
  ]
273
327
  },
274
328
  {
@@ -277,9 +331,56 @@ var TOKENS = [
277
331
  equivalenceGroup: "SUSD",
278
332
  logo: logo_usdc,
279
333
  deployments: [
280
- { chainId: 11155111, address: "0x9bf2d44887be65c4f6337b20814ec79197a092aa", decimals: 18, network: "testnet", swapContracts: [] },
281
- { chainId: 421614, address: "0xf370dc3765f81ac9dd2febd59fb4e710330b0bc8", decimals: 18, network: "testnet", swapContracts: [] },
282
- { chainId: 84532, address: "0xbeb51deb2018b67b35d5695fd15bb30d452c7868", decimals: 18, network: "testnet", swapContracts: [] }
334
+ {
335
+ chainId: 11155111,
336
+ address: "0x9bf2d44887be65c4f6337b20814ec79197a092aa",
337
+ decimals: 18,
338
+ network: "testnet",
339
+ swapContracts: []
340
+ },
341
+ {
342
+ chainId: 421614,
343
+ address: "0xf370dc3765f81ac9dd2febd59fb4e710330b0bc8",
344
+ decimals: 18,
345
+ network: "testnet",
346
+ swapContracts: []
347
+ },
348
+ {
349
+ chainId: 84532,
350
+ address: "0xbeb51deb2018b67b35d5695fd15bb30d452c7868",
351
+ decimals: 18,
352
+ network: "testnet",
353
+ swapContracts: []
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ symbol: "USDT",
359
+ name: "Tether USD",
360
+ equivalenceGroup: "USDC",
361
+ logo: logo_usdt,
362
+ deployments: [
363
+ {
364
+ chainId: 1,
365
+ address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
366
+ decimals: 6,
367
+ network: "mainnet",
368
+ swapContracts: []
369
+ },
370
+ {
371
+ chainId: 8453,
372
+ address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
373
+ decimals: 6,
374
+ network: "mainnet",
375
+ swapContracts: []
376
+ },
377
+ {
378
+ chainId: 42161,
379
+ address: "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
380
+ decimals: 6,
381
+ network: "mainnet",
382
+ swapContracts: []
383
+ }
283
384
  ]
284
385
  },
285
386
  {
@@ -288,8 +389,20 @@ var TOKENS = [
288
389
  equivalenceGroup: "SUSD",
289
390
  logo: logo_usdc,
290
391
  deployments: [
291
- { chainId: 5115, address: "0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1", decimals: 18, network: "testnet", swapContracts: [] },
292
- { chainId: 688689, address: "0x16b90aeb3de140dde993da1d5734bca28574702b", decimals: 6, network: "testnet", swapContracts: [] }
392
+ {
393
+ chainId: 5115,
394
+ address: "0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1",
395
+ decimals: 18,
396
+ network: "testnet",
397
+ swapContracts: []
398
+ },
399
+ {
400
+ chainId: 688689,
401
+ address: "0x16b90aeb3de140dde993da1d5734bca28574702b",
402
+ decimals: 6,
403
+ network: "testnet",
404
+ swapContracts: []
405
+ }
293
406
  ]
294
407
  },
295
408
  {
@@ -298,11 +411,41 @@ var TOKENS = [
298
411
  equivalenceGroup: "WBTC",
299
412
  logo: logo_wbtc,
300
413
  deployments: [
301
- { chainId: 1, address: "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", decimals: 8, network: "mainnet", swapContracts: [] },
302
- { chainId: 42161, address: "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f", decimals: 8, network: "mainnet", swapContracts: [] },
303
- { chainId: 11155111, address: "0x4fc381b6cc6df8cf1c1bd46d184475be5b7a3c62", decimals: 8, network: "testnet", swapContracts: [] },
304
- { chainId: 421614, address: "0xba4c54d4cf10c766c22a08f783998cfab237f7c9", decimals: 8, network: "testnet", swapContracts: [] },
305
- { chainId: 84532, address: "0x16dd3a855433059be478facb416d9afed6ca96ec", decimals: 8, network: "testnet", swapContracts: [] }
414
+ {
415
+ chainId: 1,
416
+ address: "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
417
+ decimals: 8,
418
+ network: "mainnet",
419
+ swapContracts: []
420
+ },
421
+ {
422
+ chainId: 42161,
423
+ address: "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",
424
+ decimals: 8,
425
+ network: "mainnet",
426
+ swapContracts: []
427
+ },
428
+ {
429
+ chainId: 11155111,
430
+ address: "0x4fc381b6cc6df8cf1c1bd46d184475be5b7a3c62",
431
+ decimals: 8,
432
+ network: "testnet",
433
+ swapContracts: []
434
+ },
435
+ {
436
+ chainId: 421614,
437
+ address: "0xba4c54d4cf10c766c22a08f783998cfab237f7c9",
438
+ decimals: 8,
439
+ network: "testnet",
440
+ swapContracts: []
441
+ },
442
+ {
443
+ chainId: 84532,
444
+ address: "0x16dd3a855433059be478facb416d9afed6ca96ec",
445
+ decimals: 8,
446
+ network: "testnet",
447
+ swapContracts: []
448
+ }
306
449
  ]
307
450
  },
308
451
  {
@@ -311,12 +454,48 @@ var TOKENS = [
311
454
  equivalenceGroup: "ETH",
312
455
  logo: logo_eth,
313
456
  deployments: [
314
- { chainId: 1, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "mainnet", swapContracts: [] },
315
- { chainId: 8453, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "mainnet", swapContracts: [] },
316
- { chainId: 42161, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "mainnet", swapContracts: [] },
317
- { chainId: 11155111, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "testnet", swapContracts: [] },
318
- { chainId: 421614, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "testnet", swapContracts: [] },
319
- { chainId: 84532, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "testnet", swapContracts: [] }
457
+ {
458
+ chainId: 1,
459
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
460
+ decimals: 18,
461
+ network: "mainnet",
462
+ swapContracts: []
463
+ },
464
+ {
465
+ chainId: 8453,
466
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
467
+ decimals: 18,
468
+ network: "mainnet",
469
+ swapContracts: []
470
+ },
471
+ {
472
+ chainId: 42161,
473
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
474
+ decimals: 18,
475
+ network: "mainnet",
476
+ swapContracts: []
477
+ },
478
+ {
479
+ chainId: 11155111,
480
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
481
+ decimals: 18,
482
+ network: "testnet",
483
+ swapContracts: []
484
+ },
485
+ {
486
+ chainId: 421614,
487
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
488
+ decimals: 18,
489
+ network: "testnet",
490
+ swapContracts: []
491
+ },
492
+ {
493
+ chainId: 84532,
494
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
495
+ decimals: 18,
496
+ network: "testnet",
497
+ swapContracts: []
498
+ }
320
499
  ]
321
500
  },
322
501
  {
@@ -325,7 +504,13 @@ var TOKENS = [
325
504
  equivalenceGroup: "ETH",
326
505
  logo: logo_eth,
327
506
  deployments: [
328
- { chainId: 8453, address: "0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22", decimals: 18, network: "mainnet", swapContracts: [] }
507
+ {
508
+ chainId: 8453,
509
+ address: "0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22",
510
+ decimals: 18,
511
+ network: "mainnet",
512
+ swapContracts: []
513
+ }
329
514
  ]
330
515
  },
331
516
  {
@@ -334,7 +519,13 @@ var TOKENS = [
334
519
  equivalenceGroup: "CBTC",
335
520
  logo: logo_cbtc,
336
521
  deployments: [
337
- { chainId: 4114, address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", decimals: 18, network: "mainnet", swapContracts: [] }
522
+ {
523
+ chainId: 4114,
524
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
525
+ decimals: 18,
526
+ network: "mainnet",
527
+ swapContracts: []
528
+ }
338
529
  ]
339
530
  },
340
531
  {
@@ -343,8 +534,20 @@ var TOKENS = [
343
534
  equivalenceGroup: "CBTC",
344
535
  logo: logo_cbtc,
345
536
  deployments: [
346
- { chainId: 4114, address: "0x3100000000000000000000000000000000000006", decimals: 18, network: "mainnet", swapContracts: [] },
347
- { chainId: 5115, address: "0x8d0c9d1c17ae5e40fff9be350f57840e9e66cd93", decimals: 18, network: "testnet", swapContracts: [] }
537
+ {
538
+ chainId: 4114,
539
+ address: "0x3100000000000000000000000000000000000006",
540
+ decimals: 18,
541
+ network: "mainnet",
542
+ swapContracts: []
543
+ },
544
+ {
545
+ chainId: 5115,
546
+ address: "0x8d0c9d1c17ae5e40fff9be350f57840e9e66cd93",
547
+ decimals: 18,
548
+ network: "testnet",
549
+ swapContracts: []
550
+ }
348
551
  ]
349
552
  },
350
553
  {
@@ -353,7 +556,13 @@ var TOKENS = [
353
556
  equivalenceGroup: "CBTC",
354
557
  logo: logo_cbtc,
355
558
  deployments: [
356
- { chainId: 5115, address: "0x2876a1fb400c238b0a9e4edd2e7e03d3cf9b53c2", decimals: 18, network: "testnet", swapContracts: [] }
559
+ {
560
+ chainId: 5115,
561
+ address: "0x2876a1fb400c238b0a9e4edd2e7e03d3cf9b53c2",
562
+ decimals: 18,
563
+ network: "testnet",
564
+ swapContracts: []
565
+ }
357
566
  ]
358
567
  },
359
568
  {
@@ -362,7 +571,13 @@ var TOKENS = [
362
571
  equivalenceGroup: "ARB",
363
572
  logo: logo_arb,
364
573
  deployments: [
365
- { chainId: 42161, address: "0x912ce59144191c1204e64559fe8253a0e49e6548", decimals: 18, network: "mainnet", swapContracts: [] }
574
+ {
575
+ chainId: 42161,
576
+ address: "0x912ce59144191c1204e64559fe8253a0e49e6548",
577
+ decimals: 18,
578
+ network: "mainnet",
579
+ swapContracts: []
580
+ }
366
581
  ]
367
582
  }
368
583
  ];
@@ -444,6 +659,24 @@ function isBtcDenominated(address) {
444
659
  const group = getEquivalenceGroup(address);
445
660
  return group !== void 0 && BTC_GROUPS.has(group);
446
661
  }
662
+ function resolveTokenRef(ref) {
663
+ const [symbol, chainId] = ref;
664
+ const tokens = getTokensForChain(chainId);
665
+ const match = tokens.find(
666
+ (t) => t.symbol.toUpperCase() === symbol.toUpperCase()
667
+ );
668
+ if (!match) {
669
+ throw new Error(
670
+ `Token "${symbol}" not found on chain ${chainId} in the token registry.`
671
+ );
672
+ }
673
+ return {
674
+ address: match.address,
675
+ symbol: match.symbol,
676
+ decimals: match.decimals,
677
+ chainId
678
+ };
679
+ }
447
680
 
448
681
  // src/chains/list.ts
449
682
  var CHAINS = {
@@ -990,6 +1223,129 @@ var WCBTC_ABI = [
990
1223
  { stateMutability: "payable", type: "receive" },
991
1224
  { stateMutability: "payable", type: "fallback" }
992
1225
  ];
1226
+
1227
+ // src/abis/uniV3.ts
1228
+ var uniV3QuoterV2Abi = [
1229
+ {
1230
+ inputs: [
1231
+ {
1232
+ components: [
1233
+ { internalType: "address", name: "tokenIn", type: "address" },
1234
+ { internalType: "address", name: "tokenOut", type: "address" },
1235
+ { internalType: "uint256", name: "amountIn", type: "uint256" },
1236
+ { internalType: "uint24", name: "fee", type: "uint24" },
1237
+ {
1238
+ internalType: "uint160",
1239
+ name: "sqrtPriceLimitX96",
1240
+ type: "uint160"
1241
+ }
1242
+ ],
1243
+ internalType: "struct IQuoterV2.QuoteExactInputSingleParams",
1244
+ name: "params",
1245
+ type: "tuple"
1246
+ }
1247
+ ],
1248
+ name: "quoteExactInputSingle",
1249
+ outputs: [
1250
+ { internalType: "uint256", name: "amountOut", type: "uint256" },
1251
+ {
1252
+ internalType: "uint160",
1253
+ name: "sqrtPriceX96After",
1254
+ type: "uint160"
1255
+ },
1256
+ {
1257
+ internalType: "uint32",
1258
+ name: "initializedTicksCrossed",
1259
+ type: "uint32"
1260
+ },
1261
+ { internalType: "uint256", name: "gasEstimate", type: "uint256" }
1262
+ ],
1263
+ stateMutability: "nonpayable",
1264
+ type: "function"
1265
+ }
1266
+ ];
1267
+ var uniV3SwapRouterAbi = [
1268
+ {
1269
+ inputs: [
1270
+ {
1271
+ components: [
1272
+ { internalType: "address", name: "tokenIn", type: "address" },
1273
+ { internalType: "address", name: "tokenOut", type: "address" },
1274
+ { internalType: "uint24", name: "fee", type: "uint24" },
1275
+ { internalType: "address", name: "recipient", type: "address" },
1276
+ { internalType: "uint256", name: "amountIn", type: "uint256" },
1277
+ {
1278
+ internalType: "uint256",
1279
+ name: "amountOutMinimum",
1280
+ type: "uint256"
1281
+ },
1282
+ {
1283
+ internalType: "uint160",
1284
+ name: "sqrtPriceLimitX96",
1285
+ type: "uint160"
1286
+ }
1287
+ ],
1288
+ internalType: "struct IV3SwapRouter.ExactInputSingleParams",
1289
+ name: "params",
1290
+ type: "tuple"
1291
+ }
1292
+ ],
1293
+ name: "exactInputSingle",
1294
+ outputs: [
1295
+ { internalType: "uint256", name: "amountOut", type: "uint256" }
1296
+ ],
1297
+ stateMutability: "payable",
1298
+ type: "function"
1299
+ }
1300
+ ];
1301
+
1302
+ // src/swap.ts
1303
+ var import_viem2 = require("viem");
1304
+ function applySlippage(amount, slippage = 0.03) {
1305
+ const slippageBps = BigInt(Math.floor((1 - slippage) * 1e4));
1306
+ return amount * slippageBps / 10000n;
1307
+ }
1308
+ function buildUniV3SwapCalls(params) {
1309
+ const {
1310
+ tokenIn,
1311
+ tokenOut,
1312
+ amountIn,
1313
+ amountOutMinimum,
1314
+ fee,
1315
+ recipient,
1316
+ config
1317
+ } = params;
1318
+ return [
1319
+ {
1320
+ to: tokenIn,
1321
+ value: 0n,
1322
+ data: (0, import_viem2.encodeFunctionData)({
1323
+ abi: import_viem2.erc20Abi,
1324
+ functionName: "approve",
1325
+ args: [config.swapRouter, amountIn]
1326
+ })
1327
+ },
1328
+ {
1329
+ to: config.swapRouter,
1330
+ value: 0n,
1331
+ data: (0, import_viem2.encodeFunctionData)({
1332
+ abi: uniV3SwapRouterAbi,
1333
+ functionName: "exactInputSingle",
1334
+ args: [
1335
+ {
1336
+ tokenIn,
1337
+ tokenOut,
1338
+ fee,
1339
+ recipient,
1340
+ amountIn,
1341
+ amountOutMinimum,
1342
+ sqrtPriceLimitX96: 0n
1343
+ }
1344
+ ]
1345
+ })
1346
+ }
1347
+ ];
1348
+ }
993
1349
  // Annotate the CommonJS export names for ESM import in node:
994
1350
  0 && (module.exports = {
995
1351
  CHAINS,
@@ -1004,7 +1360,9 @@ var WCBTC_ABI = [
1004
1360
  TOKENS,
1005
1361
  WCBTC_ABI,
1006
1362
  ZERO_ADDRESS,
1363
+ applySlippage,
1007
1364
  areEquivalent,
1365
+ buildUniV3SwapCalls,
1008
1366
  convertAmountBetweenDecimals,
1009
1367
  fetchWithRetry,
1010
1368
  formatTokenAmount,
@@ -1030,7 +1388,10 @@ var WCBTC_ABI = [
1030
1388
  isUsdDenominated,
1031
1389
  normalizeNativeTokenAddress,
1032
1390
  prepareRFQT,
1391
+ resolveTokenRef,
1033
1392
  submitTransaction,
1034
1393
  truncateAddress,
1394
+ uniV3QuoterV2Abi,
1395
+ uniV3SwapRouterAbi,
1035
1396
  withRetry
1036
1397
  });
package/dist/index.d.ts CHANGED
@@ -10,4 +10,5 @@ export * from "./tokens/index.js";
10
10
  export * from "./chains/index.js";
11
11
  export * from "./utils.js";
12
12
  export * from "./abis/index.js";
13
+ export * from "./swap.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}