@uniswap/universal-router-sdk 4.23.0 → 4.25.0

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.
@@ -94,6 +94,8 @@ var _COMMAND_DEFINITION;
94
94
  CommandType[CommandType["V4_INITIALIZE_POOL"] = 19] = "V4_INITIALIZE_POOL";
95
95
  CommandType[CommandType["V4_POSITION_MANAGER_CALL"] = 20] = "V4_POSITION_MANAGER_CALL";
96
96
  CommandType[CommandType["EXECUTE_SUB_PLAN"] = 33] = "EXECUTE_SUB_PLAN";
97
+ // 3rd party integrations (0x40-0x5f range)
98
+ CommandType[CommandType["ACROSS_V4_DEPOSIT_V3"] = 64] = "ACROSS_V4_DEPOSIT_V3";
97
99
  })(exports.CommandType || (exports.CommandType = {}));
98
100
  (function (Subparser) {
99
101
  Subparser[Subparser["V3PathExactIn"] = 0] = "V3PathExactIn";
@@ -313,6 +315,48 @@ var COMMAND_DEFINITION = (_COMMAND_DEFINITION = {}, _COMMAND_DEFINITION[exports.
313
315
  parser: exports.Parser.V3Actions
314
316
  }, _COMMAND_DEFINITION[exports.CommandType.V4_POSITION_MANAGER_CALL] = {
315
317
  parser: exports.Parser.V4Actions
318
+ }, _COMMAND_DEFINITION[exports.CommandType.ACROSS_V4_DEPOSIT_V3] = {
319
+ parser: exports.Parser.Abi,
320
+ params: [{
321
+ name: 'depositor',
322
+ type: 'address'
323
+ }, {
324
+ name: 'recipient',
325
+ type: 'address'
326
+ }, {
327
+ name: 'inputToken',
328
+ type: 'address'
329
+ }, {
330
+ name: 'outputToken',
331
+ type: 'address'
332
+ }, {
333
+ name: 'inputAmount',
334
+ type: 'uint256'
335
+ }, {
336
+ name: 'outputAmount',
337
+ type: 'uint256'
338
+ }, {
339
+ name: 'destinationChainId',
340
+ type: 'uint256'
341
+ }, {
342
+ name: 'exclusiveRelayer',
343
+ type: 'address'
344
+ }, {
345
+ name: 'quoteTimestamp',
346
+ type: 'uint32'
347
+ }, {
348
+ name: 'fillDeadline',
349
+ type: 'uint32'
350
+ }, {
351
+ name: 'exclusivityDeadline',
352
+ type: 'uint32'
353
+ }, {
354
+ name: 'message',
355
+ type: 'bytes'
356
+ }, {
357
+ name: 'useNative',
358
+ type: 'bool'
359
+ }]
316
360
  }, _COMMAND_DEFINITION);
317
361
  var RoutePlanner = /*#__PURE__*/function () {
318
362
  function RoutePlanner() {
@@ -338,6 +382,15 @@ var RoutePlanner = /*#__PURE__*/function () {
338
382
  }
339
383
  this.commands = this.commands.concat(command.type.toString(16).padStart(2, '0'));
340
384
  return this;
385
+ }
386
+ /**
387
+ * Add Across bridge deposit command for cross-chain bridging
388
+ * @param params AcrossV4DepositV3Params containing bridge parameters
389
+ * @returns RoutePlanner instance for chaining
390
+ */;
391
+ _proto.addAcrossBridge = function addAcrossBridge(params) {
392
+ this.addCommand(exports.CommandType.ACROSS_V4_DEPOSIT_V3, [params.depositor, params.recipient, params.inputToken, params.outputToken, params.inputAmount, params.outputAmount, params.destinationChainId, params.exclusiveRelayer, params.quoteTimestamp, params.fillDeadline, params.exclusivityDeadline, params.message, params.useNative]);
393
+ return this;
341
394
  };
342
395
  return RoutePlanner;
343
396
  }();
@@ -389,10 +442,11 @@ function getPathCurrency(currency, pool) {
389
442
  RouterActionType["UnwrapWETH"] = "UnwrapWETH";
390
443
  })(exports.RouterActionType || (exports.RouterActionType = {}));
391
444
 
392
- var _routerConfigs, _routerConfigs2, _routerConfigs3, _routerConfigs4, _routerConfigs5, _routerConfigs6, _routerConfigs7, _routerConfigs8, _routerConfigs9, _routerConfigs0, _routerConfigs1, _routerConfigs10, _routerConfigs11, _routerConfigs12, _routerConfigs13, _routerConfigs14, _routerConfigs15, _routerConfigs16, _routerConfigs17, _routerConfigs18, _routerConfigs19, _routerConfigs20, _routerConfigs21, _routerConfigs22, _routerConfigs23, _CHAIN_CONFIGS;
445
+ var _routerConfigs, _routerConfigs2, _routerConfigs3, _routerConfigs4, _routerConfigs5, _routerConfigs6, _routerConfigs7, _routerConfigs8, _routerConfigs9, _routerConfigs0, _routerConfigs1, _routerConfigs10, _routerConfigs11, _routerConfigs12, _routerConfigs13, _routerConfigs14, _routerConfigs15, _routerConfigs16, _routerConfigs17, _routerConfigs18, _routerConfigs19, _routerConfigs20, _routerConfigs21, _routerConfigs22, _routerConfigs23, _routerConfigs24, _CHAIN_CONFIGS;
393
446
  (function (UniversalRouterVersion) {
394
447
  UniversalRouterVersion["V1_2"] = "1.2";
395
448
  UniversalRouterVersion["V2_0"] = "2.0";
449
+ UniversalRouterVersion["V2_1"] = "2.1";
396
450
  })(exports.UniversalRouterVersion || (exports.UniversalRouterVersion = {}));
397
451
  var WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
398
452
  // Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
@@ -403,7 +457,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
403
457
  creationBlock: 17143817
404
458
  }, _routerConfigs[exports.UniversalRouterVersion.V2_0] = {
405
459
  address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
406
- creationBlock: 1737658355
460
+ creationBlock: 21689092
461
+ }, _routerConfigs[exports.UniversalRouterVersion.V2_1] = {
462
+ address: '0xd92a36b0000531ef3063ded4de20a0783308446c',
463
+ creationBlock: 23836348
407
464
  }, _routerConfigs)
