@uniswap/universal-router-sdk 4.29.5 → 4.31.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, _routerConfigs24, _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, _routerConfigs25, _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,16 +746,34 @@ 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
- }, _CHAIN_CONFIGS[196] = {
625
- weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
753
+ }, _CHAIN_CONFIGS[59144] = {
754
+ weth: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
626
755
  routerConfigs: (_routerConfigs24 = {}, _routerConfigs24[exports.UniversalRouterVersion.V1_2] = {
627
756
  address: '0x0000000000000000000000000000000000000000',
628
757
  creationBlock: 1
629
758
  }, _routerConfigs24[exports.UniversalRouterVersion.V2_0] = {
759
+ address: '0x661e93cca42afacb172121ef892830ca3b70f08d',
760
+ creationBlock: 1
761
+ }, _routerConfigs24[exports.UniversalRouterVersion.V2_1] = {
762
+ address: '0xba548ce7a95f87bc66a0c7c6eab1e428735f8b57',
763
+ creationBlock: 1
764
+ }, _routerConfigs24)
765
+ }, _CHAIN_CONFIGS[196] = {
766
+ weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
767
+ routerConfigs: (_routerConfigs25 = {}, _routerConfigs25[exports.UniversalRouterVersion.V1_2] = {
768
+ address: '0x0000000000000000000000000000000000000000',
769
+ creationBlock: 1
770
+ }, _routerConfigs25[exports.UniversalRouterVersion.V2_0] = {
630
771
  address: '0x5507749f2c558bb3e162c6e90c314c092e7372ff',
631
772
  creationBlock: 47680350
632
- }, _routerConfigs24)
773
+ }, _routerConfigs25[exports.UniversalRouterVersion.V2_1] = {
774
+ address: '0x0000000000000000000000000000000000000000',
775
+ creationBlock: 1
776
+ }, _routerConfigs25)
633
777
  }, _CHAIN_CONFIGS);
634
778
  var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
635
779
  if (!(chainId in CHAIN_CONFIGS)) throw new Error("Universal Router not deployed on chain " + chainId);
@@ -923,7 +1067,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
923
1067
  });
924
1068
  var slippageToleranceOnSwap = routerMustCustody && tradeType == sdkCore.TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
925
1069
  var v4Planner = new v4Sdk.V4Planner();
926
- v4Planner.addTrade(trade, slippageToleranceOnSwap);
1070
+ v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage, options.urVersion);
927
1071
  v4Planner.addSettle(trade.route.pathInput, payerIsUser);
928
1072
  // Handle split route output consistency:
929
1073
  // - If output is ETH and some routes output WETH: force all to output WETH, then unwrap
@@ -999,9 +1143,10 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
999
1143
  v4Planner.addAction(v4Sdk.Actions.SWAP_EXACT_IN, [{
1000
1144
  currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
1001
1145
  path: v4Sdk.encodeRouteToPath(v4SubRoute),
1146
+ maxHopSlippage: options.maxHopSlippage || [],
1002
1147
  amountIn: 0,
1003
1148
  amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
1004
- }]);
1149
+ }], options.urVersion);
1005
1150
  // Handle split route output consistency for V4 sections in mixed routes
1006
1151
  var outputTokenForTake = outputToken;
1007
1152
  if (isLastSectionInRoute(i)) {
@@ -1080,6 +1225,56 @@ function encodeInputTokenOptions(planner, options) {
1080
1225
  }
1081
1226
  }
1082
1227
 
