@uniswap/universal-router-sdk 4.22.0 → 4.24.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
  }();
@@ -393,6 +446,7 @@ var _routerConfigs, _routerConfigs2, _routerConfigs3, _routerConfigs4, _routerCo
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,6 +746,9 @@ 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)
624
753
  }, _CHAIN_CONFIGS);
625
754
  var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
@@ -890,7 +1019,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
890
1019
  });
891
1020
  var slippageToleranceOnSwap = routerMustCustody && tradeType == sdkCore.TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
892
1021
  var v4Planner = new v4Sdk.V4Planner();
893
- v4Planner.addTrade(trade, slippageToleranceOnSwap);
1022
+ v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage);
894
1023
  v4Planner.addSettle(trade.route.pathInput, payerIsUser);
895
1024
  v4Planner.addTake(trade.route.pathOutput, routerMustCustody ? ROUTER_AS_RECIPIENT : (_options$recipient = options.recipient) != null ? _options$recipient : SENDER_AS_RECIPIENT);
896
1025
  planner.addCommand(exports.CommandType.V4_SWAP, [v4Planner.finalize()]);
@@ -952,6 +1081,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
952
1081
  v4Planner.addAction(v4Sdk.Actions.SWAP_EXACT_IN, [{
953
1082
  currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
954
1083
  path: v4Sdk.encodeRouteToPath(v4SubRoute),
1084
+ maxHopSlippage: options.maxHopSlippage || [],
955
1085
  amountIn: 0,
956
1086
  amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
957
1087
  }]);
@@ -1018,6 +1148,56 @@ function encodeInputTokenOptions(planner, options) {
1018
1148
  }
1019
1149
  }
1020
1150
 