408
465
  }, _CHAIN_CONFIGS[5] = {
409
466
  weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
@@ -413,6 +470,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
413
470
  }, _routerConfigs2[exports.UniversalRouterVersion.V2_0] = {
414
471
  address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
415
472
  creationBlock: 8940568
473
+ }, _routerConfigs2[exports.UniversalRouterVersion.V2_1] = {
474
+ address: '0x0000000000000000000000000000000000000000',
475
+ creationBlock: 1
416
476
  }, _routerConfigs2)
417
477
  }, _CHAIN_CONFIGS[11155111] = {
418
478
  weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
@@ -422,6 +482,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
422
482
  }, _routerConfigs3[exports.UniversalRouterVersion.V2_0] = {
423
483
  address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
424
484
  creationBlock: 7259601
485
+ }, _routerConfigs3[exports.UniversalRouterVersion.V2_1] = {
486
+ address: '0x470FFC67b1feEEC31D16C46AC7545C98716a194c',
487
+ creationBlock: 9664766
425
488
  }, _routerConfigs3)
426
489
  }, _CHAIN_CONFIGS[137] = {
427
490
  weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
@@ -430,7 +493,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
430
493
  creationBlock: 52210153
431
494
  }, _routerConfigs4[exports.UniversalRouterVersion.V2_0] = {
432
495
  address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
433
- creationBlock: 1737492197
496
+ creationBlock: 66980401
497
+ }, _routerConfigs4[exports.UniversalRouterVersion.V2_1] = {
498
+ address: '0xE27610fD9dD05FC061366bc9dA414CA6F948f204',
499
+ creationBlock: 79245524
434
500
  }, _routerConfigs4)