1228
+ var EIP712_DOMAIN_NAME = 'UniversalRouter';
1229
+ var EIP712_DOMAIN_VERSION = '2';
1230
+ var EXECUTE_SIGNED_TYPES = {
1231
+ ExecuteSigned: [{
1232
+ name: 'commands',
1233
+ type: 'bytes'
1234
+ }, {
1235
+ name: 'inputs',
1236
+ type: 'bytes[]'
1237
+ }, {
1238
+ name: 'intent',
1239
+ type: 'bytes32'
1240
+ }, {
1241
+ name: 'data',
1242
+ type: 'bytes32'
1243
+ }, {
1244
+ name: 'sender',
1245
+ type: 'address'
1246
+ }, {
1247
+ name: 'nonce',
1248
+ type: 'bytes32'
1249
+ }, {
1250
+ name: 'deadline',
1251
+ type: 'uint256'
1252
+ }]
1253
+ };
1254
+ /**
1255
+ * Generate EIP712 domain for Universal Router
1256
+ */
1257
+ function getUniversalRouterDomain(chainId, verifyingContract) {
1258
+ return {
1259
+ name: EIP712_DOMAIN_NAME,
1260
+ version: EIP712_DOMAIN_VERSION,
1261
+ chainId: chainId,
1262
+ verifyingContract: verifyingContract
1263
+ };
1264
+ }
1265
+ /**
1266
+ * Generate a random nonce for signed execution
1267
+ * Uses ethers.utils.randomBytes for secure randomness
1268
+ */
1269
+ function generateNonce() {
1270
+ var randomBytes = ethers.ethers.utils.randomBytes(32);
1271
+ return ethers.ethers.utils.hexlify(randomBytes);
1272
+ }
1273
+ /**
1274
+ * Sentinel value to skip nonce checking (allows signature replay)
1275
+ */
1276
+ var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
1277
+
1083
1278
  function isMint(options) {
1084
1279
  return Object.keys(options).some(function (k) {
1085
1280
  return k === 'recipient';
@@ -1087,7 +1282,8 @@ function isMint(options) {
1087
1282
  }
1088
1283
  var SwapRouter = /*#__PURE__*/function () {
1089
1284
  function SwapRouter() {}
1090
- SwapRouter.swapCallParameters = function swapCallParameters(trades, options) {
1285
+ SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
1286
+ ) {
1091
1287
  // TODO: use permit if signature included in swapOptions
1092
1288
  var planner = new RoutePlanner();
1093
1289
  var trade = new UniswapTrade(trades, options);
@@ -1100,10 +1296,111 @@ var SwapRouter = /*#__PURE__*/function () {
1100
1296
  trade.encode(planner, {
1101
1297
  allowRevert: false
1102
1298
  });
1299
+ // Add bridge commands if provided
1300
+ if (bridgeOptions) {
1301
+ for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
1302
+ var bridge = _step.value;
1303
+ planner.addAcrossBridge(bridge);
1304
+ }
1305
+ }
1103
1306
  return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
1104
1307
  deadline: options.deadlineOrPreviousBlockhash ? ethers.BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
1105
1308
  });
1106
1309
  }
1310
+ /**
1311
+ * Generate EIP712 payload for signed execution (no signing performed)
1312
+ * Decodes existing execute() calldata and prepares it for signing
1313
+ *
1314
+ * @param calldata The calldata from swapCallParameters() or similar
1315
+ * @param signedOptions Options for signed execution (intent, data, sender, nonce)
1316
+ * @param deadline The deadline timestamp
1317
+ * @param chainId The chain ID
1318
+ * @param routerAddress The Universal Router contract address
1319
+ * @returns EIP712 payload ready to be signed externally
1320
+ */;
1321
+ SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
1322
+ // Decode the execute() calldata to extract commands and inputs
1323
+ // Try to decode with deadline first, then without
1324
+ var decoded;
1325
+ var commands;
1326
+ var inputs;
1327
+ try {
1328
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1329
+ commands = decoded.commands;
1330
+ inputs = decoded.inputs;
1331
+ } catch (e) {
1332
+ // Try without deadline
1333
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1334
+ commands = decoded.commands;
1335
+ inputs = decoded.inputs;
1336
+ }
1337
+ // Use provided nonce or generate random one
1338
+ var nonce = signedOptions.nonce || generateNonce();
1339
+ // sender is provided directly (address(0) = skip verification)
1340
+ var sender = signedOptions.sender;
1341
+ var domain = getUniversalRouterDomain(chainId, routerAddress);
1342
+ var intent = signedOptions.intent;
1343
+ var data = signedOptions.data;
1344
+ var deadlineStr = ethers.BigNumber.from(deadline).toString();
1345
+ var value = {
1346
+ commands: commands,
1347
+ inputs: inputs,
1348
+ intent: intent,
1349
+ data: data,
1350
+ sender: sender,
1351
+ nonce: nonce,
1352
+ deadline: deadlineStr
1353
+ };
1354
+ return {
1355
+ domain: domain,
1356
+ types: EXECUTE_SIGNED_TYPES,
1357
+ value: value
1358
+ };
1359
+ }
1360
+ /**
1361
+ * Encode executeSigned() call with signature
1362
+ *
1363
+ * @param calldata The original calldata from swapCallParameters()
1364
+ * @param signature The signature obtained from external signing
1365
+ * @param signedOptions The same options used in getExecuteSignedPayload()
1366
+ * @param deadline The deadline timestamp
1367
+ * @param nativeCurrencyValue The native currency value (ETH) to send
1368
+ * @returns Method parameters for executeSigned()
1369
+ */;
1370
+ SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
1371
+ if (nativeCurrencyValue === void 0) {
1372
+ nativeCurrencyValue = ethers.BigNumber.from(0);
1373
+ }
1374
+ // Decode the execute() calldata to extract commands and inputs
1375
+ // Try to decode with deadline first, then without
1376
+ var decoded;
1377
+ var commands;
1378
+ var inputs;
1379
+ try {
1380
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
1381
+ commands = decoded.commands;
1382
+ inputs = decoded.inputs;
1383
+ } catch (e) {
1384
+ // Try without deadline
1385
+ decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
1386
+ commands = decoded.commands;
1387
+ inputs = decoded.inputs;
1388
+ }
1389
+ // Use provided nonce (must match what was signed)
1390
+ // Nonce must match what was signed - require it to be provided
1391
+ if (!signedOptions.nonce) {
1392
+ throw new Error('Nonce is required for encodeExecuteSigned - use the nonce from getExecuteSignedPayload');
1393
+ }
1394
+ var nonce = signedOptions.nonce;
1395
+ // Determine verifySender based on sender address
1396
+ var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
1397
+ // Encode executeSigned function call using the Universal Router v2.1 ABI
1398
+ var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
1399
+ return {
1400
+ calldata: signedCalldata,
1401
+ value: nativeCurrencyValue.toHexString()
1402
+ };
1403
+ }
1107
1404
  /**
1108
1405
  * Builds the call parameters for a migration from a V3 position to a V4 position.
1109
1406
  * Some requirements of the parameters:
@@ -1151,8 +1448,8 @@ var SwapRouter = /*#__PURE__*/function () {
1151
1448
  // encode v3 withdraw
1152
1449
  var v3RemoveParams = v3Sdk.NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
1153
1450
  var v3Calls = v3Sdk.Multicall.decodeMulticall(v3RemoveParams.calldata);
1154
- for (var _iterator = _createForOfIteratorHelperLoose(v3Calls), _step; !(_step = _iterator()).done;) {
1155
- var v3Call = _step.value;
1451
+ for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
1452
+ var v3Call = _step2.value;
1156
1453
  // slice selector - 0x + 4 bytes = 10 characters
1157
1454
  var _selector = v3Call.slice(0, 10);
1158
1455
  !(_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;
@@ -1507,9 +1804,18 @@ function v4RouterCallToParams(actions) {
1507
1804
  });
1508
1805
  }
1509
1806
 
1807
+ Object.defineProperty(exports, 'URVersion', {
1808
+ enumerable: true,
1809
+ get: function () {
1810
+ return v4Sdk.URVersion;
1811
+ }
1812
+ });
1510
1813
  exports.COMMAND_DEFINITION = COMMAND_DEFINITION;
1814
+ exports.CONTRACT_BALANCE = CONTRACT_BALANCE;
1511
1815
  exports.CommandParser = CommandParser;
1816
+ exports.EXECUTE_SIGNED_TYPES = EXECUTE_SIGNED_TYPES;
1512
1817
  exports.GenericCommandParser = GenericCommandParser;
1818
+ exports.NONCE_SKIP_CHECK = NONCE_SKIP_CHECK;
1513
1819
  exports.ROUTER_AS_RECIPIENT = ROUTER_AS_RECIPIENT;
1514
1820
  exports.RoutePlanner = RoutePlanner;
1515
1821
  exports.RouterTradeAdapter = RouterTradeAdapter;
@@ -1519,5 +1825,7 @@ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
1519
1825
  exports.UniswapTrade = UniswapTrade;
1520
1826
  exports.UnwrapWETH = UnwrapWETH;
1521
1827
  exports.WETH_ADDRESS = WETH_ADDRESS;
1828
+ exports.generateNonce = generateNonce;
1829
+ exports.getUniversalRouterDomain = getUniversalRouterDomain;
1522
1830
  exports.isNativeCurrency = isNativeCurrency;
1523
1831
  //# sourceMappingURL=universal-router-sdk.cjs.development.js.map