@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.
- 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 -15
- 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 -16
- 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 +3 -3
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
1093
|
-
var v3Call =
|
|
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
|