435
501
  }, _CHAIN_CONFIGS[80001] = {
436
502
  weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
@@ -440,6 +506,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
440
506
  }, _routerConfigs5[exports.UniversalRouterVersion.V2_0] = {
441
507
  address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
442
508
  creationBlock: 35176052
509
+ }, _routerConfigs5[exports.UniversalRouterVersion.V2_1] = {
510
+ address: '0x0000000000000000000000000000000000000000',
511
+ creationBlock: 1
443
512
  }, _routerConfigs5)
444
513
  }, _CHAIN_CONFIGS[10] = {
445
514
  weth: '0x4200000000000000000000000000000000000006',
@@ -448,7 +517,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
448
517
  creationBlock: 114702266
449
518
  }, _routerConfigs6[exports.UniversalRouterVersion.V2_0] = {
450
519
  address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
451
- creationBlock: 1737494278
520
+ creationBlock: 130947687
521
+ }, _routerConfigs6[exports.UniversalRouterVersion.V2_1] = {
522
+ address: '0xde20EEE5398D3790a4D356e8925bD21Ea65D99Af',
523
+ creationBlock: 143998769
452
524
  }, _routerConfigs6)
453
525
  }, _CHAIN_CONFIGS[420] = {
454
526
  weth: '0x4200000000000000000000000000000000000006',
@@ -458,6 +530,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
458
530
  }, _routerConfigs7[exports.UniversalRouterVersion.V2_0] = {
459
531
  address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
460
532
  creationBlock: 8887728
533
+ }, _routerConfigs7[exports.UniversalRouterVersion.V2_1] = {
534
+ address: '0x0000000000000000000000000000000000000000',
535
+ creationBlock: 1
461
536
  }, _routerConfigs7)
462
537
  }, _CHAIN_CONFIGS[42161] = {
463
538
  weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
@@ -466,7 +541,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
466
541
  creationBlock: 169472836
467
542
  }, _routerConfigs8[exports.UniversalRouterVersion.V2_0] = {
468
543
  address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
469
- creationBlock: 1737487458
544
+ creationBlock: 297842906
545
+ }, _routerConfigs8[exports.UniversalRouterVersion.V2_1] = {
546
+ address: '0x96b2FD2F80e9428Daa65d859653117D453981AB4',
547
+ creationBlock: 402060097
470
548
  }, _routerConfigs8)
471
549
  }, _CHAIN_CONFIGS[421613] = {
472
550
  weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
@@ -476,6 +554,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
476
554
  }, _routerConfigs9[exports.UniversalRouterVersion.V2_0] = {
477
555
  address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
478
556
  creationBlock: 18815277
557
+ }, _routerConfigs9[exports.UniversalRouterVersion.V2_1] = {
558
+ address: '0x0000000000000000000000000000000000000000',
559
+ creationBlock: 1
479
560
  }, _routerConfigs9)
480
561
  }, _CHAIN_CONFIGS[42220] = {
481
562
  weth: WETH_NOT_SUPPORTED_ON_CHAIN,
@@ -485,6 +566,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
485
566
  }, _routerConfigs0[exports.UniversalRouterVersion.V2_0] = {
486
567
  address: '0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A',
487
568
  creationBlock: 47387857
569
+ }, _routerConfigs0[exports.UniversalRouterVersion.V2_1] = {
570
+ address: '0xBB8Ed9bF0BFF210652AE5f473a849F82e990DDf6',
571
+ creationBlock: 51696199
488
572
  }, _routerConfigs0)
489
573
  }, _CHAIN_CONFIGS[44787] = {
490
574
  weth: WETH_NOT_SUPPORTED_ON_CHAIN,
@@ -494,6 +578,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
494
578
  }, _routerConfigs1[exports.UniversalRouterVersion.V2_0] = {
495
579
  address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
496
580
  creationBlock: 17566658
581
+ }, _routerConfigs1[exports.UniversalRouterVersion.V2_1] = {
582
+ address: '0x0000000000000000000000000000000000000000',
583
+ creationBlock: 1
497
584
  }, _routerConfigs1)
