@uniswap/universal-router-sdk 4.19.2 → 4.19.4

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.
Files changed (118) hide show
  1. package/dist/{cjs/src/entities → entities}/Command.d.ts +12 -12
  2. package/dist/{types/src/entities → entities}/actions/index.d.ts +2 -2
  3. package/dist/{cjs/src/entities → entities}/actions/uniswap.d.ts +30 -30
  4. package/dist/{esm/src/entities → entities}/actions/unwrapWETH.d.ts +12 -12
  5. package/dist/{cjs/src/entities → entities}/index.d.ts +2 -2
  6. package/dist/{esm/src/index.d.ts → index.d.ts} +10 -9
  7. package/dist/index.js +8 -0
  8. package/dist/{esm/src/swapRouter.d.ts → swapRouter.d.ts} +37 -37
  9. package/dist/test/forge/writeInterop.d.ts +2 -0
  10. package/dist/test/utils/addresses.d.ts +5 -0
  11. package/dist/test/utils/hexToDecimalString.d.ts +2 -0
  12. package/dist/test/utils/permit2.d.ts +7 -0
  13. package/dist/test/utils/uniswapData.d.ts +24 -0
  14. package/dist/universal-router-sdk.cjs.development.js +1424 -0
  15. package/dist/universal-router-sdk.cjs.development.js.map +1 -0
  16. package/dist/universal-router-sdk.cjs.production.min.js +2 -0
  17. package/dist/universal-router-sdk.cjs.production.min.js.map +1 -0
  18. package/dist/universal-router-sdk.esm.js +1417 -0
  19. package/dist/universal-router-sdk.esm.js.map +1 -0
  20. package/dist/{esm/src/utils → utils}/commandParser.d.ts +34 -34
  21. package/dist/{types/src/utils → utils}/constants.d.ts +30 -30
  22. package/dist/{cjs/src/utils → utils}/getCurrencyAddress.d.ts +2 -2
  23. package/dist/{types/src/utils → utils}/inputTokens.d.ts +23 -23
  24. package/dist/{cjs/src/utils → utils}/numbers.d.ts +6 -6
  25. package/dist/{types/src/utils → utils}/pathCurrency.d.ts +3 -3
  26. package/dist/{cjs/src/utils → utils}/routerCommands.d.ts +64 -64
  27. package/dist/{types/src/utils → utils}/routerTradeAdapter.d.ts +73 -73
  28. package/package.json +10 -21
  29. package/dist/cjs/src/entities/Command.js +0 -9
  30. package/dist/cjs/src/entities/Command.js.map +0 -1
  31. package/dist/cjs/src/entities/actions/index.d.ts +0 -2
  32. package/dist/cjs/src/entities/actions/index.js +0 -6
  33. package/dist/cjs/src/entities/actions/index.js.map +0 -1
  34. package/dist/cjs/src/entities/actions/uniswap.js +0 -365
  35. package/dist/cjs/src/entities/actions/uniswap.js.map +0 -1
  36. package/dist/cjs/src/entities/actions/unwrapWETH.d.ts +0 -12
  37. package/dist/cjs/src/entities/actions/unwrapWETH.js +0 -33
  38. package/dist/cjs/src/entities/actions/unwrapWETH.js.map +0 -1
  39. package/dist/cjs/src/entities/index.js +0 -6
  40. package/dist/cjs/src/entities/index.js.map +0 -1
  41. package/dist/cjs/src/index.d.ts +0 -9
  42. package/dist/cjs/src/index.js +0 -24
  43. package/dist/cjs/src/index.js.map +0 -1
  44. package/dist/cjs/src/swapRouter.d.ts +0 -37
  45. package/dist/cjs/src/swapRouter.js +0 -120
  46. package/dist/cjs/src/swapRouter.js.map +0 -1
  47. package/dist/cjs/src/utils/commandParser.d.ts +0 -34
  48. package/dist/cjs/src/utils/commandParser.js +0 -144
  49. package/dist/cjs/src/utils/commandParser.js.map +0 -1
  50. package/dist/cjs/src/utils/constants.d.ts +0 -30
  51. package/dist/cjs/src/utils/constants.js +0 -373
  52. package/dist/cjs/src/utils/constants.js.map +0 -1
  53. package/dist/cjs/src/utils/getCurrencyAddress.js +0 -9
  54. package/dist/cjs/src/utils/getCurrencyAddress.js.map +0 -1
  55. package/dist/cjs/src/utils/inputTokens.d.ts +0 -23
  56. package/dist/cjs/src/utils/inputTokens.js +0 -58
  57. package/dist/cjs/src/utils/inputTokens.js.map +0 -1
  58. package/dist/cjs/src/utils/numbers.js +0 -22
  59. package/dist/cjs/src/utils/numbers.js.map +0 -1
  60. package/dist/cjs/src/utils/pathCurrency.d.ts +0 -3
  61. package/dist/cjs/src/utils/pathCurrency.js +0 -27
  62. package/dist/cjs/src/utils/pathCurrency.js.map +0 -1
  63. package/dist/cjs/src/utils/routerCommands.js +0 -231
  64. package/dist/cjs/src/utils/routerCommands.js.map +0 -1
  65. package/dist/cjs/src/utils/routerTradeAdapter.d.ts +0 -73
  66. package/dist/cjs/src/utils/routerTradeAdapter.js +0 -139
  67. package/dist/cjs/src/utils/routerTradeAdapter.js.map +0 -1
  68. package/dist/esm/src/entities/Command.d.ts +0 -12
  69. package/dist/esm/src/entities/Command.js +0 -6
  70. package/dist/esm/src/entities/Command.js.map +0 -1
  71. package/dist/esm/src/entities/actions/index.d.ts +0 -2
  72. package/dist/esm/src/entities/actions/index.js +0 -3
  73. package/dist/esm/src/entities/actions/index.js.map +0 -1
  74. package/dist/esm/src/entities/actions/uniswap.d.ts +0 -30
  75. package/dist/esm/src/entities/actions/uniswap.js +0 -361
  76. package/dist/esm/src/entities/actions/uniswap.js.map +0 -1
  77. package/dist/esm/src/entities/actions/unwrapWETH.js +0 -28
  78. package/dist/esm/src/entities/actions/unwrapWETH.js.map +0 -1
  79. package/dist/esm/src/entities/index.d.ts +0 -2
  80. package/dist/esm/src/entities/index.js +0 -3
  81. package/dist/esm/src/entities/index.js.map +0 -1
  82. package/dist/esm/src/index.js +0 -7
  83. package/dist/esm/src/index.js.map +0 -1
  84. package/dist/esm/src/swapRouter.js +0 -115
  85. package/dist/esm/src/swapRouter.js.map +0 -1
  86. package/dist/esm/src/utils/commandParser.js +0 -137
  87. package/dist/esm/src/utils/commandParser.js.map +0 -1
  88. package/dist/esm/src/utils/constants.d.ts +0 -30
  89. package/dist/esm/src/utils/constants.js +0 -367
  90. package/dist/esm/src/utils/constants.js.map +0 -1
  91. package/dist/esm/src/utils/getCurrencyAddress.d.ts +0 -2
  92. package/dist/esm/src/utils/getCurrencyAddress.js +0 -5
  93. package/dist/esm/src/utils/getCurrencyAddress.js.map +0 -1
  94. package/dist/esm/src/utils/inputTokens.d.ts +0 -23
  95. package/dist/esm/src/utils/inputTokens.js +0 -51
  96. package/dist/esm/src/utils/inputTokens.js.map +0 -1
  97. package/dist/esm/src/utils/numbers.d.ts +0 -6
  98. package/dist/esm/src/utils/numbers.js +0 -15
  99. package/dist/esm/src/utils/numbers.js.map +0 -1
  100. package/dist/esm/src/utils/pathCurrency.d.ts +0 -3
  101. package/dist/esm/src/utils/pathCurrency.js +0 -23
  102. package/dist/esm/src/utils/pathCurrency.js.map +0 -1
  103. package/dist/esm/src/utils/routerCommands.d.ts +0 -64
  104. package/dist/esm/src/utils/routerCommands.js +0 -226
  105. package/dist/esm/src/utils/routerCommands.js.map +0 -1
  106. package/dist/esm/src/utils/routerTradeAdapter.d.ts +0 -73
  107. package/dist/esm/src/utils/routerTradeAdapter.js +0 -134
  108. package/dist/esm/src/utils/routerTradeAdapter.js.map +0 -1
  109. package/dist/types/src/entities/Command.d.ts +0 -12
  110. package/dist/types/src/entities/actions/uniswap.d.ts +0 -30
  111. package/dist/types/src/entities/actions/unwrapWETH.d.ts +0 -12
  112. package/dist/types/src/entities/index.d.ts +0 -2
  113. package/dist/types/src/index.d.ts +0 -9
  114. package/dist/types/src/swapRouter.d.ts +0 -37
  115. package/dist/types/src/utils/commandParser.d.ts +0 -34
  116. package/dist/types/src/utils/getCurrencyAddress.d.ts +0 -2
  117. package/dist/types/src/utils/numbers.d.ts +0 -6
  118. package/dist/types/src/utils/routerCommands.d.ts +0 -64