1151
+ var EIP712_DOMAIN_NAME = 'UniversalRouter';
1152
+ var EIP712_DOMAIN_VERSION = '2';
1153
+ var EXECUTE_SIGNED_TYPES = {
1154
+ ExecuteSigned: [{
1155
+ name: 'commands',
1156
+ type: 'bytes'
1157
+ }, {
1158
+ name: 'inputs',
1159
+ type: 'bytes[]'
1160
+ }, {
1161
+ name: 'intent',
1162
+ type: 'bytes32'
1163
+ }, {
1164
+ name: 'data',
1165
+ type: 'bytes32'
1166
+ }, {
1167
+ name: 'sender',
1168
+ type: 'address'
1169
+ }, {
1170
+ name: 'nonce',
1171
+ type: 'bytes32'
1172
+ }, {
1173
+ name: 'deadline',
1174
+ type: 'uint256'
1175
+ }]
1176
+ };
1177
+ /**
1178
+ * Generate EIP712 domain for Universal Router
1179
+ */
1180
+ function getUniversalRouterDomain(chainId, verifyingContract) {
1181
+ return {
1182
+ name: EIP712_DOMAIN_NAME,
1183
+ version: EIP712_DOMAIN_VERSION,
1184
+ chainId: chainId,
1185
+ verifyingContract: verifyingContract
1186
+ };
1187
+ }
1188
+ /**
1189
+ * Generate a random nonce for signed execution
1190
+ * Uses ethers.utils.randomBytes for secure randomness
1191
+ */
1192
+ function generateNonce() {
1193
+ var randomBytes = ethers.ethers.utils.randomBytes(32);
1194
+ return ethers.ethers.utils.hexlify(randomBytes);
1195
+ }
1196
+ /**
1197
+ * Sentinel value to skip nonce checking (allows signature replay)
1198
+ */
1199
+ var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
1200
+
1021
1201
  function isMint(options) {
1022
1202
  return Object.keys(options).some(function (k) {
1023
1203
  return k === 'recipient';
@@ -1025,7 +1205,8 @@ function isMint(options) {
1025
1205
  }
1026
1206
  var SwapRouter = /*#__PURE__*/function () {
1027
1207
  function SwapRouter() {}
1028
- SwapRouter.swapCallParameters = function swapCallParameters(trades, options) {
1208
+ SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
1209
+ ) {
1029
1210
  // TODO: use permit if signature included in swapOptions
1030
1211
  var planner = new RoutePlanner();
1031
1212
  var trade = new UniswapTrade(trades, options);
@@ -1038,6 +1219,13 @@ var SwapRouter = /*#__PURE__*/function () {
1038
1219
  trade.encode(planner, {
1039
1220
  allowRevert: false
1040
1221
  });
1222
+ // Add bridge commands if provided
1223
+ if (bridgeOptions) {
1224
+ for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
1225
+ var bridge = _step.value;
1226
+ planner.addAcrossBridge(bridge);
1227
+ }
1228
+ }
1041
1229
  return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
1042
1230
  deadline: options.deadlineOrPreviousBlockhash ? ethers.BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
1043
1231
  });
@@ -1089,8 +1277,8 @@ var SwapRouter = /*#__PURE__*/function () {
1089
1277
  // encode v3 withdraw
1090
1278
  var v3RemoveParams = v3Sdk.NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
1091
1279
  var v3Calls = v3Sdk.Multicall.decodeMulticall(v3RemoveParams.calldata);
1092
- for (var _iterator = _createForOfIteratorHelperLoose(v3Calls), _step; !(_step = _iterator()).done;) {
1093
- var v3Call = _step.value;
1280
+ for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
1281
+ var v3Call = _step2.value;
1094
1282
  // slice selector - 0x + 4 bytes = 10 characters
1095
1283
  var _selector = v3Call.slice(0, 10);
1096
1284
  !(_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;
@@ -1106,6 +1294,96 @@ var SwapRouter = /*#__PURE__*/function () {
1106
1294
  deadline: ethers.BigNumber.from(options.v4AddLiquidityOptions.deadline)
1107
1295
  });
1108
1296
  }
1297
+ /**
1298
+ * Generate EIP712 payload for signed execution (no signing performed)
1299
+ * Decodes existing execute() calldata and prepares it for signing
1300
+ *
1301
+ * @param calldata The calldata from swapCallParameters() or similar
1302
+ * @param signedOptions Options for signed execution (intent, data, sender, nonce)
1303
+ * @param deadline The deadline timestamp
1304
+ * @param chainId The chain ID
1305
+ * @param routerAddress The Universal Router contract address
1306
+ * @returns EIP712 payload ready to be signed externally
1307
+ */;
1308
+ SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
1309
+ // Decode the execute() calldata to extract commands and inputs
1310
+ // Try to decode with deadline first, then without
1311
+ var decoded;
1312
+ var commands;
1313
+ var inputs;
1314
+ try {
1315
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1316
+ commands = decoded.commands;
1317
+ inputs = decoded.inputs;
1318
+ } catch (e) {
1319
+ // Try without deadline
1320
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1321
+ commands = decoded.commands;
1322
+ inputs = decoded.inputs;
1323
+ }
1324
+ // Use provided nonce or generate random one
1325
+ var nonce = signedOptions.nonce || generateNonce();
1326
+ // sender is provided directly (address(0) = skip verification)
1327
+ var sender = signedOptions.sender;
1328
+ var domain = getUniversalRouterDomain(chainId, routerAddress);
1329
+ var intent = signedOptions.intent;
1330
+ var data = signedOptions.data;
1331
+ deadline = ethers.BigNumber.from(deadline).toString();
1332
+ var value = {
1333
+ commands: commands,
1334
+ inputs: inputs,
1335
+ intent: intent,
1336
+ data: data,
1337
+ sender: sender,
1338
+ nonce: nonce,
1339
+ deadline: deadline
1340
+ };
1341
+ return {
1342
+ domain: domain,
1343
+ types: EXECUTE_SIGNED_TYPES,
1344
+ value: value
1345
+ };
1346
+ }
1347
+ /**
1348
+ * Encode executeSigned() call with signature
1349
+ *
1350
+ * @param calldata The original calldata from swapCallParameters()
1351
+ * @param signature The signature obtained from external signing
1352
+ * @param signedOptions The same options used in getExecuteSignedPayload()
1353
+ * @param deadline The deadline timestamp
1354
+ * @param nativeCurrencyValue The native currency value (ETH) to send
1355
+ * @returns Method parameters for executeSigned()
1356
+ */;
1357
+ SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
1358
+ if (nativeCurrencyValue === void 0) {
1359
+ nativeCurrencyValue = ethers.BigNumber.from(0);
1360
+ }
1361
+ // Decode the execute() calldata to extract commands and inputs
1362
+ // Try to decode with deadline first, then without
1363
+ var decoded;
1364
+ var commands;
1365
+ var inputs;
1366
+ try {
1367
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1368
+ commands = decoded.commands;
1369
+ inputs = decoded.inputs;
1370
+ } catch (e) {
1371
+ // Try without deadline
1372
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1373
+ commands = decoded.commands;
1374
+ inputs = decoded.inputs;
1375
+ }
1376
+ // Use provided nonce (must match what was signed)
1377
+ var nonce = signedOptions.nonce || generateNonce();
1378
+ // Determine verifySender based on sender address
1379
+ var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
1380
+ // Encode executeSigned function call using the Universal Router v2.1 ABI
1381
+ var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
1382
+ return {
1383
+ calldata: signedCalldata,
1384
+ value: nativeCurrencyValue.toHexString()
1385
+ };
1386
+ }
1109
1387
  /**
1110
1388
  * Encodes a planned route into a method name and parameters for the Router contract.
1111
1389
  * @param planner the planned route
@@ -1446,8 +1724,11 @@ function v4RouterCallToParams(actions) {
1446
1724
  }
1447
1725
 
1448
1726
  exports.COMMAND_DEFINITION = COMMAND_DEFINITION;
1727
+ exports.CONTRACT_BALANCE = CONTRACT_BALANCE;
1449
1728
  exports.CommandParser = CommandParser;
1729
+ exports.EXECUTE_SIGNED_TYPES = EXECUTE_SIGNED_TYPES;
1450
1730
  exports.GenericCommandParser = GenericCommandParser;
1731
+ exports.NONCE_SKIP_CHECK = NONCE_SKIP_CHECK;
1451
1732
  exports.ROUTER_AS_RECIPIENT = ROUTER_AS_RECIPIENT;
1452
1733
  exports.RoutePlanner = RoutePlanner;
1453
1734
  exports.RouterTradeAdapter = RouterTradeAdapter;
@@ -1457,5 +1738,7 @@ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
1457
1738
  exports.UniswapTrade = UniswapTrade;
1458
1739
  exports.UnwrapWETH = UnwrapWETH;
1459
1740
  exports.WETH_ADDRESS = WETH_ADDRESS;
1741
+ exports.generateNonce = generateNonce;
1742
+ exports.getUniversalRouterDomain = getUniversalRouterDomain;
1460
1743
  exports.isNativeCurrency = isNativeCurrency;
1461
1744
  //# sourceMappingURL=universal-router-sdk.cjs.development.js.map