498
585
  }, _CHAIN_CONFIGS[56] = {
499
586
  weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
@@ -502,7 +589,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
502
589
  creationBlock: 35160263
503
590
  }, _routerConfigs10[exports.UniversalRouterVersion.V2_0] = {
504
591
  address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
505
- creationBlock: 1737493275
592
+ creationBlock: 45970616
593
+ }, _routerConfigs10[exports.UniversalRouterVersion.V2_1] = {
594
+ address: '0x91BF3bfAEf8D771A74E1A8fE460b3EE646b2e588',
595
+ creationBlock: 68794488
506
596
  }, _routerConfigs10)
507
597
  }, _CHAIN_CONFIGS[43114] = {
508
598
  weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
@@ -511,7 +601,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
511
601
  creationBlock: 40237257
512
602
  }, _routerConfigs11[exports.UniversalRouterVersion.V2_0] = {
513
603
  address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
514
- creationBlock: 1737558236
604
+ creationBlock: 56195395
605
+ }, _routerConfigs11[exports.UniversalRouterVersion.V2_1] = {
606
+ address: '0x0Cf1f86B331A03179646341D10A2A87515087221',
607
+ creationBlock: 72254439
515
608
  }, _routerConfigs11)
516
609
  }, _CHAIN_CONFIGS[84531] = {
517
610
  weth: '0x4200000000000000000000000000000000000006',
@@ -521,6 +614,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
521
614
  }, _routerConfigs12[exports.UniversalRouterVersion.V2_0] = {
522
615
  address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
523
616
  creationBlock: 6915289
617
+ }, _routerConfigs12[exports.UniversalRouterVersion.V2_1] = {
618
+ address: '0x0000000000000000000000000000000000000000',
619
+ creationBlock: 1
524
620
  }, _routerConfigs12)
525
621
  }, _CHAIN_CONFIGS[8453] = {
526
622
  weth: '0x4200000000000000000000000000000000000006',
@@ -529,7 +625,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
529
625
  creationBlock: 9107268
530
626
  }, _routerConfigs13[exports.UniversalRouterVersion.V2_0] = {
531
627
  address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
532
- creationBlock: 1737491485
628
+ creationBlock: 25350999
629
+ }, _routerConfigs13[exports.UniversalRouterVersion.V2_1] = {
630
+ address: '0xf3a4f4094bd2c6c06ca2f61789d8727b8d1e7259',
631
+ creationBlock: 38404211
533
632
  }, _routerConfigs13)
534
633
  }, _CHAIN_CONFIGS[81457] = {
535
634
  weth: '0x4300000000000000000000000000000000000004',
@@ -538,7 +637,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
538
637
  creationBlock: 1116444
539
638
  }, _routerConfigs14[exports.UniversalRouterVersion.V2_0] = {
540
639
  address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
541
- creationBlock: 1737564586
640
+ creationBlock: 14377319
641
+ }, _routerConfigs14[exports.UniversalRouterVersion.V2_1] = {
642
+ address: '0x77c0097c1acf6fd84878d3f7c0603e3f04e8bec7',
643
+ creationBlock: 27394047
542
644
  }, _routerConfigs14)
543
645
  }, _CHAIN_CONFIGS[7777777] = {
544
646
  weth: '0x4200000000000000000000000000000000000006',
@@ -547,7 +649,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
547
649
  creationBlock: 11832155
548
650
  }, _routerConfigs15[exports.UniversalRouterVersion.V2_0] = {
549
651
  address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
550
- creationBlock: 1737562927
652
+ creationBlock: 25434544
653
+ }, _routerConfigs15[exports.UniversalRouterVersion.V2_1] = {
654
+ address: '0x880853091b60f80301a0c1d2f9893c4993041295',
655
+ creationBlock: 38452170
551
656
  }, _routerConfigs15)
552
657
  }, _CHAIN_CONFIGS[324] = {
553
658
  weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
@@ -557,6 +662,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
557
662
  }, _routerConfigs16[exports.UniversalRouterVersion.V2_0] = {
558
663
  address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
559
664
  creationBlock: 12640979
665
+ }, _routerConfigs16[exports.UniversalRouterVersion.V2_1] = {
666
+ address: '0x0000000000000000000000000000000000000000',
667
+ creationBlock: 1
560
668
  }, _routerConfigs16)
