@uniswap/universal-router-sdk 4.23.0 → 4.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +311 -17
- 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 +307 -18
- 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 +6 -6
|
@@ -94,6 +94,8 @@ var _COMMAND_DEFINITION;
|
|
|
94
94
|
CommandType[CommandType["V4_INITIALIZE_POOL"] = 19] = "V4_INITIALIZE_POOL";
|
|
95
95
|
CommandType[CommandType["V4_POSITION_MANAGER_CALL"] = 20] = "V4_POSITION_MANAGER_CALL";
|
|
96
96
|
CommandType[CommandType["EXECUTE_SUB_PLAN"] = 33] = "EXECUTE_SUB_PLAN";
|
|
97
|
+
// 3rd party integrations (0x40-0x5f range)
|
|
98
|
+
CommandType[CommandType["ACROSS_V4_DEPOSIT_V3"] = 64] = "ACROSS_V4_DEPOSIT_V3";
|
|
97
99
|
})(exports.CommandType || (exports.CommandType = {}));
|
|
98
100
|
(function (Subparser) {
|
|
99
101
|
Subparser[Subparser["V3PathExactIn"] = 0] = "V3PathExactIn";
|
|
@@ -313,6 +315,48 @@ var COMMAND_DEFINITION = (_COMMAND_DEFINITION = {}, _COMMAND_DEFINITION[exports.
|
|
|
313
315
|
parser: exports.Parser.V3Actions
|
|
314
316
|
}, _COMMAND_DEFINITION[exports.CommandType.V4_POSITION_MANAGER_CALL] = {
|
|
315
317
|
parser: exports.Parser.V4Actions
|
|
318
|
+
}, _COMMAND_DEFINITION[exports.CommandType.ACROSS_V4_DEPOSIT_V3] = {
|
|
319
|
+
parser: exports.Parser.Abi,
|
|
320
|
+
params: [{
|
|
321
|
+
name: 'depositor',
|
|
322
|
+
type: 'address'
|
|
323
|
+
}, {
|
|
324
|
+
name: 'recipient',
|
|
325
|
+
type: 'address'
|
|
326
|
+
}, {
|
|
327
|
+
name: 'inputToken',
|
|
328
|
+
type: 'address'
|
|
329
|
+
}, {
|
|
330
|
+
name: 'outputToken',
|
|
331
|
+
type: 'address'
|
|
332
|
+
}, {
|
|
333
|
+
name: 'inputAmount',
|
|
334
|
+
type: 'uint256'
|
|
335
|
+
}, {
|
|
336
|
+
name: 'outputAmount',
|
|
337
|
+
type: 'uint256'
|
|
338
|
+
}, {
|
|
339
|
+
name: 'destinationChainId',
|
|
340
|
+
type: 'uint256'
|
|
341
|
+
}, {
|
|
342
|
+
name: 'exclusiveRelayer',
|
|
343
|
+
type: 'address'
|
|
344
|
+
}, {
|
|
345
|
+
name: 'quoteTimestamp',
|
|
346
|
+
type: 'uint32'
|
|
347
|
+
}, {
|
|
348
|
+
name: 'fillDeadline',
|
|
349
|
+
type: 'uint32'
|
|
350
|
+
}, {
|
|
351
|
+
name: 'exclusivityDeadline',
|
|
352
|
+
type: 'uint32'
|
|
353
|
+
}, {
|
|
354
|
+
name: 'message',
|
|
355
|
+
type: 'bytes'
|
|
356
|
+
}, {
|
|
357
|
+
name: 'useNative',
|
|
358
|
+
type: 'bool'
|
|
359
|
+
}]
|
|
316
360
|
}, _COMMAND_DEFINITION);
|
|
317
361
|
var RoutePlanner = /*#__PURE__*/function () {
|
|
318
362
|
function RoutePlanner() {
|
|
@@ -338,6 +382,15 @@ var RoutePlanner = /*#__PURE__*/function () {
|
|
|
338
382
|
}
|
|
339
383
|
this.commands = this.commands.concat(command.type.toString(16).padStart(2, '0'));
|
|
340
384
|
return this;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Add Across bridge deposit command for cross-chain bridging
|
|
388
|
+
* @param params AcrossV4DepositV3Params containing bridge parameters
|
|
389
|
+
* @returns RoutePlanner instance for chaining
|
|
390
|
+
*/;
|
|
391
|
+
_proto.addAcrossBridge = function addAcrossBridge(params) {
|
|
392
|
+
this.addCommand(exports.CommandType.ACROSS_V4_DEPOSIT_V3, [params.depositor, params.recipient, params.inputToken, params.outputToken, params.inputAmount, params.outputAmount, params.destinationChainId, params.exclusiveRelayer, params.quoteTimestamp, params.fillDeadline, params.exclusivityDeadline, params.message, params.useNative]);
|
|
393
|
+
return this;
|
|
341
394
|
};
|
|
342
395
|
return RoutePlanner;
|
|
343
396
|
}();
|
|
@@ -389,10 +442,11 @@ function getPathCurrency(currency, pool) {
|
|
|
389
442
|
RouterActionType["UnwrapWETH"] = "UnwrapWETH";
|
|
390
443
|
})(exports.RouterActionType || (exports.RouterActionType = {}));
|
|
391
444
|
|
|
392
|
-
var _routerConfigs, _routerConfigs2, _routerConfigs3, _routerConfigs4, _routerConfigs5, _routerConfigs6, _routerConfigs7, _routerConfigs8, _routerConfigs9, _routerConfigs0, _routerConfigs1, _routerConfigs10, _routerConfigs11, _routerConfigs12, _routerConfigs13, _routerConfigs14, _routerConfigs15, _routerConfigs16, _routerConfigs17, _routerConfigs18, _routerConfigs19, _routerConfigs20, _routerConfigs21, _routerConfigs22, _routerConfigs23, _CHAIN_CONFIGS;
|
|
445
|
+
var _routerConfigs, _routerConfigs2, _routerConfigs3, _routerConfigs4, _routerConfigs5, _routerConfigs6, _routerConfigs7, _routerConfigs8, _routerConfigs9, _routerConfigs0, _routerConfigs1, _routerConfigs10, _routerConfigs11, _routerConfigs12, _routerConfigs13, _routerConfigs14, _routerConfigs15, _routerConfigs16, _routerConfigs17, _routerConfigs18, _routerConfigs19, _routerConfigs20, _routerConfigs21, _routerConfigs22, _routerConfigs23, _routerConfigs24, _CHAIN_CONFIGS;
|
|
393
446
|
(function (UniversalRouterVersion) {
|
|
394
447
|
UniversalRouterVersion["V1_2"] = "1.2";
|
|
395
448
|
UniversalRouterVersion["V2_0"] = "2.0";
|
|
449
|
+
UniversalRouterVersion["V2_1"] = "2.1";
|
|
396
450
|
})(exports.UniversalRouterVersion || (exports.UniversalRouterVersion = {}));
|
|
397
451
|
var WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
|
|
398
452
|
// Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
|
|
@@ -403,7 +457,10 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
403
457
|
creationBlock: 17143817
|
|
404
458
|
}, _routerConfigs[exports.UniversalRouterVersion.V2_0] = {
|
|
405
459
|
address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
|
|
406
|
-
creationBlock:
|
|
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,7 +746,22 @@ var CHAIN_CONFIGS = (_CHAIN_CONFIGS = {}, _CHAIN_CONFIGS[1] = {
|
|
|
620
746
|
}, _routerConfigs23[exports.UniversalRouterVersion.V2_0] = {
|
|
621
747
|
address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
|
|
622
748
|
creationBlock: 29255937
|
|
749
|
+
}, _routerConfigs23[exports.UniversalRouterVersion.V2_1] = {
|
|
750
|
+
address: '0xBC2A036E5027b9AE57BbA847eF88E1b14823F7B1',
|
|
751
|
+
creationBlock: 36720825
|
|
623
752
|
}, _routerConfigs23)
|
|
753
|
+
}, _CHAIN_CONFIGS[196] = {
|
|
754
|
+
weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
|
|
755
|
+
routerConfigs: (_routerConfigs24 = {}, _routerConfigs24[exports.UniversalRouterVersion.V1_2] = {
|
|
756
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
757
|
+
creationBlock: 1
|
|
758
|
+
}, _routerConfigs24[exports.UniversalRouterVersion.V2_0] = {
|
|
759
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
760
|
+
creationBlock: 1
|
|
761
|
+
}, _routerConfigs24[exports.UniversalRouterVersion.V2_1] = {
|
|
762
|
+
address: '0xc498381f53525a30a2c22d4cbe8758e79bcff2a5',
|
|
763
|
+
creationBlock: 46106421
|
|
764
|
+
}, _routerConfigs24)
|
|
624
765
|
}, _CHAIN_CONFIGS);
|
|
625
766
|
var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
|
|
626
767
|
if (!(chainId in CHAIN_CONFIGS)) throw new Error("Universal Router not deployed on chain " + chainId);
|
|
@@ -890,7 +1031,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
|
|
|
890
1031
|
});
|
|
891
1032
|
var slippageToleranceOnSwap = routerMustCustody && tradeType == sdkCore.TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
|
|
892
1033
|
var v4Planner = new v4Sdk.V4Planner();
|
|
893
|
-
v4Planner.addTrade(trade, slippageToleranceOnSwap);
|
|
1034
|
+
v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage);
|
|
894
1035
|
v4Planner.addSettle(trade.route.pathInput, payerIsUser);
|
|
895
1036
|
v4Planner.addTake(trade.route.pathOutput, routerMustCustody ? ROUTER_AS_RECIPIENT : (_options$recipient = options.recipient) != null ? _options$recipient : SENDER_AS_RECIPIENT);
|
|
896
1037
|
planner.addCommand(exports.CommandType.V4_SWAP, [v4Planner.finalize()]);
|
|
@@ -952,7 +1093,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
952
1093
|
v4Planner.addAction(v4Sdk.Actions.SWAP_EXACT_IN, [{
|
|
953
1094
|
currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
|
|
954
1095
|
path: v4Sdk.encodeRouteToPath(v4SubRoute),
|
|
955
|
-
maxHopSlippage: [],
|
|
1096
|
+
maxHopSlippage: options.maxHopSlippage || [],
|
|
956
1097
|
amountIn: 0,
|
|
957
1098
|
amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
|
|
958
1099
|
}]);
|
|
@@ -1019,6 +1160,56 @@ function encodeInputTokenOptions(planner, options) {
|
|
|
1019
1160
|
}
|
|
1020
1161
|
}
|
|
1021
1162
|
|
|
1163
|
+
var EIP712_DOMAIN_NAME = 'UniversalRouter';
|
|
1164
|
+
var EIP712_DOMAIN_VERSION = '2';
|
|
1165
|
+
var EXECUTE_SIGNED_TYPES = {
|
|
1166
|
+
ExecuteSigned: [{
|
|
1167
|
+
name: 'commands',
|
|
1168
|
+
type: 'bytes'
|
|
1169
|
+
}, {
|
|
1170
|
+
name: 'inputs',
|
|
1171
|
+
type: 'bytes[]'
|
|
1172
|
+
}, {
|
|
1173
|
+
name: 'intent',
|
|
1174
|
+
type: 'bytes32'
|
|
1175
|
+
}, {
|
|
1176
|
+
name: 'data',
|
|
1177
|
+
type: 'bytes32'
|
|
1178
|
+
}, {
|
|
1179
|
+
name: 'sender',
|
|
1180
|
+
type: 'address'
|
|
1181
|
+
}, {
|
|
1182
|
+
name: 'nonce',
|
|
1183
|
+
type: 'bytes32'
|
|
1184
|
+
}, {
|
|
1185
|
+
name: 'deadline',
|
|
1186
|
+
type: 'uint256'
|
|
1187
|
+
}]
|
|
1188
|
+
};
|
|
1189
|
+
/**
|
|
1190
|
+
* Generate EIP712 domain for Universal Router
|
|
1191
|
+
*/
|
|
1192
|
+
function getUniversalRouterDomain(chainId, verifyingContract) {
|
|
1193
|
+
return {
|
|
1194
|
+
name: EIP712_DOMAIN_NAME,
|
|
1195
|
+
version: EIP712_DOMAIN_VERSION,
|
|
1196
|
+
chainId: chainId,
|
|
1197
|
+
verifyingContract: verifyingContract
|
|
1198
|
+
};
|
|
1199
|
+
}
|
|
1200
|
+
/**
|
|
1201
|
+
* Generate a random nonce for signed execution
|
|
1202
|
+
* Uses ethers.utils.randomBytes for secure randomness
|
|
1203
|
+
*/
|
|
1204
|
+
function generateNonce() {
|
|
1205
|
+
var randomBytes = ethers.ethers.utils.randomBytes(32);
|
|
1206
|
+
return ethers.ethers.utils.hexlify(randomBytes);
|
|
1207
|
+
}
|
|
1208
|
+
/**
|
|
1209
|
+
* Sentinel value to skip nonce checking (allows signature replay)
|
|
1210
|
+
*/
|
|
1211
|
+
var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
|
|
1212
|
+
|
|
1022
1213
|
function isMint(options) {
|
|
1023
1214
|
return Object.keys(options).some(function (k) {
|
|
1024
1215
|
return k === 'recipient';
|
|
@@ -1026,7 +1217,8 @@ function isMint(options) {
|
|
|
1026
1217
|
}
|
|
1027
1218
|
var SwapRouter = /*#__PURE__*/function () {
|
|
1028
1219
|
function SwapRouter() {}
|
|
1029
|
-
SwapRouter.swapCallParameters = function swapCallParameters(trades, options
|
|
1220
|
+
SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
|
|
1221
|
+
) {
|
|
1030
1222
|
// TODO: use permit if signature included in swapOptions
|
|
1031
1223
|
var planner = new RoutePlanner();
|
|
1032
1224
|
var trade = new UniswapTrade(trades, options);
|
|
@@ -1039,6 +1231,13 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1039
1231
|
trade.encode(planner, {
|
|
1040
1232
|
allowRevert: false
|
|
1041
1233
|
});
|
|
1234
|
+
// Add bridge commands if provided
|
|
1235
|
+
if (bridgeOptions) {
|
|
1236
|
+
for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
|
|
1237
|
+
var bridge = _step.value;
|
|
1238
|
+
planner.addAcrossBridge(bridge);
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1042
1241
|
return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
|
|
1043
1242
|
deadline: options.deadlineOrPreviousBlockhash ? ethers.BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
|
|
1044
1243
|
});
|
|
@@ -1090,8 +1289,8 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1090
1289
|
// encode v3 withdraw
|
|
1091
1290
|
var v3RemoveParams = v3Sdk.NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
|
|
1092
1291
|
var v3Calls = v3Sdk.Multicall.decodeMulticall(v3RemoveParams.calldata);
|
|
1093
|
-
for (var
|
|
1094
|
-
var v3Call =
|
|
1292
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
|
|
1293
|
+
var v3Call = _step2.value;
|
|
1095
1294
|
// slice selector - 0x + 4 bytes = 10 characters
|
|
1096
1295
|
var _selector = v3Call.slice(0, 10);
|
|
1097
1296
|
!(_selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('collect') || _selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('decreaseLiquidity') || _selector == v3Sdk.NonfungiblePositionManager.INTERFACE.getSighash('burn')) ? invariant(false, 'INVALID_V3_CALL: ' + _selector) : void 0;
|
|
@@ -1107,6 +1306,96 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1107
1306
|
deadline: ethers.BigNumber.from(options.v4AddLiquidityOptions.deadline)
|
|
1108
1307
|
});
|
|
1109
1308
|
}
|
|
1309
|
+
/**
|
|
1310
|
+
* Generate EIP712 payload for signed execution (no signing performed)
|
|
1311
|
+
* Decodes existing execute() calldata and prepares it for signing
|
|
1312
|
+
*
|
|
1313
|
+
* @param calldata The calldata from swapCallParameters() or similar
|
|
1314
|
+
* @param signedOptions Options for signed execution (intent, data, sender, nonce)
|
|
1315
|
+
* @param deadline The deadline timestamp
|
|
1316
|
+
* @param chainId The chain ID
|
|
1317
|
+
* @param routerAddress The Universal Router contract address
|
|
1318
|
+
* @returns EIP712 payload ready to be signed externally
|
|
1319
|
+
*/;
|
|
1320
|
+
SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
|
|
1321
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1322
|
+
// Try to decode with deadline first, then without
|
|
1323
|
+
var decoded;
|
|
1324
|
+
var commands;
|
|
1325
|
+
var inputs;
|
|
1326
|
+
try {
|
|
1327
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1328
|
+
commands = decoded.commands;
|
|
1329
|
+
inputs = decoded.inputs;
|
|
1330
|
+
} catch (e) {
|
|
1331
|
+
// Try without deadline
|
|
1332
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1333
|
+
commands = decoded.commands;
|
|
1334
|
+
inputs = decoded.inputs;
|
|
1335
|
+
}
|
|
1336
|
+
// Use provided nonce or generate random one
|
|
1337
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1338
|
+
// sender is provided directly (address(0) = skip verification)
|
|
1339
|
+
var sender = signedOptions.sender;
|
|
1340
|
+
var domain = getUniversalRouterDomain(chainId, routerAddress);
|
|
1341
|
+
var intent = signedOptions.intent;
|
|
1342
|
+
var data = signedOptions.data;
|
|
1343
|
+
deadline = ethers.BigNumber.from(deadline).toString();
|
|
1344
|
+
var value = {
|
|
1345
|
+
commands: commands,
|
|
1346
|
+
inputs: inputs,
|
|
1347
|
+
intent: intent,
|
|
1348
|
+
data: data,
|
|
1349
|
+
sender: sender,
|
|
1350
|
+
nonce: nonce,
|
|
1351
|
+
deadline: deadline
|
|
1352
|
+
};
|
|
1353
|
+
return {
|
|
1354
|
+
domain: domain,
|
|
1355
|
+
types: EXECUTE_SIGNED_TYPES,
|
|
1356
|
+
value: value
|
|
1357
|
+
};
|
|
1358
|
+
}
|
|
1359
|
+
/**
|
|
1360
|
+
* Encode executeSigned() call with signature
|
|
1361
|
+
*
|
|
1362
|
+
* @param calldata The original calldata from swapCallParameters()
|
|
1363
|
+
* @param signature The signature obtained from external signing
|
|
1364
|
+
* @param signedOptions The same options used in getExecuteSignedPayload()
|
|
1365
|
+
* @param deadline The deadline timestamp
|
|
1366
|
+
* @param nativeCurrencyValue The native currency value (ETH) to send
|
|
1367
|
+
* @returns Method parameters for executeSigned()
|
|
1368
|
+
*/;
|
|
1369
|
+
SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
|
|
1370
|
+
if (nativeCurrencyValue === void 0) {
|
|
1371
|
+
nativeCurrencyValue = ethers.BigNumber.from(0);
|
|
1372
|
+
}
|
|
1373
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1374
|
+
// Try to decode with deadline first, then without
|
|
1375
|
+
var decoded;
|
|
1376
|
+
var commands;
|
|
1377
|
+
var inputs;
|
|
1378
|
+
try {
|
|
1379
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1380
|
+
commands = decoded.commands;
|
|
1381
|
+
inputs = decoded.inputs;
|
|
1382
|
+
} catch (e) {
|
|
1383
|
+
// Try without deadline
|
|
1384
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1385
|
+
commands = decoded.commands;
|
|
1386
|
+
inputs = decoded.inputs;
|
|
1387
|
+
}
|
|
1388
|
+
// Use provided nonce (must match what was signed)
|
|
1389
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1390
|
+
// Determine verifySender based on sender address
|
|
1391
|
+
var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
|
|
1392
|
+
// Encode executeSigned function call using the Universal Router v2.1 ABI
|
|
1393
|
+
var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
|
|
1394
|
+
return {
|
|
1395
|
+
calldata: signedCalldata,
|
|
1396
|
+
value: nativeCurrencyValue.toHexString()
|
|
1397
|
+
};
|
|
1398
|
+
}
|
|
1110
1399
|
/**
|
|
1111
1400
|
* Encodes a planned route into a method name and parameters for the Router contract.
|
|
1112
1401
|
* @param planner the planned route
|
|
@@ -1447,8 +1736,11 @@ function v4RouterCallToParams(actions) {
|
|
|
1447
1736
|
}
|
|
1448
1737
|
|
|
1449
1738
|
exports.COMMAND_DEFINITION = COMMAND_DEFINITION;
|
|
1739
|
+
exports.CONTRACT_BALANCE = CONTRACT_BALANCE;
|
|
1450
1740
|
exports.CommandParser = CommandParser;
|
|
1741
|
+
exports.EXECUTE_SIGNED_TYPES = EXECUTE_SIGNED_TYPES;
|
|
1451
1742
|
exports.GenericCommandParser = GenericCommandParser;
|
|
1743
|
+
exports.NONCE_SKIP_CHECK = NONCE_SKIP_CHECK;
|
|
1452
1744
|
exports.ROUTER_AS_RECIPIENT = ROUTER_AS_RECIPIENT;
|
|
1453
1745
|
exports.RoutePlanner = RoutePlanner;
|
|
1454
1746
|
exports.RouterTradeAdapter = RouterTradeAdapter;
|
|
@@ -1458,5 +1750,7 @@ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
|
|
|
1458
1750
|
exports.UniswapTrade = UniswapTrade;
|
|
1459
1751
|
exports.UnwrapWETH = UnwrapWETH;
|
|
1460
1752
|
exports.WETH_ADDRESS = WETH_ADDRESS;
|
|
1753
|
+
exports.generateNonce = generateNonce;
|
|
1754
|
+
exports.getUniversalRouterDomain = getUniversalRouterDomain;
|
|
1461
1755
|
exports.isNativeCurrency = isNativeCurrency;
|
|
1462
1756
|
//# sourceMappingURL=universal-router-sdk.cjs.development.js.map
|