@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 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
|
}();
|
|
@@ -392,11 +445,12 @@ var RouterActionType;
|
|
|
392
445
|
RouterActionType["UnwrapWETH"] = "UnwrapWETH";
|
|
393
446
|
})(RouterActionType || (RouterActionType = {}));
|
|
394
447
|
|
|
395
|
-
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;
|
|
448
|
+
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;
|
|
396
449
|
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,7 +750,22 @@ 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)
|
|
757
|
+
}, _CHAIN_CONFIGS[196] = {
|
|
758
|
+
weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
|
|
759
|
+
routerConfigs: (_routerConfigs24 = {}, _routerConfigs24[UniversalRouterVersion.V1_2] = {
|
|
760
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
761
|
+
creationBlock: 1
|
|
762
|
+
}, _routerConfigs24[UniversalRouterVersion.V2_0] = {
|
|
763
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
764
|
+
creationBlock: 1
|
|
765
|
+
}, _routerConfigs24[UniversalRouterVersion.V2_1] = {
|
|
766
|
+
address: '0xc498381f53525a30a2c22d4cbe8758e79bcff2a5',
|
|
767
|
+
creationBlock: 46106421
|
|
768
|
+
}, _routerConfigs24)
|
|
628
769
|
}, _CHAIN_CONFIGS);
|
|
629
770
|
var UNIVERSAL_ROUTER_ADDRESS = function UNIVERSAL_ROUTER_ADDRESS(version, chainId) {
|
|
630
771
|
if (!(chainId in CHAIN_CONFIGS)) throw new Error("Universal Router not deployed on chain " + chainId);
|
|
@@ -894,7 +1035,7 @@ function addV4Swap(planner, _ref3, tradeType, options, payerIsUser, routerMustCu
|
|
|
894
1035
|
});
|
|
895
1036
|
var slippageToleranceOnSwap = routerMustCustody && tradeType == TradeType.EXACT_INPUT ? undefined : options.slippageTolerance;
|
|
896
1037
|
var v4Planner = new V4Planner();
|
|
897
|
-
v4Planner.addTrade(trade, slippageToleranceOnSwap);
|
|
1038
|
+
v4Planner.addTrade(trade, slippageToleranceOnSwap, options.maxHopSlippage);
|
|
898
1039
|
v4Planner.addSettle(trade.route.pathInput, payerIsUser);
|
|
899
1040
|
v4Planner.addTake(trade.route.pathOutput, routerMustCustody ? ROUTER_AS_RECIPIENT : (_options$recipient = options.recipient) != null ? _options$recipient : SENDER_AS_RECIPIENT);
|
|
900
1041
|
planner.addCommand(CommandType.V4_SWAP, [v4Planner.finalize()]);
|
|
@@ -956,7 +1097,7 @@ function addMixedSwap(planner, swap, tradeType, options, payerIsUser, routerMust
|
|
|
956
1097
|
v4Planner.addAction(Actions.SWAP_EXACT_IN, [{
|
|
957
1098
|
currencyIn: inputToken.isNative ? ETH_ADDRESS : inputToken.address,
|
|
958
1099
|
path: encodeRouteToPath$1(v4SubRoute),
|
|
959
|
-
maxHopSlippage: [],
|
|
1100
|
+
maxHopSlippage: options.maxHopSlippage || [],
|
|
960
1101
|
amountIn: 0,
|
|
961
1102
|
amountOutMinimum: !isLastSectionInRoute(i) ? 0 : amountOut
|
|
962
1103
|
}]);
|
|
@@ -1023,6 +1164,56 @@ function encodeInputTokenOptions(planner, options) {
|
|
|
1023
1164
|
}
|
|
1024
1165
|
}
|
|
1025
1166
|
|
|
1167
|
+
var EIP712_DOMAIN_NAME = 'UniversalRouter';
|
|
1168
|
+
var EIP712_DOMAIN_VERSION = '2';
|
|
1169
|
+
var EXECUTE_SIGNED_TYPES = {
|
|
1170
|
+
ExecuteSigned: [{
|
|
1171
|
+
name: 'commands',
|
|
1172
|
+
type: 'bytes'
|
|
1173
|
+
}, {
|
|
1174
|
+
name: 'inputs',
|
|
1175
|
+
type: 'bytes[]'
|
|
1176
|
+
}, {
|
|
1177
|
+
name: 'intent',
|
|
1178
|
+
type: 'bytes32'
|
|
1179
|
+
}, {
|
|
1180
|
+
name: 'data',
|
|
1181
|
+
type: 'bytes32'
|
|
1182
|
+
}, {
|
|
1183
|
+
name: 'sender',
|
|
1184
|
+
type: 'address'
|
|
1185
|
+
}, {
|
|
1186
|
+
name: 'nonce',
|
|
1187
|
+
type: 'bytes32'
|
|
1188
|
+
}, {
|
|
1189
|
+
name: 'deadline',
|
|
1190
|
+
type: 'uint256'
|
|
1191
|
+
}]
|
|
1192
|
+
};
|
|
1193
|
+
/**
|
|
1194
|
+
* Generate EIP712 domain for Universal Router
|
|
1195
|
+
*/
|
|
1196
|
+
function getUniversalRouterDomain(chainId, verifyingContract) {
|
|
1197
|
+
return {
|
|
1198
|
+
name: EIP712_DOMAIN_NAME,
|
|
1199
|
+
version: EIP712_DOMAIN_VERSION,
|
|
1200
|
+
chainId: chainId,
|
|
1201
|
+
verifyingContract: verifyingContract
|
|
1202
|
+
};
|
|
1203
|
+
}
|
|
1204
|
+
/**
|
|
1205
|
+
* Generate a random nonce for signed execution
|
|
1206
|
+
* Uses ethers.utils.randomBytes for secure randomness
|
|
1207
|
+
*/
|
|
1208
|
+
function generateNonce() {
|
|
1209
|
+
var randomBytes = ethers.utils.randomBytes(32);
|
|
1210
|
+
return ethers.utils.hexlify(randomBytes);
|
|
1211
|
+
}
|
|
1212
|
+
/**
|
|
1213
|
+
* Sentinel value to skip nonce checking (allows signature replay)
|
|
1214
|
+
*/
|
|
1215
|
+
var NONCE_SKIP_CHECK = '0x' + /*#__PURE__*/'f'.repeat(64); // bytes32(type(uint256).max)
|
|
1216
|
+
|
|
1026
1217
|
function isMint(options) {
|
|
1027
1218
|
return Object.keys(options).some(function (k) {
|
|
1028
1219
|
return k === 'recipient';
|
|
@@ -1030,7 +1221,8 @@ function isMint(options) {
|
|
|
1030
1221
|
}
|
|
1031
1222
|
var SwapRouter = /*#__PURE__*/function () {
|
|
1032
1223
|
function SwapRouter() {}
|
|
1033
|
-
SwapRouter.swapCallParameters = function swapCallParameters(trades, options
|
|
1224
|
+
SwapRouter.swapCallParameters = function swapCallParameters(trades, options, bridgeOptions // Optional bridge parameters
|
|
1225
|
+
) {
|
|
1034
1226
|
// TODO: use permit if signature included in swapOptions
|
|
1035
1227
|
var planner = new RoutePlanner();
|
|
1036
1228
|
var trade = new UniswapTrade(trades, options);
|
|
@@ -1043,6 +1235,13 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1043
1235
|
trade.encode(planner, {
|
|
1044
1236
|
allowRevert: false
|
|
1045
1237
|
});
|
|
1238
|
+
// Add bridge commands if provided
|
|
1239
|
+
if (bridgeOptions) {
|
|
1240
|
+
for (var _iterator = _createForOfIteratorHelperLoose(bridgeOptions), _step; !(_step = _iterator()).done;) {
|
|
1241
|
+
var bridge = _step.value;
|
|
1242
|
+
planner.addAcrossBridge(bridge);
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1046
1245
|
return SwapRouter.encodePlan(planner, nativeCurrencyValue, {
|
|
1047
1246
|
deadline: options.deadlineOrPreviousBlockhash ? BigNumber.from(options.deadlineOrPreviousBlockhash) : undefined
|
|
1048
1247
|
});
|
|
@@ -1094,8 +1293,8 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1094
1293
|
// encode v3 withdraw
|
|
1095
1294
|
var v3RemoveParams = NonfungiblePositionManager.removeCallParameters(options.inputPosition, options.v3RemoveLiquidityOptions);
|
|
1096
1295
|
var v3Calls = Multicall.decodeMulticall(v3RemoveParams.calldata);
|
|
1097
|
-
for (var
|
|
1098
|
-
var v3Call =
|
|
1296
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(v3Calls), _step2; !(_step2 = _iterator2()).done;) {
|
|
1297
|
+
var v3Call = _step2.value;
|
|
1099
1298
|
// slice selector - 0x + 4 bytes = 10 characters
|
|
1100
1299
|
var _selector = v3Call.slice(0, 10);
|
|
1101
1300
|
!(_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 +1310,96 @@ var SwapRouter = /*#__PURE__*/function () {
|
|
|
1111
1310
|
deadline: BigNumber.from(options.v4AddLiquidityOptions.deadline)
|
|
1112
1311
|
});
|
|
1113
1312
|
}
|
|
1313
|
+
/**
|
|
1314
|
+
* Generate EIP712 payload for signed execution (no signing performed)
|
|
1315
|
+
* Decodes existing execute() calldata and prepares it for signing
|
|
1316
|
+
*
|
|
1317
|
+
* @param calldata The calldata from swapCallParameters() or similar
|
|
1318
|
+
* @param signedOptions Options for signed execution (intent, data, sender, nonce)
|
|
1319
|
+
* @param deadline The deadline timestamp
|
|
1320
|
+
* @param chainId The chain ID
|
|
1321
|
+
* @param routerAddress The Universal Router contract address
|
|
1322
|
+
* @returns EIP712 payload ready to be signed externally
|
|
1323
|
+
*/;
|
|
1324
|
+
SwapRouter.getExecuteSignedPayload = function getExecuteSignedPayload(calldata, signedOptions, deadline, chainId, routerAddress) {
|
|
1325
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1326
|
+
// Try to decode with deadline first, then without
|
|
1327
|
+
var decoded;
|
|
1328
|
+
var commands;
|
|
1329
|
+
var inputs;
|
|
1330
|
+
try {
|
|
1331
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1332
|
+
commands = decoded.commands;
|
|
1333
|
+
inputs = decoded.inputs;
|
|
1334
|
+
} catch (e) {
|
|
1335
|
+
// Try without deadline
|
|
1336
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1337
|
+
commands = decoded.commands;
|
|
1338
|
+
inputs = decoded.inputs;
|
|
1339
|
+
}
|
|
1340
|
+
// Use provided nonce or generate random one
|
|
1341
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1342
|
+
// sender is provided directly (address(0) = skip verification)
|
|
1343
|
+
var sender = signedOptions.sender;
|
|
1344
|
+
var domain = getUniversalRouterDomain(chainId, routerAddress);
|
|
1345
|
+
var intent = signedOptions.intent;
|
|
1346
|
+
var data = signedOptions.data;
|
|
1347
|
+
deadline = BigNumber.from(deadline).toString();
|
|
1348
|
+
var value = {
|
|
1349
|
+
commands: commands,
|
|
1350
|
+
inputs: inputs,
|
|
1351
|
+
intent: intent,
|
|
1352
|
+
data: data,
|
|
1353
|
+
sender: sender,
|
|
1354
|
+
nonce: nonce,
|
|
1355
|
+
deadline: deadline
|
|
1356
|
+
};
|
|
1357
|
+
return {
|
|
1358
|
+
domain: domain,
|
|
1359
|
+
types: EXECUTE_SIGNED_TYPES,
|
|
1360
|
+
value: value
|
|
1361
|
+
};
|
|
1362
|
+
}
|
|
1363
|
+
/**
|
|
1364
|
+
* Encode executeSigned() call with signature
|
|
1365
|
+
*
|
|
1366
|
+
* @param calldata The original calldata from swapCallParameters()
|
|
1367
|
+
* @param signature The signature obtained from external signing
|
|
1368
|
+
* @param signedOptions The same options used in getExecuteSignedPayload()
|
|
1369
|
+
* @param deadline The deadline timestamp
|
|
1370
|
+
* @param nativeCurrencyValue The native currency value (ETH) to send
|
|
1371
|
+
* @returns Method parameters for executeSigned()
|
|
1372
|
+
*/;
|
|
1373
|
+
SwapRouter.encodeExecuteSigned = function encodeExecuteSigned(calldata, signature, signedOptions, deadline, nativeCurrencyValue) {
|
|
1374
|
+
if (nativeCurrencyValue === void 0) {
|
|
1375
|
+
nativeCurrencyValue = BigNumber.from(0);
|
|
1376
|
+
}
|
|
1377
|
+
// Decode the execute() calldata to extract commands and inputs
|
|
1378
|
+
// Try to decode with deadline first, then without
|
|
1379
|
+
var decoded;
|
|
1380
|
+
var commands;
|
|
1381
|
+
var inputs;
|
|
1382
|
+
try {
|
|
1383
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[],uint256)', calldata);
|
|
1384
|
+
commands = decoded.commands;
|
|
1385
|
+
inputs = decoded.inputs;
|
|
1386
|
+
} catch (e) {
|
|
1387
|
+
// Try without deadline
|
|
1388
|
+
decoded = SwapRouter.INTERFACE.decodeFunctionData('execute(bytes,bytes[])', calldata);
|
|
1389
|
+
commands = decoded.commands;
|
|
1390
|
+
inputs = decoded.inputs;
|
|
1391
|
+
}
|
|
1392
|
+
// Use provided nonce (must match what was signed)
|
|
1393
|
+
var nonce = signedOptions.nonce || generateNonce();
|
|
1394
|
+
// Determine verifySender based on sender address
|
|
1395
|
+
var verifySender = signedOptions.sender !== '0x0000000000000000000000000000000000000000';
|
|
1396
|
+
// Encode executeSigned function call using the Universal Router v2.1 ABI
|
|
1397
|
+
var signedCalldata = SwapRouter.INTERFACE.encodeFunctionData('executeSigned', [commands, inputs, signedOptions.intent, signedOptions.data, verifySender, nonce, signature, deadline]);
|
|
1398
|
+
return {
|
|
1399
|
+
calldata: signedCalldata,
|
|
1400
|
+
value: nativeCurrencyValue.toHexString()
|
|
1401
|
+
};
|
|
1402
|
+
}
|
|
1114
1403
|
/**
|
|
1115
1404
|
* Encodes a planned route into a method name and parameters for the Router contract.
|
|
1116
1405
|
* @param planner the planned route
|
|
@@ -1451,5 +1740,5 @@ function v4RouterCallToParams(actions) {
|
|
|
1451
1740
|
});
|
|
1452
1741
|
}
|
|
1453
1742
|
|
|
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 };
|
|
1743
|
+
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
1744
|
//# sourceMappingURL=universal-router-sdk.esm.js.map
|