561
669
  }, _CHAIN_CONFIGS[480] = {
562
670
  weth: '0x4200000000000000000000000000000000000006',
@@ -565,7 +673,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
565
673
  creationBlock: 4063979
566
674
  }, _routerConfigs17[exports.UniversalRouterVersion.V2_0] = {
567
675
  address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
568
- creationBlock: 1737559557
676
+ creationBlock: 9111895
677
+ }, _routerConfigs17[exports.UniversalRouterVersion.V2_1] = {
678
+ address: '0x03c4f6b55733cdf3caa07c01e5b83ddee3381f60',
679
+ creationBlock: 22131418
569
680
  }, _routerConfigs17)
570
681
  }, _CHAIN_CONFIGS[1301] = {
571
682
  weth: '0x4200000000000000000000000000000000000006',
@@ -575,6 +686,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
575
686
  }, _routerConfigs18[exports.UniversalRouterVersion.V2_0] = {
576
687
  address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
577
688
  creationBlock: 7100543
689
+ }, _routerConfigs18[exports.UniversalRouterVersion.V2_1] = {
690
+ address: '0x7F9B8D606E0F35E5073ABf93695814530b28a37b',
691
+ creationBlock: 36746405
578
692
  }, _routerConfigs18)
579
693
  }, _CHAIN_CONFIGS[130] = {
580
694
  weth: '0x4200000000000000000000000000000000000006',
@@ -583,7 +697,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
583
697
  creationBlock: 23678
584
698
  }, _routerConfigs19[exports.UniversalRouterVersion.V2_0] = {
585
699
  address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
586
- creationBlock: 1737568156
700
+ creationBlock: 6819690
701
+ }, _routerConfigs19[exports.UniversalRouterVersion.V2_1] = {
702
+ address: '0xe6039ae5b44f90d56c6b029354fb22999861a9a0',
703
+ creationBlock: 32850661
587
704
  }, _routerConfigs19)
588
705
  }, _CHAIN_CONFIGS[10143] = {
589
706
  weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
@@ -593,6 +710,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
593
710
  }, _routerConfigs20[exports.UniversalRouterVersion.V2_0] = {
594
711
  address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
595
712
  creationBlock: 23678
713
+ }, _routerConfigs20[exports.UniversalRouterVersion.V2_1] = {
714
+ address: '0x0000000000000000000000000000000000000000',
715
+ creationBlock: 1
596
716
  }, _routerConfigs20)
597
717
  }, _CHAIN_CONFIGS[84532] = {
598
718
  weth: '0x4200000000000000000000000000000000000006',
@@ -602,6 +722,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
602
722
  }, _routerConfigs21[exports.UniversalRouterVersion.V2_0] = {
603
723
  address: '0x492e6456d9528771018deb9e87ef7750ef184104',
604
724
  creationBlock: 20216585
725
+ }, _routerConfigs21[exports.UniversalRouterVersion.V2_1] = {
726
+ address: '0x0000000000000000000000000000000000000000',
727
+ creationBlock: 1
605
728
  }, _routerConfigs21)
606
729
  }, _CHAIN_CONFIGS[1868] = {
607
730
  weth: '0x4200000000000000000000000000000000000006',
@@ -611,6 +734,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
611
734
  }, _routerConfigs22[exports.UniversalRouterVersion.V2_0] = {
612
735
  address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
613
736
  creationBlock: 3254782
737
+ }, _routerConfigs22[exports.UniversalRouterVersion.V2_1] = {
738
+ address: '0xdb1d5986551c820bd0f3b1caca3e77ce03acb5ef',
739
+ creationBlock: 15232223
614
740
  }, _routerConfigs22)
