@uniswap/universal-router-sdk 4.23.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.
- package/README.md +282 -0
- package/dist/entities/actions/across.d.ts +21 -0
- package/dist/entities/actions/index.d.ts +1 -0
- package/dist/entities/actions/uniswap.d.ts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/swapRouter.d.ts +46 -2
- package/dist/universal-router-sdk.cjs.development.js +298 -16
- package/dist/universal-router-sdk.cjs.development.js.map +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js.map +1 -1
- package/dist/universal-router-sdk.esm.js +294 -17
- package/dist/universal-router-sdk.esm.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/eip712.d.ts +17 -0
- package/dist/utils/routerCommands.d.ts +9 -1
- package/package.json +1 -1
|
@@ -94,6 +94,8 @@ var CommandType;
|
|
|
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
|
})(CommandType || (CommandType = {}));
|
|
98
100
|
var Subparser;
|
|
99
101
|
(function (Subparser) {
|
|
@@ -315,6 +317,48 @@ var COMMAND_DEFINITION = (_COMMAND_DEFINITION = {}, _COMMAND_DEFINITION[CommandT
|
|
|
315
317
|
parser: Parser.V3Actions
|
|
316
318
|
}, _COMMAND_DEFINITION[CommandType.V4_POSITION_MANAGER_CALL] = {
|
|
317
319
|
parser: Parser.V4Actions
|
|
320
|
+
}, _COMMAND_DEFINITION[CommandType.ACROSS_V4_DEPOSIT_V3] = {
|
|
321
|
+
parser: Parser.Abi,
|
|
322
|
+
params: [{
|
|
323
|
+
name: 'depositor',
|
|
324
|
+
type: 'address'
|
|
325
|
+
}, {
|
|
326
|
+
name: 'recipient',
|
|
327
|
+
type: 'address'
|
|
328
|
+
}, {
|
|
329
|
+
name: 'inputToken',
|
|
330
|
+
type: 'address'
|
|
331
|
+
}, {
|
|
332
|
+
name: 'outputToken',
|
|
333
|
+
type: 'address'
|
|
334
|
+
}, {
|
|
335
|
+
name: 'inputAmount',
|
|
336
|
+
type: 'uint256'
|
|
337
|
+
}, {
|
|
338
|
+
name: 'outputAmount',
|
|
339
|
+
type: 'uint256'
|
|
340
|
+
}, {
|
|
341
|
+
name: 'destinationChainId',
|
|
342
|
+
type: 'uint256'
|
|
343
|
+
}, {
|
|
344
|
+
name: 'exclusiveRelayer',
|
|
345
|
+
type: 'address'
|
|
346
|
+
}, {
|
|
347
|
+
name: 'quoteTimestamp',
|
|
348
|
+
type: 'uint32'
|
|
349
|
+
}, {
|
|
350
|
+
name: 'fillDeadline',
|
|
351
|
+
type: 'uint32'
|
|
352
|
+
}, {
|
|
353
|
+
name: 'exclusivityDeadline',
|
|
354
|
+
type: 'uint32'
|
|
355
|
+
}, {
|
|
356
|
+
name: 'message',
|
|
357
|
+
type: 'bytes'
|
|
358
|
+
}, {
|
|
359
|
+
name: 'useNative',
|
|
360
|
+
type: 'bool'
|
|
361
|
+
}]
|
|
318
362
|
}, _COMMAND_DEFINITION);
|
|
319
363
|
var RoutePlanner = /*#__PURE__*/function () {
|
|
320
364
|
function RoutePlanner() {
|
|
@@ -340,6 +384,15 @@ var RoutePlanner = /*#__PURE__*/function () {
|
|
|
340
384
|
}
|
|
341
385
|
this.commands = this.commands.concat(command.type.toString(16).padStart(2, '0'));
|
|
342
386
|
return this;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Add Across bridge deposit command for cross-chain bridging
|
|
390
|
+
* @param params AcrossV4DepositV3Params containing bridge parameters
|
|
391
|
+
* @returns RoutePlanner instance for chaining
|
|
392
|
+
*/;
|
|
393
|
+
_proto.addAcrossBridge = function addAcrossBridge(params) {
|
|
394
|
+
this.addCommand(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]);
|
|
395
|
+
return this;
|
|
343
396
|
};
|
|
344
397
|
return RoutePlanner;
|
|
345
398
|
}();
|
|
@@ -397,6 +450,7 @@ var UniversalRouterVersion;
|
|
|
397
450
|
(function (UniversalRouterVersion) {
|
|
398
451
|
UniversalRouterVersion["V1_2"] = "1.2";
|
|
399
452
|
UniversalRouterVersion["V2_0"] = "2.0";
|
|
453
|
+
UniversalRouterVersion["V2_1"] = "2.1";
|
|
400
454
|
})(UniversalRouterVersion || (UniversalRouterVersion = {}));
|
|
401
455
|
var WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
|
|
402
456
|
// Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
|
|
@@ -407,7 +461,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
407
461
|
creationBlock: 17143817
|
|
408
462
|
}, _routerConfigs[UniversalRouterVersion.V2_0] = {
|
|
409
463
|
address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
|
|
410
|
-
creationBlock:
|
|
464
|
+
creationBlock: 21689092
|
|
465
|
+
}, _routerConfigs[UniversalRouterVersion.V2_1] = {
|
|
466
|
+
address: '0xd92a36b0000531ef3063ded4de20a0783308446c',
|
|
467
|
+
creationBlock: 23836348
|
|
411
468
|
}, _routerConfigs)
|
|
412
469
|
}, _CHAIN_CONFIGS[5] = {
|
|
413
470
|
weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
|
|
@@ -417,6 +474,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
417
474
|
}, _routerConfigs2[UniversalRouterVersion.V2_0] = {
|
|
418
475
|
address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
|
|
419
476
|
creationBlock: 8940568
|
|
477
|
+
}, _routerConfigs2[UniversalRouterVersion.V2_1] = {
|
|
478
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
479
|
+
creationBlock: 1
|
|
420
480
|
}, _routerConfigs2)
|
|
421
481
|
}, _CHAIN_CONFIGS[11155111] = {
|
|
422
482
|
weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
|
|
@@ -426,6 +486,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
426
486
|
}, _routerConfigs3[UniversalRouterVersion.V2_0] = {
|
|
427
487
|
address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
|
|
428
488
|
creationBlock: 7259601
|
|
489
|
+
}, _routerConfigs3[UniversalRouterVersion.V2_1] = {
|
|
490
|
+
address: '0x470FFC67b1feEEC31D16C46AC7545C98716a194c',
|
|
491
|
+
creationBlock: 9664766
|
|
429
492
|
}, _routerConfigs3)
|
|
430
493
|
}, _CHAIN_CONFIGS[137] = {
|
|
431
494
|
weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
|
|
@@ -434,7 +497,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
434
497
|
creationBlock: 52210153
|
|
435
498
|
}, _routerConfigs4[UniversalRouterVersion.V2_0] = {
|
|
436
499
|
address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
|
|
437
|
-
creationBlock:
|
|
500
|
+
creationBlock: 66980401
|
|
501
|
+
}, _routerConfigs4[UniversalRouterVersion.V2_1] = {
|
|
502
|
+
address: '0xE27610fD9dD05FC061366bc9dA414CA6F948f204',
|
|
503
|
+
creationBlock: 79245524
|
|
438
504
|
}, _routerConfigs4)
|
|
439
505
|
}, _CHAIN_CONFIGS[80001] = {
|
|
440
506
|
weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
|
|
@@ -444,6 +510,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
444
510
|
}, _routerConfigs5[UniversalRouterVersion.V2_0] = {
|
|
445
511
|
address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
|
|
446
512
|
creationBlock: 35176052
|
|
513
|
+
}, _routerConfigs5[UniversalRouterVersion.V2_1] = {
|
|
514
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
515
|
+
creationBlock: 1
|
|
447
516
|
}, _routerConfigs5)
|
|
448
517
|
}, _CHAIN_CONFIGS[10] = {
|
|
449
518
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -452,7 +521,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
452
521
|
creationBlock: 114702266
|
|
453
522
|
}, _routerConfigs6[UniversalRouterVersion.V2_0] = {
|
|
454
523
|
address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
|
|
455
|
-
creationBlock:
|
|
524
|
+
creationBlock: 130947687
|
|
525
|
+
}, _routerConfigs6[UniversalRouterVersion.V2_1] = {
|
|
526
|
+
address: '0xde20EEE5398D3790a4D356e8925bD21Ea65D99Af',
|
|
527
|
+
creationBlock: 143998769
|
|
456
528
|
}, _routerConfigs6)
|
|
457
529
|
}, _CHAIN_CONFIGS[420] = {
|
|
458
530
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -462,6 +534,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
462
534
|
}, _routerConfigs7[UniversalRouterVersion.V2_0] = {
|
|
463
535
|
address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
|
|
464
536
|
creationBlock: 8887728
|
|
537
|
+
}, _routerConfigs7[UniversalRouterVersion.V2_1] = {
|
|
538
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
539
|
+
creationBlock: 1
|
|
465
540
|
}, _routerConfigs7)
|
|
466
541
|
}, _CHAIN_CONFIGS[42161] = {
|
|
467
542
|
weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
|
|
@@ -470,7 +545,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
470
545
|
creationBlock: 169472836
|
|
471
546
|
}, _routerConfigs8[UniversalRouterVersion.V2_0] = {
|
|
472
547
|
address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
|
|
473
|
-
creationBlock:
|
|
548
|
+
creationBlock: 297842906
|
|
549
|
+
}, _routerConfigs8[UniversalRouterVersion.V2_1] = {
|
|
550
|
+
address: '0x96b2FD2F80e9428Daa65d859653117D453981AB4',
|
|
551
|
+
creationBlock: 402060097
|
|
474
552
|
}, _routerConfigs8)
|
|
475
553
|
}, _CHAIN_CONFIGS[421613] = {
|
|
476
554
|
weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
|
|
@@ -480,6 +558,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
480
558
|
}, _routerConfigs9[UniversalRouterVersion.V2_0] = {
|
|
481
559
|
address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
|
|
482
560
|
creationBlock: 18815277
|
|
561
|
+
}, _routerConfigs9[UniversalRouterVersion.V2_1] = {
|
|
562
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
563
|
+
creationBlock: 1
|
|
483
564
|
}, _routerConfigs9)
|
|
484
565
|
}, _CHAIN_CONFIGS[42220] = {
|
|
485
566
|
weth: WETH_NOT_SUPPORTED_ON_CHAIN,
|
|
@@ -489,6 +570,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
489
570
|
}, _routerConfigs0[UniversalRouterVersion.V2_0] = {
|
|
490
571
|
address: '0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A',
|
|
491
572
|
creationBlock: 47387857
|
|
573
|
+
}, _routerConfigs0[UniversalRouterVersion.V2_1] = {
|
|
574
|
+
address: '0xBB8Ed9bF0BFF210652AE5f473a849F82e990DDf6',
|
|
575
|
+
creationBlock: 51696199
|
|
492
576
|
}, _routerConfigs0)
|
|
493
577
|
}, _CHAIN_CONFIGS[44787] = {
|
|
494
578
|
weth: WETH_NOT_SUPPORTED_ON_CHAIN,
|
|
@@ -498,6 +582,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
498
582
|
}, _routerConfigs1[UniversalRouterVersion.V2_0] = {
|
|
499
583
|
address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
|
|
500
584
|
creationBlock: 17566658
|
|
585
|
+
}, _routerConfigs1[UniversalRouterVersion.V2_1] = {
|
|
586
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
587
|
+
creationBlock: 1
|
|
501
588
|
}, _routerConfigs1)
|
|
502
589
|
}, _CHAIN_CONFIGS[56] = {
|
|
503
590
|
weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
|
|
@@ -506,7 +593,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
506
593
|
creationBlock: 35160263
|
|
507
594
|
}, _routerConfigs10[UniversalRouterVersion.V2_0] = {
|
|
508
595
|
address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
|
|
509
|
-
creationBlock:
|
|
596
|
+
creationBlock: 45970616
|
|
597
|
+
}, _routerConfigs10[UniversalRouterVersion.V2_1] = {
|
|
598
|
+
address: '0x91BF3bfAEf8D771A74E1A8fE460b3EE646b2e588',
|
|
599
|
+
creationBlock: 68794488
|
|
510
600
|
}, _routerConfigs10)
|
|
511
601
|
}, _CHAIN_CONFIGS[43114] = {
|
|
512
602
|
weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
|
|
@@ -515,7 +605,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
515
605
|
creationBlock: 40237257
|
|
516
606
|
}, _routerConfigs11[UniversalRouterVersion.V2_0] = {
|
|
517
607
|
address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
|
|
518
|
-
creationBlock:
|
|
608
|
+
creationBlock: 56195395
|
|
609
|
+
}, _routerConfigs11[UniversalRouterVersion.V2_1] = {
|
|
610
|
+
address: '0x0Cf1f86B331A03179646341D10A2A87515087221',
|
|
611
|
+
creationBlock: 72254439
|
|
519
612
|
}, _routerConfigs11)
|
|
520
613
|
}, _CHAIN_CONFIGS[84531] = {
|
|
521
614
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -525,6 +618,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
525
618
|
}, _routerConfigs12[UniversalRouterVersion.V2_0] = {
|
|
526
619
|
address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
|
|
527
620
|
creationBlock: 6915289
|
|
621
|
+
}, _routerConfigs12[UniversalRouterVersion.V2_1] = {
|
|
622
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
623
|
+
creationBlock: 1
|
|
528
624
|
}, _routerConfigs12)
|
|
529
625
|
}, _CHAIN_CONFIGS[8453] = {
|
|
530
626
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -533,7 +629,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
533
629
|
creationBlock: 9107268
|
|
534
630
|
}, _routerConfigs13[UniversalRouterVersion.V2_0] = {
|
|
535
631
|
address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
|
|
536
|
-
creationBlock:
|
|
632
|
+
creationBlock: 25350999
|
|
633
|
+
}, _routerConfigs13[UniversalRouterVersion.V2_1] = {
|
|
634
|
+
address: '0xf3a4f4094bd2c6c06ca2f61789d8727b8d1e7259',
|
|
635
|
+
creationBlock: 38404211
|
|
537
636
|
}, _routerConfigs13)
|
|
538
637
|
}, _CHAIN_CONFIGS[81457] = {
|
|
539
638
|
weth: '0x4300000000000000000000000000000000000004',
|
|
@@ -542,7 +641,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
542
641
|
creationBlock: 1116444
|
|
543
642
|
}, _routerConfigs14[UniversalRouterVersion.V2_0] = {
|
|
544
643
|
address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
|
|
545
|
-
creationBlock:
|
|
644
|
+
creationBlock: 14377319
|
|
645
|
+
}, _routerConfigs14[UniversalRouterVersion.V2_1] = {
|
|
646
|
+
address: '0x77c0097c1acf6fd84878d3f7c0603e3f04e8bec7',
|
|
647
|
+
creationBlock: 27394047
|
|
546
648
|
}, _routerConfigs14)
|
|
547
649
|
}, _CHAIN_CONFIGS[7777777] = {
|
|
548
650
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -551,7 +653,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
551
653
|
creationBlock: 11832155
|
|
552
654
|
}, _routerConfigs15[UniversalRouterVersion.V2_0] = {
|
|
553
655
|
address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
|
|
554
|
-
creationBlock:
|
|
656
|
+
creationBlock: 25434544
|
|
657
|
+
}, _routerConfigs15[UniversalRouterVersion.V2_1] = {
|
|
658
|
+
address: '0x880853091b60f80301a0c1d2f9893c4993041295',
|
|
659
|
+
creationBlock: 38452170
|
|
555
660
|
}, _routerConfigs15)
|
|
556
661
|
}, _CHAIN_CONFIGS[324] = {
|
|
557
662
|
weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
|
|
@@ -561,6 +666,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
561
666
|
}, _routerConfigs16[UniversalRouterVersion.V2_0] = {
|
|
562
667
|
address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
|
|
563
668
|
creationBlock: 12640979
|
|
669
|
+
}, _routerConfigs16[UniversalRouterVersion.V2_1] = {
|
|
670
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
671
|
+
creationBlock: 1
|
|
564
672
|
}, _routerConfigs16)
|
|
565
673
|
}, _CHAIN_CONFIGS[480] = {
|
|
566
674
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -569,7 +677,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
569
677
|
creationBlock: 4063979
|
|
570
678
|
}, _routerConfigs17[UniversalRouterVersion.V2_0] = {
|
|
571
679
|
address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
|
|
572
|
-
creationBlock:
|
|
680
|
+
creationBlock: 9111895
|
|
681
|
+
}, _routerConfigs17[UniversalRouterVersion.V2_1] = {
|
|
682
|
+
address: '0x03c4f6b55733cdf3caa07c01e5b83ddee3381f60',
|
|
683
|
+
creationBlock: 22131418
|
|
573
684
|
}, _routerConfigs17)
|
|
574
685
|
}, _CHAIN_CONFIGS[1301] = {
|
|
575
686
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -579,6 +690,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
579
690
|
}, _routerConfigs18[UniversalRouterVersion.V2_0] = {
|
|
580
691
|
address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
|
|
581
692
|
creationBlock: 7100543
|
|
693
|
+
}, _routerConfigs18[UniversalRouterVersion.V2_1] = {
|
|
694
|
+
address: '0x7F9B8D606E0F35E5073ABf93695814530b28a37b',
|
|
695
|
+
creationBlock: 36746405
|
|
582
696
|
}, _routerConfigs18)
|
|
583
697
|
}, _CHAIN_CONFIGS[130] = {
|
|
584
698
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -587,7 +701,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
587
701
|
creationBlock: 23678
|
|
588
702
|
}, _routerConfigs19[UniversalRouterVersion.V2_0] = {
|
|
589
703
|
address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
|
|
590
|
-
creationBlock:
|
|
704
|
+
creationBlock: 6819690
|
|
705
|
+
}, _routerConfigs19[UniversalRouterVersion.V2_1] = {
|
|
706
|
+
address: '0xe6039ae5b44f90d56c6b029354fb22999861a9a0',
|
|
707
|
+
creationBlock: 32850661
|
|
591
708
|
}, _routerConfigs19)
|
|
592
709
|
}, _CHAIN_CONFIGS[10143] = {
|
|
593
710
|
weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
|
|
@@ -597,6 +714,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
597
714
|
}, _routerConfigs20[UniversalRouterVersion.V2_0] = {
|
|
598
715
|
address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
|
|
599
716
|
creationBlock: 23678
|
|
717
|
+
}, _routerConfigs20[UniversalRouterVersion.V2_1] = {
|
|
718
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
719
|
+
creationBlock: 1
|
|
600
720
|
}, _routerConfigs20)
|
|
601
721
|
}, _CHAIN_CONFIGS[84532] = {
|
|
602
722
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -606,6 +726,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
606
726
|
}, _routerConfigs21[UniversalRouterVersion.V2_0] = {
|
|
607
727
|
address: '0x492e6456d9528771018deb9e87ef7750ef184104',
|
|
608
728
|
creationBlock: 20216585
|
|
729
|
+
}, _routerConfigs21[UniversalRouterVersion.V2_1] = {
|
|
730
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
731
|
+
creationBlock: 1
|
|
609
732
|
}, _routerConfigs21)
|
|
610
733
|
}, _CHAIN_CONFIGS[1868] = {
|
|
611
734
|
weth: '0x4200000000000000000000000000000000000006',
|
|
@@ -615,6 +738,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
615
738
|
}, _routerConfigs22[UniversalRouterVersion.V2_0] = {
|
|
616
739
|
address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
|
|
617
740
|
creationBlock: 3254782
|
|
741
|
+
}, _routerConfigs22[UniversalRouterVersion.V2_1] = {
|
|
742
|
+
address: '0xdb1d5986551c820bd0f3b1caca3e77ce03acb5ef',
|
|
743
|
+
creationBlock: 15232223
|
|
618
744
|
}, _routerConfigs22)
|
|
619
745
|
}, _CHAIN_CONFIGS[143] = {
|
|
620
746
|
weth: '0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A',
|
|
@@ -624,6 +750,9 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
624
750
|
}, _routerConfigs23[UniversalRouterVersion.V2_0] = {
|
|
625
751
|
address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
|
|
626
752
|
creationBlock: 29255937
|
|
753
|
+
}, _routerConfigs23[UniversalRouterVersion.V2_1] = {
|
|
754
|
+
address: '0xBC2A036E5027b9AE57BbA847eF88E1b14823F7B1',
|
|
755
|
+
creationBlock: 36720825
|
|
627
756
|
}, _routerConfigs23)
|
|
628
757
|
}, _CHAIN_CONFIGS);
|
|
629
758
|
var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
|
|
@@ -894,7 +1023,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
|
|
|
894
1023
|
});
|
|
895
1024
|
var slippageToleranceOnSwap = routerMustCustody && tradeType == TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
|
|
896
1025
|
var v4Planner = new V4Planner();
|
|
897
|
-
v4Planner.addTrade(trade, slippageToleranceOnSwap);
|
|
1026
|
+
v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage);
|
|
898
1027
|
v4Planner.addSettle(trade.route.pathInput, payerIsUser);
|
|
899
1028
|
v4Planner.addTake(trade.route.pathOutput, routerMustCustody ? ROUTER_AS_RECIPIENT : (_options$recipient = options.recipient) != null ? _options$recipient : SENDER_AS_RECIPIENT);
|
|
900
1029
|
planner.addCommand(CommandType.V4_SWAP, [v4Planner.finalize()]);
|
|
@@ -956,7 +1085,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
956
1085
|
v4Planner.addAction(Actions.SWAP_EXACT_IN, [{
|
|
957
1086
|
currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
|
|
958
1087
|
path: encodeRouteToPath$1(v4SubRoute),
|
|
959
|
-
maxHopSlippage: [],
|
|
1088
|
+
maxHopSlippage: options.maxHopSlippage || [],
|
|
960
1089
|
amountIn: 0,
|
|
961
1090
|
amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
|
|
962
1091
|
}]);
|
|
@@ -1023,6 +1152,56 @@ function encodeInputTokenOptions(planner, options) {
|
|
|
1023
1152
|
}
|
|
1024
1153
|
}
|
|
1025
1154
|
|
|
1155
|
+
var EIP712_DOMAIN_NAME = 'UniversalRouter';
|
|
1156
|
+
var EIP712_DOMAIN_VERSION = '2';
|
|
1157
|
+
var EXECUTE_SIGNED_TYPES = {
|
|
1158
|
+
ExecuteSigned: [{
|
|
1159
|
+
name: 'commands',
|
|
1160
|
+
type: 'bytes'
|
|
1161
|
+
}, {
|
|
1162
|
+
name: 'inputs',
|
|
1163
|
+
type: 'bytes[]'
|
|
1164
|
+
}, {
|
|
1165
|
+
name: 'intent',
|
|
1166
|
+
type: 'bytes32'
|
|
1167
|
+
}, {
|
|
1168
|
+
name: 'data',
|
|
1169
|
+
type: 'bytes32'
|
|
1170
|
+
}, {
|
|
1171
|
+
name: 'sender',
|
|
1172
|
+
type: 'address'
|
|
1173
|
+
}, {
|
|
1174
|
+
name: 'nonce',
|
|
1175
|
+
type: 'bytes32'
|
|
1176
|
+
}, {
|
|
1177
|
+
name: 'deadline',
|
|
1178
|
+
type: 'uint256'
|
|
1179
|
+
}]
|
|
1180
|
+
};
|
|
1181
|
+
/**
|
|
1182
|
+
* Generate EIP712 domain for Universal Router
|
|
1183
|
+
*/
|
|
1184
|
+
function getUniversalRouterDomain(chainId, verifyingContract) {
|
|
1185
|
+
return {
|
|
1186
|
+
name: EIP712_DOMAIN_NAME,
|
|
1187
|
+
version: EIP712_DOMAIN_VERSION,
|
|
1188
|
+
chainId: chainId,
|
|
1189
|
+
verifyingContract: verifyingContract
|
|
1190
|
+
};
|
|
1191
|
+
}
|
|
1192
|
+
/**
|
|
1193
|
+
* Generate a random nonce for signed execution
|
|
1194
|
+
* Uses ethers.utils.randomBytes for secure randomness
|
|
1195
|
+
*/
|
|
1196
|
+
function generateNonce() {
|
|
1197
|
+
var randomBytes = ethers.utils.randomBytes(32);
|
|
1198
|
+
return ethers.utils.hexlify(randomBytes);
|
|
1199
|
+
}
|
|
1200
|
+
/**
|
|
1201
|
+
* Sentinel value to skip nonce checking (allows signature replay)
|
|
1202
|
+
*/
|
|
1203
|
+
var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
|
|
1204
|
+
|
|
1026
1205
|
function isMint(options) {
|
|
1027
1206
|
return Object.keys(options).some(function (k) {
|
|
1028
1207
|
return k === 'recipient';
|
|
@@ -1030,7 +1209,8 @@ function isMint(options) {
|
|
|
1030
1209
|
}
|
|
1031
1210
|
var SwapRouter = /*#__PURE__*/function () {
|
|
1032
1211
|
function SwapRouter() {}
|
|
1033
|
-
SwapRouter.swapCallParameters = function swapCallParameters(trades, options
|
|
1212
|
+
SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
|
|
1213
|
+
) {
|
|
1034
1214
|
// TODO: use permit if signature included in swapOptions
|
|
1035
1215
|
var planner = new RoutePlanner();
|
|
1036
1216
|
var trade = new UniswapTrade(trades, options);
|
|
@@ -1043,6 +1223,13 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1043
1223
|
trade.encode(planner, {
|
|
1044
1224
|
allowRevert: false
|
|
1045
1225
|
});
|
|
1226
|
+
// Add bridge commands if provided
|
|
1227
|
+
if (bridgeOptions) {
|
|
1228
|
+
for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
|
|
1229
|
+
var bridge = _step.value;
|
|
1230
|
+
planner.addAcrossBridge(bridge);
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1046
1233
|
return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
|
|
1047
1234
|
deadline: options.deadlineOrPreviousBlockhash ? BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
|
|
1048
1235
|
});
|
|
@@ -1094,8 +1281,8 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1094
1281
|
// encode v3 withdraw
|
|
1095
1282
|
var v3RemoveParams = NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
|
|
1096
1283
|
var v3Calls = Multicall.decodeMulticall(v3RemoveParams.calldata);
|
|
1097
|
-
for (var
|
|
1098
|
-
var v3Call =
|
|
1284
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
|
|
1285
|
+
var v3Call = _step2.value;
|
|
1099
1286
|
// slice selector - 0x + 4 bytes = 10 characters
|
|
1100
1287
|
var _selector = v3Call.slice(0, 10);
|
|
1101
1288
|
!(_selector == NonfungiblePositionManager.INTERFACE.getSighash('collect') || _selector == NonfungiblePositionManager.INTERFACE.getSighash('decreaseLiquidity') || _selector == NonfungiblePositionManager.INTERFACE.getSighash('burn')) ? process.env.NODE_ENV !== "production" ? invariant(false, 'INVALID_V3_CALL: ' + _selector) : invariant(false) : void 0;
|
|
@@ -1111,6 +1298,96 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1111
1298
|
deadline: BigNumber.from(options.v4AddLiquidityOptions.deadline)
|
|
1112
1299
|
});
|
|
1113
1300
|
}
|
|
1301
|
+
/**
|
|
1302
|
+
* Generate EIP712 payload for signed execution (no signing performed)
|
|
1303
|
+
* Decodes existing execute() calldata and prepares it for signing
|
|
1304
|
+
*
|
|
1305
|
+
* @param calldata The calldata from swapCallParameters() or similar
|
|
1306
|
+
* @param signedOptions Options for signed execution (intent, data, sender, nonce)
|
|
1307
|
+
* @param deadline The deadline timestamp
|
|
1308
|
+
* @param chainId The chain ID
|
|
1309
|
+
* @param routerAddress The Universal Router contract address
|
|
1310
|
+
* @returns EIP712 payload ready to be signed externally
|
|
1311
|
+
*/;
|
|
1312
|
+
SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
|
|
1313
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1314
|
+
// Try to decode with deadline first, then without
|
|
1315
|
+
var decoded;
|
|
1316
|
+
var commands;
|
|
1317
|
+
var inputs;
|
|
1318
|
+
try {
|
|
1319
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1320
|
+
commands = decoded.commands;
|
|
1321
|
+
inputs = decoded.inputs;
|
|
1322
|
+
} catch (e) {
|
|
1323
|
+
// Try without deadline
|
|
1324
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1325
|
+
commands = decoded.commands;
|
|
1326
|
+
inputs = decoded.inputs;
|
|
1327
|
+
}
|
|
1328
|
+
// Use provided nonce or generate random one
|
|
1329
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1330
|
+
// sender is provided directly (address(0) = skip verification)
|
|
1331
|
+
var sender = signedOptions.sender;
|
|
1332
|
+
var domain = getUniversalRouterDomain(chainId, routerAddress);
|
|
1333
|
+
var intent = signedOptions.intent;
|
|
1334
|
+
var data = signedOptions.data;
|
|
1335
|
+
deadline = BigNumber.from(deadline).toString();
|
|
1336
|
+
var value = {
|
|
1337
|
+
commands: commands,
|
|
1338
|
+
inputs: inputs,
|
|
1339
|
+
intent: intent,
|
|
1340
|
+
data: data,
|
|
1341
|
+
sender: sender,
|
|
1342
|
+
nonce: nonce,
|
|
1343
|
+
deadline: deadline
|
|
1344
|
+
};
|
|
1345
|
+
return {
|
|
1346
|
+
domain: domain,
|
|
1347
|
+
types: EXECUTE_SIGNED_TYPES,
|
|
1348
|
+
value: value
|
|
1349
|
+
};
|
|
1350
|
+
}
|
|
1351
|
+
/**
|
|
1352
|
+
* Encode executeSigned() call with signature
|
|
1353
|
+
*
|
|
1354
|
+
* @param calldata The original calldata from swapCallParameters()
|
|
1355
|
+
* @param signature The signature obtained from external signing
|
|
1356
|
+
* @param signedOptions The same options used in getExecuteSignedPayload()
|
|
1357
|
+
* @param deadline The deadline timestamp
|
|
1358
|
+
* @param nativeCurrencyValue The native currency value (ETH) to send
|
|
1359
|
+
* @returns Method parameters for executeSigned()
|
|
1360
|
+
*/;
|
|
1361
|
+
SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
|
|
1362
|
+
if (nativeCurrencyValue === void 0) {
|
|
1363
|
+
nativeCurrencyValue = BigNumber.from(0);
|
|
1364
|
+
}
|
|
1365
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1366
|
+
// Try to decode with deadline first, then without
|
|
1367
|
+
var decoded;
|
|
1368
|
+
var commands;
|
|
1369
|
+
var inputs;
|
|
1370
|
+
try {
|
|
1371
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1372
|
+
commands = decoded.commands;
|
|
1373
|
+
inputs = decoded.inputs;
|
|
1374
|
+
} catch (e) {
|
|
1375
|
+
// Try without deadline
|
|
1376
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1377
|
+
commands = decoded.commands;
|
|
1378
|
+
inputs = decoded.inputs;
|
|
1379
|
+
}
|
|
1380
|
+
// Use provided nonce (must match what was signed)
|
|
1381
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1382
|
+
// Determine verifySender based on sender address
|
|
1383
|
+
var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
|
|
1384
|
+
// Encode executeSigned function call using the Universal Router v2.1 ABI
|
|
1385
|
+
var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
|
|
1386
|
+
return {
|
|
1387
|
+
calldata: signedCalldata,
|
|
1388
|
+
value: nativeCurrencyValue.toHexString()
|
|
1389
|
+
};
|
|
1390
|
+
}
|
|
1114
1391
|
/**
|
|
1115
1392
|
* Encodes a planned route into a method name and parameters for the Router contract.
|
|
1116
1393
|
* @param planner the planned route
|
|
@@ -1451,5 +1728,5 @@ function v4RouterCallToParams(actions) {
|
|
|
1451
1728
|
});
|
|
1452
1729
|
}
|
|
1453
1730
|
|
|
1454
|
-
export { COMMAND_DEFINITION, CommandParser, CommandType, GenericCommandParser, Parser, PoolType, ROUTER_AS_RECIPIENT, RoutePlanner, RouterActionType, RouterTradeAdapter, Subparser, SwapRouter, UNIVERSAL_ROUTER_ADDRESS, UNIVERSAL_ROUTER_CREATION_BLOCK, UniswapTrade, UniversalRouterVersion, UnwrapWETH, WETH_ADDRESS, isNativeCurrency };
|
|
1731
|
+
export { COMMAND_DEFINITION, CONTRACT_BALANCE, CommandParser, CommandType, EXECUTE_SIGNED_TYPES, GenericCommandParser, NONCE_SKIP_CHECK, Parser, PoolType, ROUTER_AS_RECIPIENT, RoutePlanner, RouterActionType, RouterTradeAdapter, Subparser, SwapRouter, UNIVERSAL_ROUTER_ADDRESS, UNIVERSAL_ROUTER_CREATION_BLOCK, UniswapTrade, UniversalRouterVersion, UnwrapWETH, WETH_ADDRESS, generateNonce, getUniversalRouterDomain, isNativeCurrency };
|
|
1455
1732
|
//# sourceMappingURL=universal-router-sdk.esm.js.map
|