@@ -1,137 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { abi } from '@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json';
3
- import { Interface } from '@ethersproject/abi';
4
- import { V4BaseActionsParser } from '@uniswap/v4-sdk';
5
- import { CommandType, COMMAND_DEFINITION, Subparser, Parser } from '../utils/routerCommands';
6
- // Parses UniversalRouter V2 commands
7
- export class CommandParser {
8
- static parseCalldata(calldata) {
9
- const genericParser = new GenericCommandParser(COMMAND_DEFINITION);
10
- const txDescription = CommandParser.INTERFACE.parseTransaction({ data: calldata });
11
- const { commands, inputs } = txDescription.args;
12
- return genericParser.parse(commands, inputs);
13
- }
14
- }
15
- CommandParser.INTERFACE = new Interface(abi);
16
- // Parses commands based on given command definition
17
- export class GenericCommandParser {
18
- constructor(commandDefinition) {
19
- this.commandDefinition = commandDefinition;
20
- }
21
- parse(commands, inputs) {
22
- const commandTypes = GenericCommandParser.getCommands(commands);
23
- return {
24
- commands: commandTypes.map((commandType, i) => {
25
- const commandDef = this.commandDefinition[commandType];
26
- if (commandDef.parser === Parser.V4Actions) {
27
- const { actions } = V4BaseActionsParser.parseCalldata(inputs[i]);
28
- return {
29
- commandName: CommandType[commandType],
30
- commandType,
31
- params: v4RouterCallToParams(actions),
32
- };
33
- }
34
- else if (commandDef.parser === Parser.Abi) {
35
- const abiDef = commandDef.params;
36
- const rawParams = ethers.utils.defaultAbiCoder.decode(abiDef.map((command) => command.type), inputs[i]);
37
- const params = rawParams.map((param, j) => {
38
- switch (abiDef[j].subparser) {
39
- case Subparser.V3PathExactIn:
40
- return {
41
- name: abiDef[j].name,
42
- value: parseV3PathExactIn(param),
43
- };
44
- case Subparser.V3PathExactOut:
45
- return {
46
- name: abiDef[j].name,
47
- value: parseV3PathExactOut(param),
48
- };
49
- default:
50
- return {
51
- name: abiDef[j].name,
52
- value: param,
53
- };
54
- }
55
- });
56
- return {
57
- commandName: CommandType[commandType],
58
- commandType,
59
- params,
60
- };
61
- }
62
- else if (commandDef.parser === Parser.V3Actions) {
63
- // TODO: implement better parsing here
64
- return {
65
- commandName: CommandType[commandType],
66
- commandType,
67
- params: inputs.map((input) => ({ name: 'command', value: input })),
68
- };
69
- }
70
- else {
71
- throw new Error(`Unsupported parser: ${commandDef}`);
72
- }
73
- }),
74
- };
75
- }
76
- // parse command types from bytes string
77
- static getCommands(commands) {
78
- const commandTypes = [];
79
- for (let i = 2; i < commands.length; i += 2) {
80
- const byte = commands.substring(i, i + 2);
81
- commandTypes.push(parseInt(byte, 16));
82
- }
83
- return commandTypes;
84
- }
85
- }
86
- export function parseV3PathExactIn(path) {
87
- const strippedPath = path.replace('0x', '');
88
- let tokenIn = ethers.utils.getAddress(strippedPath.substring(0, 40));
89
- let loc = 40;
90
- const res = [];
91
- while (loc < strippedPath.length) {
92
- const feeAndTokenOut = strippedPath.substring(loc, loc + 46);
93
- const fee = parseInt(feeAndTokenOut.substring(0, 6), 16);
94
- const tokenOut = ethers.utils.getAddress(feeAndTokenOut.substring(6, 46));
95
- res.push({
96
- tokenIn,
97
- tokenOut,
98
- fee,
99
- });
100
- tokenIn = tokenOut;
101
- loc += 46;
102
- }
103
- return res;
104
- }
105
- export function parseV3PathExactOut(path) {
106
- const strippedPath = path.replace('0x', '');
107
- let tokenIn = ethers.utils.getAddress(strippedPath.substring(strippedPath.length - 40));
108
- let loc = strippedPath.length - 86; // 86 = (20 addr + 3 fee + 20 addr) * 2 (for hex characters)
109
- const res = [];
110
- while (loc >= 0) {
111
- const feeAndTokenOut = strippedPath.substring(loc, loc + 46);
112
- const tokenOut = ethers.utils.getAddress(feeAndTokenOut.substring(0, 40));
113
- const fee = parseInt(feeAndTokenOut.substring(40, 46), 16);
114
- res.push({
115
- tokenIn,
116
- tokenOut,
117
- fee,
118
- });
119
- tokenIn = tokenOut;
120
- loc -= 46;
121
- }
122
- return res;
123
- }
124
- function v4RouterCallToParams(actions) {
125
- return actions.map((action) => {
126
- return {
127
- name: action.actionName,
128
- value: action.params.map((param) => {
129
- return {
130
- name: param.name,
131
- value: param.value,
132
- };
133
- }),
134
- };
135
- });
136
- }
137
- //# sourceMappingURL=commandParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandParser.js","sourceRoot":"","sources":["../../../../src/utils/commandParser.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- export declare enum UniversalRouterVersion {
3
- V1_2 = "1.2",
4
- V2_0 = "2.0"
5
- }
6
- export type RouterConfig = {
7
- address: string;
8
- creationBlock: number;
9
- };
10
- type ChainConfig = {
11
- weth: string;
12
- routerConfigs: {
13
- [key in UniversalRouterVersion]: RouterConfig;
14
- };
15
- };
16
- export declare const CHAIN_CONFIGS: {
17
- [key: number]: ChainConfig;
18
- };
19
- export declare const UNIVERSAL_ROUTER_ADDRESS: (version: UniversalRouterVersion, chainId: number) => string;
20
- export declare const UNIVERSAL_ROUTER_CREATION_BLOCK: (version: UniversalRouterVersion, chainId: number) => number;
21
- export declare const WETH_ADDRESS: (chainId: number) => string;
22
- export declare const CONTRACT_BALANCE: BigNumber;
23
- export declare const ETH_ADDRESS = "0x0000000000000000000000000000000000000000";
24
- export declare const E_ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
25
- export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
26
- export declare const MAX_UINT256: BigNumber;
27
- export declare const MAX_UINT160: BigNumber;
28
- export declare const SENDER_AS_RECIPIENT = "0x0000000000000000000000000000000000000001";
29
- export declare const ROUTER_AS_RECIPIENT = "0x0000000000000000000000000000000000000002";
30
- export {};
@@ -1,367 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- export var UniversalRouterVersion;
3
- (function (UniversalRouterVersion) {
4
- UniversalRouterVersion["V1_2"] = "1.2";
5
- UniversalRouterVersion["V2_0"] = "2.0";
6
- })(UniversalRouterVersion || (UniversalRouterVersion = {}));
7
- const WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
8
- // Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
9
- export const CHAIN_CONFIGS = {
10
- // mainnet
11
- [1]: {
12
- weth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
13
- routerConfigs: {
14
- [UniversalRouterVersion.V1_2]: {
15
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
16
- creationBlock: 17143817,
17
- },
18
- [UniversalRouterVersion.V2_0]: {
19
- address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
20
- creationBlock: 1737658355,
21
- },
22
- },
23
- },
24
- // goerli
25
- [5]: {
26
- weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
27
- routerConfigs: {
28
- [UniversalRouterVersion.V1_2]: {
29
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
30
- creationBlock: 8940568,
31
- },
32
- [UniversalRouterVersion.V2_0]: {
33
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
34
- creationBlock: 8940568,
35
- },
36
- },
37
- },
38
- // sepolia
39
- [11155111]: {
40
- weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
41
- routerConfigs: {
42
- [UniversalRouterVersion.V1_2]: {
43
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
44
- creationBlock: 3543575,
45
- },
46
- [UniversalRouterVersion.V2_0]: {
47
- address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
48
- creationBlock: 7259601,
49
- },
50
- },
51
- },
52
- // polygon
53
- [137]: {
54
- weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
55
- routerConfigs: {
56
- [UniversalRouterVersion.V1_2]: {
57
- address: '0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2',
58
- creationBlock: 52210153,
59
- },
60
- [UniversalRouterVersion.V2_0]: {
61
- address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
62
- creationBlock: 1737492197,
63
- },
64
- },
65
- },
66
- //polygon mumbai
67
- [80001]: {
68
- weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
69
- routerConfigs: {
70
- [UniversalRouterVersion.V1_2]: {
71
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
72
- creationBlock: 35176052,
73
- },
74
- [UniversalRouterVersion.V2_0]: {
75
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
76
- creationBlock: 35176052,
77
- },
78
- },
79
- },
80
- //optimism
81
- [10]: {
82
- weth: '0x4200000000000000000000000000000000000006',
83
- routerConfigs: {
84
- [UniversalRouterVersion.V1_2]: {
85
- address: '0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8',
86
- creationBlock: 114702266,
87
- },
88
- [UniversalRouterVersion.V2_0]: {
89
- address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
90
- creationBlock: 1737494278,
91
- },
92
- },
93
- },
94
- // optimism goerli
95
- [420]: {
96
- weth: '0x4200000000000000000000000000000000000006',
97
- routerConfigs: {
98
- [UniversalRouterVersion.V1_2]: {
99
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
100
- creationBlock: 8887728,
101
- },
102
- [UniversalRouterVersion.V2_0]: {
103
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
104
- creationBlock: 8887728,
105
- },
106
- },
107
- },
108
- // arbitrum
109
- [42161]: {
110
- weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
111
- routerConfigs: {
112
- [UniversalRouterVersion.V1_2]: {
113
- address: '0x5E325eDA8064b456f4781070C0738d849c824258',
114
- creationBlock: 169472836,
115
- },
116
- [UniversalRouterVersion.V2_0]: {
117
- address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
118
- creationBlock: 1737487458,
119
- },
120
- },
121
- },
122
- // arbitrum goerli
123
- [421613]: {
124
- weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
125
- routerConfigs: {
126
- [UniversalRouterVersion.V1_2]: {
127
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
128
- creationBlock: 18815277,
129
- },
130
- [UniversalRouterVersion.V2_0]: {
131
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
132
- creationBlock: 18815277,
133
- },
134
- },
135
- },
136
- // celo
137
- [42220]: {
138
- weth: WETH_NOT_SUPPORTED_ON_CHAIN,
139
- routerConfigs: {
140
- [UniversalRouterVersion.V1_2]: {
141
- address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
142
- creationBlock: 21407637,
143
- },
144
- [UniversalRouterVersion.V2_0]: {
145
- address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
146
- creationBlock: 21407637,
147
- },
148
- },
149
- },
150
- // celo alfajores
151
- [44787]: {
152
- weth: WETH_NOT_SUPPORTED_ON_CHAIN,
153
- routerConfigs: {
154
- [UniversalRouterVersion.V1_2]: {
155
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
156
- creationBlock: 17566658,
157
- },
158
- [UniversalRouterVersion.V2_0]: {
159
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
160
- creationBlock: 17566658,
161
- },
162
- },
163
- },
164
- // binance smart chain
165
- [56]: {
166
- weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
167
- routerConfigs: {
168
- [UniversalRouterVersion.V1_2]: {
169
- address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
170
- creationBlock: 35160263,
171
- },
172
- [UniversalRouterVersion.V2_0]: {
173
- address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
174
- creationBlock: 1737493275,
175
- },
176
- },
177
- },
178
- // avalanche
179
- [43114]: {
180
- weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
181
- routerConfigs: {
182
- [UniversalRouterVersion.V1_2]: {
183
- address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
184
- creationBlock: 40237257,
185
- },
186
- [UniversalRouterVersion.V2_0]: {
187
- address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
188
- creationBlock: 1737558236,
189
- },
190
- },
191
- },
192
- // base goerli
193
- [84531]: {
194
- weth: '0x4200000000000000000000000000000000000006',
195
- routerConfigs: {
196
- [UniversalRouterVersion.V1_2]: {
197
- address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
198
- creationBlock: 6915289,
199
- },
200
- [UniversalRouterVersion.V2_0]: {
201
- address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
202
- creationBlock: 6915289,
203
- },
204
- },
205
- },
206
- // base mainnet
207
- [8453]: {
208
- weth: '0x4200000000000000000000000000000000000006',
209
- routerConfigs: {
210
- [UniversalRouterVersion.V1_2]: {
211
- address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
212
- creationBlock: 9107268,
213
- },
214
- [UniversalRouterVersion.V2_0]: {
215
- address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
216
- creationBlock: 1737491485,
217
- },
218
- },
219
- },
220
- // blast
221
- [81457]: {
222
- weth: '0x4300000000000000000000000000000000000004',
223
- routerConfigs: {
224
- [UniversalRouterVersion.V1_2]: {
225
- address: '0x643770E279d5D0733F21d6DC03A8efbABf3255B4',
226
- creationBlock: 1116444,
227
- },
228
- [UniversalRouterVersion.V2_0]: {
229
- address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
230
- creationBlock: 1737564586,
231
- },
232
- },
233
- },
234
- // zora
235
- [7777777]: {
236
- weth: '0x4200000000000000000000000000000000000006',
237
- routerConfigs: {
238
- [UniversalRouterVersion.V1_2]: {
239
- address: '0x2986d9721A49838ab4297b695858aF7F17f38014',
240
- creationBlock: 11832155,
241
- },
242
- [UniversalRouterVersion.V2_0]: {
243
- address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
244
- creationBlock: 1737562927,
245
- },
246
- },
247
- },
248
- [324]: {
249
- weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
250
- routerConfigs: {
251
- [UniversalRouterVersion.V1_2]: {
252
- address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
253
- creationBlock: 12640979,
254
- },
255
- [UniversalRouterVersion.V2_0]: {
256
- address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
257
- creationBlock: 12640979,
258
- },
259
- },
260
- },
261
- // worldchain
262
- [480]: {
263
- weth: '0x4200000000000000000000000000000000000006',
264
- routerConfigs: {
265
- [UniversalRouterVersion.V1_2]: {
266
- address: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
267
- creationBlock: 4063979,
268
- },
269
- [UniversalRouterVersion.V2_0]: {
270
- address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
271
- creationBlock: 1737559557,
272
- },
273
- },
274
- },
275
- [1301]: {
276
- weth: '0x4200000000000000000000000000000000000006',
277
- routerConfigs: {
278
- [UniversalRouterVersion.V1_2]: {
279
- address: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
280
- creationBlock: 1241811,
281
- },
282
- [UniversalRouterVersion.V2_0]: {
283
- address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
284
- creationBlock: 7100543,
285
- },
286
- },
287
- },
288
- // unichain mainnet
289
- [130]: {
290
- weth: '0x4200000000000000000000000000000000000006',
291
- routerConfigs: {
292
- [UniversalRouterVersion.V1_2]: {
293
- address: '0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17',
294
- creationBlock: 23678,
295
- },
296
- [UniversalRouterVersion.V2_0]: {
297
- address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
298
- creationBlock: 1737568156,
299
- },
300
- },
301
- },
302
- [10143]: {
303
- weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
304
- routerConfigs: {
305
- [UniversalRouterVersion.V1_2]: {
306
- address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
307
- creationBlock: 23678,
308
- },
309
- [UniversalRouterVersion.V2_0]: {
310
- address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
311
- creationBlock: 23678,
312
- },
313
- },
314
- },
315
- [84532]: {
316
- weth: '0x4200000000000000000000000000000000000006',
317
- routerConfigs: {
318
- [UniversalRouterVersion.V1_2]: {
319
- address: '0x492e6456d9528771018deb9e87ef7750ef184104',
320
- creationBlock: 20216585,
321
- },
322
- [UniversalRouterVersion.V2_0]: {
323
- address: '0x492e6456d9528771018deb9e87ef7750ef184104',
324
- creationBlock: 20216585,
325
- },
326
- },
327
- },
328
- [1868]: {
329
- weth: '0x4200000000000000000000000000000000000006',
330
- routerConfigs: {
331
- [UniversalRouterVersion.V1_2]: {
332
- address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
333
- creationBlock: 3254782,
334
- },
335
- [UniversalRouterVersion.V2_0]: {
336
- address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
337
- creationBlock: 3254782,
338
- },
339
- },
340
- },
341
- };
342
- export const UNIVERSAL_ROUTER_ADDRESS = (version, chainId) => {
343
- if (!(chainId in CHAIN_CONFIGS))
344
- throw new Error(`Universal Router not deployed on chain ${chainId}`);
345
- return CHAIN_CONFIGS[chainId].routerConfigs[version].address;
346
- };
347
- export const UNIVERSAL_ROUTER_CREATION_BLOCK = (version, chainId) => {
348
- if (!(chainId in CHAIN_CONFIGS))
349
- throw new Error(`Universal Router not deployed on chain ${chainId}`);
350
- return CHAIN_CONFIGS[chainId].routerConfigs[version].creationBlock;
351
- };
352
- export const WETH_ADDRESS = (chainId) => {
353
- if (!(chainId in CHAIN_CONFIGS))
354
- throw new Error(`Universal Router not deployed on chain ${chainId}`);
355
- if (CHAIN_CONFIGS[chainId].weth == WETH_NOT_SUPPORTED_ON_CHAIN)
356
- throw new Error(`Chain ${chainId} does not have WETH`);
357
- return CHAIN_CONFIGS[chainId].weth;
358
- };
359
- export const CONTRACT_BALANCE = BigNumber.from(2).pow(255);
360
- export const ETH_ADDRESS = '0x0000000000000000000000000000000000000000';
361
- export const E_ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
362
- export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
363
- export const MAX_UINT256 = BigNumber.from(2).pow(256).sub(1);
364
- export const MAX_UINT160 = BigNumber.from(2).pow(160).sub(1);
365
- export const SENDER_AS_RECIPIENT = '0x0000000000000000000000000000000000000001';
366
- export const ROUTER_AS_RECIPIENT = '0x0000000000000000000000000000000000000002';
367
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Currency } from '@uniswap/sdk-core';
2
- export declare function getCurrencyAddress(currency: Currency): string;
@@ -1,5 +0,0 @@
1
- import { ETH_ADDRESS } from './constants';
2
- export function getCurrencyAddress(currency) {
3
- return currency.isNative ? ETH_ADDRESS : currency.wrapped.address;
4
- }
5
- //# sourceMappingURL=getCurrencyAddress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCurrencyAddress.js","sourceRoot":"","sources":["../../../../src/utils/getCurrencyAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AACnE,CAAC"}
@@ -1,23 +0,0 @@
1
- import { BigintIsh } from '@uniswap/sdk-core';
2
- import { NFTPermitOptions } from '@uniswap/v3-sdk';
3
- import { PermitSingle } from '@uniswap/permit2-sdk';
4
- import { RoutePlanner } from './routerCommands';
5
- export interface Permit2Permit extends PermitSingle {
6
- signature: string;
7
- }
8
- export type ApproveProtocol = {
9
- token: string;
10
- protocol: string;
11
- };
12
- export type Permit2TransferFrom = {
13
- token: string;
14
- amount: string;
15
- recipient?: string;
16
- };
17
- export type InputTokenOptions = {
18
- permit2Permit?: Permit2Permit;
19
- permit2TransferFrom?: Permit2TransferFrom;
20
- };
21
- export declare function encodePermit(planner: RoutePlanner, permit2: Permit2Permit): void;
22
- export declare function encodeV3PositionPermit(planner: RoutePlanner, permit: NFTPermitOptions, tokenId: BigintIsh): void;
23
- export declare function encodeInputTokenOptions(planner: RoutePlanner, options: InputTokenOptions): void;
@@ -1,51 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import { ethers } from 'ethers';
3
- import { validateAndParseAddress } from '@uniswap/sdk-core';
4
- import { NonfungiblePositionManager } from '@uniswap/v3-sdk';
5
- import { CommandType } from './routerCommands';
6
- import { ROUTER_AS_RECIPIENT } from './constants';
7
- const SIGNATURE_LENGTH = 65;
8
- const EIP_2098_SIGNATURE_LENGTH = 64;
9
- export function encodePermit(planner, permit2) {
10
- let signature = permit2.signature;
11
- const length = ethers.utils.arrayify(permit2.signature).length;
12
- // signature data provided for EIP-1271 may have length different from ECDSA signature
13
- if (length === SIGNATURE_LENGTH || length === EIP_2098_SIGNATURE_LENGTH) {
14
- // sanitizes signature to cover edge cases of malformed EIP-2098 sigs and v used as recovery id
15
- signature = ethers.utils.joinSignature(ethers.utils.splitSignature(permit2.signature));
16
- }
17
- planner.addCommand(CommandType.PERMIT2_PERMIT, [permit2, signature]);
18
- }
19
- export function encodeV3PositionPermit(planner, permit, tokenId) {
20
- const calldata = NonfungiblePositionManager.INTERFACE.encodeFunctionData('permit', [
21
- validateAndParseAddress(permit.spender),
22
- tokenId,
23
- permit.deadline,
24
- permit.v,
25
- permit.r,
26
- permit.s,
27
- ]);
28
- planner.addCommand(CommandType.V3_POSITION_MANAGER_PERMIT, [calldata]);
29
- }
30
- // Handles the encoding of commands needed to gather input tokens for a trade
31
- // Approval: The router approving another address to take tokens.
32
- // note: Only seaport and sudoswap support this action. Approvals are left open.
33
- // Permit: A Permit2 signature-based Permit to allow the router to access a user's tokens
34
- // Transfer: A Permit2 TransferFrom of tokens from a user to either the router or another address
35
- export function encodeInputTokenOptions(planner, options) {
36
- // first ensure that all tokens provided for encoding are the same
37
- if (!!options.permit2TransferFrom && !!options.permit2Permit)
38
- invariant(options.permit2TransferFrom.token === options.permit2Permit.details.token, `inconsistent token`);
39
- // if this order has a options.permit2Permit, encode it
40
- if (!!options.permit2Permit) {
41
- encodePermit(planner, options.permit2Permit);
42
- }
43
- if (!!options.permit2TransferFrom) {
44
- planner.addCommand(CommandType.PERMIT2_TRANSFER_FROM, [
45
- options.permit2TransferFrom.token,
46
- options.permit2TransferFrom.recipient ? options.permit2TransferFrom.recipient : ROUTER_AS_RECIPIENT,
47
- options.permit2TransferFrom.amount,
48
- ]);
49
- }
50
- }
51
- //# sourceMappingURL=inputTokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputTokens.js","sourceRoot":"","sources":["../../../../src/utils/inputTokens.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAa,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAoB,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAsBjD,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAC3B,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAEpC,MAAM,UAAU,YAAY,CAAC,OAAqB,EAAE,OAAsB;IACxE,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;IAC9D,sFAAsF;IACtF,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,yBAAyB,EAAE;QACvE,+FAA+F;QAC/F,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;KACvF;IAED,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAqB,EAAE,MAAwB,EAAE,OAAkB;IACxG,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE;QACjF,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,OAAO;QACP,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,CAAC;QACR,MAAM,CAAC,CAAC;QACR,MAAM,CAAC,CAAC;KACT,CAAC,CAAA;IAEF,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,6EAA6E;AAC7E,iEAAiE;AACjE,kFAAkF;AAClF,yFAAyF;AACzF,iGAAiG;AACjG,MAAM,UAAU,uBAAuB,CAAC,OAAqB,EAAE,OAA0B;IACvF,kEAAkE;IAClE,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa;QAC1D,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;IAE5G,uDAAuD;IACvD,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE;QAC3B,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAC7C;IAED,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE;QACjC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,EAAE;YACpD,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACjC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB;YACnG,OAAO,CAAC,mBAAmB,CAAC,MAAM;SACnC,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- import JSBI from 'jsbi';
3
- import { Percent } from '@uniswap/sdk-core';
4
- export declare function expandTo18DecimalsBN(n: number): BigNumber;
5
- export declare function expandTo18Decimals(n: number): JSBI;
6
- export declare function encodeFeeBips(fee: Percent): string;