615
741
  }, _CHAIN_CONFIGS[143] = {
616
742
  weth: '0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A',
@@ -620,7 +746,22 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
620
746
  }, _routerConfigs23[exports.UniversalRouterVersion.V2_0] = {
621
747
  address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
622
748
  creationBlock: 29255937
749
+ }, _routerConfigs23[exports.UniversalRouterVersion.V2_1] = {
750
+ address: '0xBC2A036E5027b9AE57BbA847eF88E1b14823F7B1',
751
+ creationBlock: 36720825
623
752
  }, _routerConfigs23)
753
+ }, _CHAIN_CONFIGS[196] = {
754
+ weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
755
+ routerConfigs: (_routerConfigs24 = {}, _routerConfigs24[exports.UniversalRouterVersion.V1_2] = {
756
+ address: '0x0000000000000000000000000000000000000000',
757
+ creationBlock: 1
758
+ }, _routerConfigs24[exports.UniversalRouterVersion.V2_0] = {
759
+ address: '0x0000000000000000000000000000000000000000',
760
+ creationBlock: 1
761
+ }, _routerConfigs24[exports.UniversalRouterVersion.V2_1] = {
762
+ address: '0xc498381f53525a30a2c22d4cbe8758e79bcff2a5',
763
+ creationBlock: 46106421
764
+ }, _routerConfigs24)
624
765
  }, _CHAIN_CONFIGS);
625
766
  var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
626
767
  if (!(chainId in CHAIN_CONFIGS)) throw new Error("Universal Router not deployed on chain " + chainId);
@@ -890,7 +1031,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
890
1031
  });
891
1032
  var slippageToleranceOnSwap = routerMustCustody && tradeType == sdkCore.TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
892
1033
  var v4Planner = new v4Sdk.V4Planner();
893
- v4Planner.addTrade(trade, slippageToleranceOnSwap);
1034
+ v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage);
894
1035
  v4Planner.addSettle(trade.route.pathInput, payerIsUser);
895
1036
  v4Planner.addTake(trade.route.pathOutput, routerMustCustody ? ROUTER_AS_RECIPIENT : (_options$recipient = options.recipient) != null ? _options$recipient : SENDER_AS_RECIPIENT);
896
1037
  planner.addCommand(exports.CommandType.V4_SWAP, [v4Planner.finalize()]);
@@ -952,7 +1093,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
952
1093
  v4Planner.addAction(v4Sdk.Actions.SWAP_EXACT_IN, [{
953
1094
  currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
954
1095
  path: v4Sdk.encodeRouteToPath(v4SubRoute),
955
- maxHopSlippage: [],
1096
+ maxHopSlippage: options.maxHopSlippage || [],
956
1097
  amountIn: 0,
957
1098
  amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
958
1099
  }]);
@@ -1019,6 +1160,56 @@ function encodeInputTokenOptions(planner, options) {
1019
1160
  }
1020
1161
  }
1021
1162
 
1163
+ var EIP712_DOMAIN_NAME = 'UniversalRouter';
1164
+ var EIP712_DOMAIN_VERSION = '2';
1165
+ var EXECUTE_SIGNED_TYPES = {
1166
+ ExecuteSigned: [{
1167
+ name: 'commands',
1168
+ type: 'bytes'
1169
+ }, {
1170
+ name: 'inputs',
1171
+ type: 'bytes[]'
1172
+ }, {
1173
+ name: 'intent',
1174
+ type: 'bytes32'
1175
+ }, {
1176
+ name: 'data',
1177
+ type: 'bytes32'
1178
+ }, {
1179
+ name: 'sender',
1180
+ type: 'address'
1181
+ }, {
1182
+ name: 'nonce',
1183
+ type: 'bytes32'
1184
+ }, {
1185
+ name: 'deadline',
1186
+ type: 'uint256'
1187
+ }]
1188
+ };
1189
+ /**
1190
+ * Generate EIP712 domain for Universal Router
1191
+ */
1192
+ function getUniversalRouterDomain(chainId, verifyingContract) {
1193
+ return {
1194
+ name: EIP712_DOMAIN_NAME,
1195
+ version: EIP712_DOMAIN_VERSION,
1196
+ chainId: chainId,
1197
+ verifyingContract: verifyingContract
1198
+ };
1199
+ }
1200
+ /**
1201
+ * Generate a random nonce for signed execution
1202
+ * Uses ethers.utils.randomBytes for secure randomness
1203
+ */
1204
+ function generateNonce() {
1205
+ var randomBytes = ethers.ethers.utils.randomBytes(32);
1206
+ return ethers.ethers.utils.hexlify(randomBytes);
1207
+ }
1208
+ /**
1209
+ * Sentinel value to skip nonce checking (allows signature replay)
1210
+ */
1211
+ var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
1212
+
1022
1213
  function isMint(options) {
1023
1214
  return Object.keys(options).some(function (k) {
1024
1215
  return k === 'recipient';
@@ -1026,7 +1217,8 @@ function isMint(options) {
1026
1217
  }
1027
1218
  var SwapRouter = /*#__PURE__*/function () {
1028
1219
  function SwapRouter() {}
1029
- SwapRouter.swapCallParameters = function swapCallParameters(trades, options) {
1220
+ SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
1221
+ ) {
1030
1222
  // TODO: use permit if signature included in swapOptions
1031
1223
  var planner = new RoutePlanner();
1032
1224
  var trade = new UniswapTrade(trades, options);
@@ -1039,6 +1231,13 @@ var SwapRouter = /*#__PURE__*/function () {
1039
1231
  trade.encode(planner, {
1040
1232
  allowRevert: false
1041
1233
  });
1234
+ // Add bridge commands if provided
1235
+ if (bridgeOptions) {
1236
+ for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
1237
+ var bridge = _step.value;
1238
+ planner.addAcrossBridge(bridge);
1239
+ }
1240
+ }
1042
1241
  return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
1043
1242
  deadline: options.deadlineOrPreviousBlockhash ? ethers.BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
1044
1243
  });
@@ -1090,8 +1289,8 @@ var SwapRouter = /*#__PURE__*/function () {
1090
1289
  // encode v3 withdraw
1091
1290
  var v3RemoveParams = v3Sdk.NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
1092
1291
  var v3Calls = v3Sdk.Multicall.decodeMulticall(v3RemoveParams.calldata);
1093
- for (var _iterator = _createForOfIteratorHelperLoose(v3Calls), _step; !(_step = _iterator()).done;) {
1094
- var v3Call = _step.value;
1292
+ for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
1293
+ var v3Call = _step2.value;
1095
1294
  // slice selector - 0x + 4 bytes = 10 characters
1096
1295
  var _selector = v3Call.slice(0, 10);
1097
1296
  !(_selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('collect') || _selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('decreaseLiquidity') || _selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('burn')) ? invariant(false, 'INVALID_V3_CALL: ' + _selector) : void 0;
@@ -1107,6 +1306,96 @@ var SwapRouter = /*#__PURE__*/function () {
1107
1306
  deadline: ethers.BigNumber.from(options.v4AddLiquidityOptions.deadline)
1108
1307
  });
1109
1308
  }
1309
+ /**
1310
+ * Generate EIP712 payload for signed execution (no signing performed)
1311
+ * Decodes existing execute() calldata and prepares it for signing
1312
+ *
1313
+ * @param calldata The calldata from swapCallParameters() or similar
1314
+ * @param signedOptions Options for signed execution (intent, data, sender, nonce)
1315
+ * @param deadline The deadline timestamp
1316
+ * @param chainId The chain ID
1317
+ * @param routerAddress The Universal Router contract address
1318
+ * @returns EIP712 payload ready to be signed externally
1319
+ */;
1320
+ SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
1321
+ // Decode the execute() calldata to extract commands and inputs
1322
+ // Try to decode with deadline first, then without
1323
+ var decoded;
1324
+ var commands;
1325
+ var inputs;
1326
+ try {
1327
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1328
+ commands = decoded.commands;
1329
+ inputs = decoded.inputs;
1330
+ } catch (e) {
1331
+ // Try without deadline
1332
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1333
+ commands = decoded.commands;
1334
+ inputs = decoded.inputs;
1335
+ }
1336
+ // Use provided nonce or generate random one
1337
+ var nonce = signedOptions.nonce || generateNonce();
1338
+ // sender is provided directly (address(0) = skip verification)
1339
+ var sender = signedOptions.sender;
1340
+ var domain = getUniversalRouterDomain(chainId, routerAddress);
1341
+ var intent = signedOptions.intent;
1342
+ var data = signedOptions.data;
1343
+ deadline = ethers.BigNumber.from(deadline).toString();
1344
+ var value = {
1345
+ commands: commands,
1346
+ inputs: inputs,
1347
+ intent: intent,
1348
+ data: data,
1349
+ sender: sender,
1350
+ nonce: nonce,
1351
+ deadline: deadline
1352
+ };
1353
+ return {
1354
+ domain: domain,
1355
+ types: EXECUTE_SIGNED_TYPES,
1356
+ value: value
1357
+ };
1358
+ }
1359
+ /**
1360
+ * Encode executeSigned() call with signature
1361
+ *
1362
+ * @param calldata The original calldata from swapCallParameters()
1363
+ * @param signature The signature obtained from external signing
1364
+ * @param signedOptions The same options used in getExecuteSignedPayload()
1365
+ * @param deadline The deadline timestamp
1366
+ * @param nativeCurrencyValue The native currency value (ETH) to send
1367
+ * @returns Method parameters for executeSigned()
1368
+ */;
1369
+ SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
1370
+ if (nativeCurrencyValue === void 0) {
1371
+ nativeCurrencyValue = ethers.BigNumber.from(0);
1372
+ }
1373
+ // Decode the execute() calldata to extract commands and inputs
1374
+ // Try to decode with deadline first, then without
1375
+ var decoded;
1376
+ var commands;
1377
+ var inputs;
1378
+ try {
1379
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1380
+ commands = decoded.commands;
1381
+ inputs = decoded.inputs;
1382
+ } catch (e) {
1383
+ // Try without deadline
1384
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1385
+ commands = decoded.commands;
1386
+ inputs = decoded.inputs;
1387
+ }
1388
+ // Use provided nonce (must match what was signed)
1389
+ var nonce = signedOptions.nonce || generateNonce();
1390
+ // Determine verifySender based on sender address
1391
+ var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
1392
+ // Encode executeSigned function call using the Universal Router v2.1 ABI
1393
+ var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
1394
+ return {
1395
+ calldata: signedCalldata,
1396
+ value: nativeCurrencyValue.toHexString()
1397
+ };
1398
+ }
1110
1399
  /**
1111
1400
  * Encodes a planned route into a method name and parameters for the Router contract.
1112
1401
  * @param planner the planned route
@@ -1447,8 +1736,11 @@ function v4RouterCallToParams(actions) {
1447
1736
  }
1448
1737
 
1449
1738
  exports.COMMAND_DEFINITION = COMMAND_DEFINITION;
1739
+ exports.CONTRACT_BALANCE = CONTRACT_BALANCE;
1450
1740
  exports.CommandParser = CommandParser;
1741
+ exports.EXECUTE_SIGNED_TYPES = EXECUTE_SIGNED_TYPES;
1451
1742
  exports.GenericCommandParser = GenericCommandParser;
1743
+ exports.NONCE_SKIP_CHECK = NONCE_SKIP_CHECK;
1452
1744
  exports.ROUTER_AS_RECIPIENT = ROUTER_AS_RECIPIENT;
1453
1745
  exports.RoutePlanner = RoutePlanner;
1454
1746
  exports.RouterTradeAdapter = RouterTradeAdapter;
@@ -1458,5 +1750,7 @@ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
1458
1750
  exports.UniswapTrade = UniswapTrade;
1459
1751
  exports.UnwrapWETH = UnwrapWETH;
1460
1752
  exports.WETH_ADDRESS = WETH_ADDRESS;
1753
+ exports.generateNonce = generateNonce;
1754
+ exports.getUniversalRouterDomain = getUniversalRouterDomain;
1461
1755
  exports.isNativeCurrency = isNativeCurrency;
1462
1756
  //# sourceMappingURL=universal-router-sdk.cjs.development.js.map