@uniswap/universal-router-sdk 4.19.3 → 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 -10
  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 -10
  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 -10
  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,231 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCommand = exports.RoutePlanner = exports.COMMAND_DEFINITION = exports.Parser = exports.Subparser = exports.CommandType = void 0;
4
- const utils_1 = require("ethers/lib/utils");
5
- /**
6
- * CommandTypes
7
- * @description Flags that modify a command's execution
8
- * @enum {number}
9
- */
10
- var CommandType;
11
- (function (CommandType) {
12
- CommandType[CommandType["V3_SWAP_EXACT_IN"] = 0] = "V3_SWAP_EXACT_IN";
13
- CommandType[CommandType["V3_SWAP_EXACT_OUT"] = 1] = "V3_SWAP_EXACT_OUT";
14
- CommandType[CommandType["PERMIT2_TRANSFER_FROM"] = 2] = "PERMIT2_TRANSFER_FROM";
15
- CommandType[CommandType["PERMIT2_PERMIT_BATCH"] = 3] = "PERMIT2_PERMIT_BATCH";
16
- CommandType[CommandType["SWEEP"] = 4] = "SWEEP";
17
- CommandType[CommandType["TRANSFER"] = 5] = "TRANSFER";
18
- CommandType[CommandType["PAY_PORTION"] = 6] = "PAY_PORTION";
19
- CommandType[CommandType["V2_SWAP_EXACT_IN"] = 8] = "V2_SWAP_EXACT_IN";
20
- CommandType[CommandType["V2_SWAP_EXACT_OUT"] = 9] = "V2_SWAP_EXACT_OUT";
21
- CommandType[CommandType["PERMIT2_PERMIT"] = 10] = "PERMIT2_PERMIT";
22
- CommandType[CommandType["WRAP_ETH"] = 11] = "WRAP_ETH";
23
- CommandType[CommandType["UNWRAP_WETH"] = 12] = "UNWRAP_WETH";
24
- CommandType[CommandType["PERMIT2_TRANSFER_FROM_BATCH"] = 13] = "PERMIT2_TRANSFER_FROM_BATCH";
25
- CommandType[CommandType["BALANCE_CHECK_ERC20"] = 14] = "BALANCE_CHECK_ERC20";
26
- CommandType[CommandType["V4_SWAP"] = 16] = "V4_SWAP";
27
- CommandType[CommandType["V3_POSITION_MANAGER_PERMIT"] = 17] = "V3_POSITION_MANAGER_PERMIT";
28
- CommandType[CommandType["V3_POSITION_MANAGER_CALL"] = 18] = "V3_POSITION_MANAGER_CALL";
29
- CommandType[CommandType["V4_INITIALIZE_POOL"] = 19] = "V4_INITIALIZE_POOL";
30
- CommandType[CommandType["V4_POSITION_MANAGER_CALL"] = 20] = "V4_POSITION_MANAGER_CALL";
31
- CommandType[CommandType["EXECUTE_SUB_PLAN"] = 33] = "EXECUTE_SUB_PLAN";
32
- })(CommandType = exports.CommandType || (exports.CommandType = {}));
33
- var Subparser;
34
- (function (Subparser) {
35
- Subparser[Subparser["V3PathExactIn"] = 0] = "V3PathExactIn";
36
- Subparser[Subparser["V3PathExactOut"] = 1] = "V3PathExactOut";
37
- })(Subparser = exports.Subparser || (exports.Subparser = {}));
38
- var Parser;
39
- (function (Parser) {
40
- Parser[Parser["Abi"] = 0] = "Abi";
41
- Parser[Parser["V4Actions"] = 1] = "V4Actions";
42
- Parser[Parser["V3Actions"] = 2] = "V3Actions";
43
- })(Parser = exports.Parser || (exports.Parser = {}));
44
- const ALLOW_REVERT_FLAG = 0x80;
45
- const REVERTIBLE_COMMANDS = new Set([CommandType.EXECUTE_SUB_PLAN]);
46
- const PERMIT_STRUCT = '((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)';
47
- const PERMIT_BATCH_STRUCT = '((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)';
48
- const POOL_KEY_STRUCT = '(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks)';
49
- const PERMIT2_TRANSFER_FROM_STRUCT = '(address from,address to,uint160 amount,address token)';
50
- const PERMIT2_TRANSFER_FROM_BATCH_STRUCT = PERMIT2_TRANSFER_FROM_STRUCT + '[]';
51
- exports.COMMAND_DEFINITION = {
52
- // Batch Reverts
53
- [CommandType.EXECUTE_SUB_PLAN]: {
54
- parser: Parser.Abi,
55
- params: [
56
- { name: 'commands', type: 'bytes' },
57
- { name: 'inputs', type: 'bytes[]' },
58
- ],
59
- },
60
- // Permit2 Actions
61
- [CommandType.PERMIT2_PERMIT]: {
62
- parser: Parser.Abi,
63
- params: [
64
- { name: 'permit', type: PERMIT_STRUCT },
65
- { name: 'signature', type: 'bytes' },
66
- ],
67
- },
68
- [CommandType.PERMIT2_PERMIT_BATCH]: {
69
- parser: Parser.Abi,
70
- params: [
71
- { name: 'permit', type: PERMIT_BATCH_STRUCT },
72
- { name: 'signature', type: 'bytes' },
73
- ],
74
- },
75
- [CommandType.PERMIT2_TRANSFER_FROM]: {
76
- parser: Parser.Abi,
77
- params: [
78
- { name: 'token', type: 'address' },
79
- { name: 'recipient', type: 'address' },
80
- { name: 'amount', type: 'uint160' },
81
- ],
82
- },
83
- [CommandType.PERMIT2_TRANSFER_FROM_BATCH]: {
84
- parser: Parser.Abi,
85
- params: [
86
- {
87
- name: 'transferFrom',
88
- type: PERMIT2_TRANSFER_FROM_BATCH_STRUCT,
89
- },
90
- ],
91
- },
92
- // Uniswap Actions
93
- [CommandType.V3_SWAP_EXACT_IN]: {
94
- parser: Parser.Abi,
95
- params: [
96
- { name: 'recipient', type: 'address' },
97
- { name: 'amountIn', type: 'uint256' },
98
- { name: 'amountOutMin', type: 'uint256' },
99
- { name: 'path', subparser: Subparser.V3PathExactIn, type: 'bytes' },
100
- { name: 'payerIsUser', type: 'bool' },
101
- ],
102
- },
103
- [CommandType.V3_SWAP_EXACT_OUT]: {
104
- parser: Parser.Abi,
105
- params: [
106
- { name: 'recipient', type: 'address' },
107
- { name: 'amountOut', type: 'uint256' },
108
- { name: 'amountInMax', type: 'uint256' },
109
- { name: 'path', subparser: Subparser.V3PathExactOut, type: 'bytes' },
110
- { name: 'payerIsUser', type: 'bool' },
111
- ],
112
- },
113
- [CommandType.V2_SWAP_EXACT_IN]: {
114
- parser: Parser.Abi,
115
- params: [
116
- { name: 'recipient', type: 'address' },
117
- { name: 'amountIn', type: 'uint256' },
118
- { name: 'amountOutMin', type: 'uint256' },
119
- { name: 'path', type: 'address[]' },
120
- { name: 'payerIsUser', type: 'bool' },
121
- ],
122
- },
123
- [CommandType.V2_SWAP_EXACT_OUT]: {
124
- parser: Parser.Abi,
125
- params: [
126
- { name: 'recipient', type: 'address' },
127
- { name: 'amountOut', type: 'uint256' },
128
- { name: 'amountInMax', type: 'uint256' },
129
- { name: 'path', type: 'address[]' },
130
- { name: 'payerIsUser', type: 'bool' },
131
- ],
132
- },
133
- [CommandType.V4_SWAP]: { parser: Parser.V4Actions },
134
- // Token Actions and Checks
135
- [CommandType.WRAP_ETH]: {
136
- parser: Parser.Abi,
137
- params: [
138
- { name: 'recipient', type: 'address' },
139
- { name: 'amount', type: 'uint256' },
140
- ],
141
- },
142
- [CommandType.UNWRAP_WETH]: {
143
- parser: Parser.Abi,
144
- params: [
145
- { name: 'recipient', type: 'address' },
146
- { name: 'amountMin', type: 'uint256' },
147
- ],
148
- },
149
- [CommandType.SWEEP]: {
150
- parser: Parser.Abi,
151
- params: [
152
- { name: 'token', type: 'address' },
153
- { name: 'recipient', type: 'address' },
154
- { name: 'amountMin', type: 'uint256' },
155
- ],
156
- },
157
- [CommandType.TRANSFER]: {
158
- parser: Parser.Abi,
159
- params: [
160
- { name: 'token', type: 'address' },
161
- { name: 'recipient', type: 'address' },
162
- { name: 'value', type: 'uint256' },
163
- ],
164
- },
165
- [CommandType.PAY_PORTION]: {
166
- parser: Parser.Abi,
167
- params: [
168
- { name: 'token', type: 'address' },
169
- { name: 'recipient', type: 'address' },
170
- { name: 'bips', type: 'uint256' },
171
- ],
172
- },
173
- [CommandType.BALANCE_CHECK_ERC20]: {
174
- parser: Parser.Abi,
175
- params: [
176
- { name: 'owner', type: 'address' },
177
- { name: 'token', type: 'address' },
178
- { name: 'minBalance', type: 'uint256' },
179
- ],
180
- },
181
- [CommandType.V4_INITIALIZE_POOL]: {
182
- parser: Parser.Abi,
183
- params: [
184
- { name: 'poolKey', type: POOL_KEY_STRUCT },
185
- { name: 'sqrtPriceX96', type: 'uint160' },
186
- ],
187
- },
188
- // Position Actions
189
- [CommandType.V3_POSITION_MANAGER_PERMIT]: { parser: Parser.V3Actions },
190
- [CommandType.V3_POSITION_MANAGER_CALL]: { parser: Parser.V3Actions },
191
- [CommandType.V4_POSITION_MANAGER_CALL]: { parser: Parser.V4Actions },
192
- };
193
- class RoutePlanner {
194
- constructor() {
195
- this.commands = '0x';
196
- this.inputs = [];
197
- }
198
- addSubPlan(subplan) {
199
- this.addCommand(CommandType.EXECUTE_SUB_PLAN, [subplan.commands, subplan.inputs], true);
200
- return this;
201
- }
202
- addCommand(type, parameters, allowRevert = false) {
203
- let command = createCommand(type, parameters);
204
- this.inputs.push(command.encodedInput);
205
- if (allowRevert) {
206
- if (!REVERTIBLE_COMMANDS.has(command.type)) {
207
- throw new Error(`command type: ${command.type} cannot be allowed to revert`);
208
- }
209
- command.type = command.type | ALLOW_REVERT_FLAG;
210
- }
211
- this.commands = this.commands.concat(command.type.toString(16).padStart(2, '0'));
212
- return this;
213
- }
214
- }
215
- exports.RoutePlanner = RoutePlanner;
216
- function createCommand(type, parameters) {
217
- const commandDef = exports.COMMAND_DEFINITION[type];
218
- switch (commandDef.parser) {
219
- case Parser.Abi:
220
- const encodedInput = utils_1.defaultAbiCoder.encode(commandDef.params.map((abi) => abi.type), parameters);
221
- return { type, encodedInput };
222
- case Parser.V4Actions:
223
- // v4 swap data comes pre-encoded at index 0
224
- return { type, encodedInput: parameters[0] };
225
- case Parser.V3Actions:
226
- // v4 swap data comes pre-encoded at index 0
227
- return { type, encodedInput: parameters[0] };
228
- }
229
- }
230
- exports.createCommand = createCommand;
231
- //# sourceMappingURL=routerCommands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routerCommands.js","sourceRoot":"","sources":["../../../../src/utils/routerCommands.ts"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import { Trade as RouterTrade } from '@uniswap/router-sdk';
2
- import { Currency, TradeType } from '@uniswap/sdk-core';
3
- export type TokenInRoute = {
4
- address: string;
5
- chainId: number;
6
- symbol: string;
7
- decimals: string;
8
- name?: string;
9
- buyFeeBps?: string;
10
- sellFeeBps?: string;
11
- };
12
- export declare enum PoolType {
13
- V2Pool = "v2-pool",
14
- V3Pool = "v3-pool",
15
- V4Pool = "v4-pool"
16
- }
17
- export type V2Reserve = {
18
- token: TokenInRoute;
19
- quotient: string;
20
- };
21
- export type V2PoolInRoute = {
22
- type: PoolType.V2Pool;
23
- address?: string;
24
- tokenIn: TokenInRoute;
25
- tokenOut: TokenInRoute;
26
- reserve0: V2Reserve;
27
- reserve1: V2Reserve;
28
- amountIn?: string;
29
- amountOut?: string;
30
- };
31
- export type V3PoolInRoute = {
32
- type: PoolType.V3Pool;
33
- address?: string;
34
- tokenIn: TokenInRoute;
35
- tokenOut: TokenInRoute;
36
- sqrtRatioX96: string;
37
- liquidity: string;
38
- tickCurrent: string;
39
- fee: string;
40
- amountIn?: string;
41
- amountOut?: string;
42
- };
43
- export type V4PoolInRoute = {
44
- type: PoolType.V4Pool;
45
- address?: string;
46
- tokenIn: TokenInRoute;
47
- tokenOut: TokenInRoute;
48
- fee: string;
49
- tickSpacing: string;
50
- hooks: string;
51
- liquidity: string;
52
- sqrtRatioX96: string;
53
- tickCurrent: string;
54
- amountIn?: string;
55
- amountOut?: string;
56
- };
57
- export type PartialClassicQuote = {
58
- tokenIn: string;
59
- tokenOut: string;
60
- tradeType: TradeType;
61
- route: Array<(V4PoolInRoute | V3PoolInRoute | V2PoolInRoute)[]>;
62
- };
63
- export declare const isNativeCurrency: (address: string) => boolean;
64
- export declare class RouterTradeAdapter {
65
- static fromClassicQuote(quote: PartialClassicQuote): RouterTrade<Currency, Currency, TradeType>;
66
- private static toCurrency;
67
- private static toPoolOrPair;
68
- private static toToken;
69
- private static toV3Pool;
70
- private static toV4Pool;
71
- private static toPair;
72
- private static isVersionedRoute;
73
- }
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouterTradeAdapter = exports.isNativeCurrency = exports.PoolType = void 0;
4
- const router_sdk_1 = require("@uniswap/router-sdk");
5
- const sdk_core_1 = require("@uniswap/sdk-core");
6
- const v2_sdk_1 = require("@uniswap/v2-sdk");
7
- const v3_sdk_1 = require("@uniswap/v3-sdk");
8
- const v4_sdk_1 = require("@uniswap/v4-sdk");
9
- const ethers_1 = require("ethers");
10
- const constants_1 = require("./constants");
11
- var PoolType;
12
- (function (PoolType) {
13
- PoolType["V2Pool"] = "v2-pool";
14
- PoolType["V3Pool"] = "v3-pool";
15
- PoolType["V4Pool"] = "v4-pool";
16
- })(PoolType = exports.PoolType || (exports.PoolType = {}));
17
- const isNativeCurrency = (address) => address.toLowerCase() === constants_1.ETH_ADDRESS.toLowerCase() || address.toLowerCase() === constants_1.E_ETH_ADDRESS.toLowerCase();
18
- exports.isNativeCurrency = isNativeCurrency;
19
- // Helper class to convert routing-specific quote entities to RouterTrade entities
20
- // the returned RouterTrade can then be used to build the UniswapTrade entity in this package
21
- class RouterTradeAdapter {
22
- // Generate a RouterTrade using fields from a classic quote response
23
- static fromClassicQuote(quote) {
24
- const { route, tokenIn, tokenOut } = quote;
25
- if (!route)
26
- throw new Error('Expected route to be present');
27
- if (!route.length)
28
- throw new Error('Expected there to be at least one route');
29
- if (route.some((r) => !r.length))
30
- throw new Error('Expected all routes to have at least one pool');
31
- const firstRoute = route[0];
32
- const tokenInData = firstRoute[0].tokenIn;
33
- const tokenOutData = firstRoute[firstRoute.length - 1].tokenOut;
34
- if (!tokenInData || !tokenOutData)
35
- throw new Error('Expected both tokenIn and tokenOut to be present');
36
- if (tokenInData.chainId !== tokenOutData.chainId)
37
- throw new Error('Expected tokenIn and tokenOut to be have same chainId');
38
- const parsedCurrencyIn = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(tokenIn), tokenInData);
39
- const parsedCurrencyOut = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(tokenOut), tokenOutData);
40
- const typedRoutes = route.map((subRoute) => {
41
- const rawAmountIn = subRoute[0].amountIn;
42
- const rawAmountOut = subRoute[subRoute.length - 1].amountOut;
43
- if (!rawAmountIn || !rawAmountOut) {
44
- throw new Error('Expected both raw amountIn and raw amountOut to be present');
45
- }
46
- const inputAmount = sdk_core_1.CurrencyAmount.fromRawAmount(parsedCurrencyIn, rawAmountIn);
47
- const outputAmount = sdk_core_1.CurrencyAmount.fromRawAmount(parsedCurrencyOut, rawAmountOut);
48
- const isOnlyV2 = RouterTradeAdapter.isVersionedRoute(PoolType.V2Pool, subRoute);
49
- const isOnlyV3 = RouterTradeAdapter.isVersionedRoute(PoolType.V3Pool, subRoute);
50
- const isOnlyV4 = RouterTradeAdapter.isVersionedRoute(PoolType.V4Pool, subRoute);
51
- return {
52
- routev4: isOnlyV4
53
- ? new v4_sdk_1.Route(subRoute.map(RouterTradeAdapter.toV4Pool), parsedCurrencyIn, parsedCurrencyOut)
54
- : null,
55
- routev3: isOnlyV3
56
- ? new v3_sdk_1.Route(subRoute.map(RouterTradeAdapter.toV3Pool), parsedCurrencyIn, parsedCurrencyOut)
57
- : null,
58
- routev2: isOnlyV2
59
- ? new v2_sdk_1.Route(subRoute.map(RouterTradeAdapter.toPair), parsedCurrencyIn, parsedCurrencyOut)
60
- : null,
61
- mixedRoute: !isOnlyV4 && !isOnlyV3 && !isOnlyV2
62
- ? new router_sdk_1.MixedRouteSDK(subRoute.map(RouterTradeAdapter.toPoolOrPair), parsedCurrencyIn, parsedCurrencyOut)
63
- : null,
64
- inputAmount,
65
- outputAmount,
66
- };
67
- });
68
- return new router_sdk_1.Trade({
69
- v2Routes: typedRoutes
70
- .filter((route) => route.routev2)
71
- .map((route) => ({
72
- routev2: route.routev2,
73
- inputAmount: route.inputAmount,
74
- outputAmount: route.outputAmount,
75
- })),
76
- v3Routes: typedRoutes
77
- .filter((route) => route.routev3)
78
- .map((route) => ({
79
- routev3: route.routev3,
80
- inputAmount: route.inputAmount,
81
- outputAmount: route.outputAmount,
82
- })),
83
- v4Routes: typedRoutes
84
- .filter((route) => route.routev4)
85
- .map((route) => ({
86
- routev4: route.routev4,
87
- inputAmount: route.inputAmount,
88
- outputAmount: route.outputAmount,
89
- })),
90
- mixedRoutes: typedRoutes
91
- .filter((route) => route.mixedRoute)
92
- .map((route) => ({
93
- mixedRoute: route.mixedRoute,
94
- inputAmount: route.inputAmount,
95
- outputAmount: route.outputAmount,
96
- })),
97
- tradeType: quote.tradeType,
98
- });
99
- }
100
- static toCurrency(isNative, token) {
101
- if (isNative) {
102
- return sdk_core_1.Ether.onChain(token.chainId);
103
- }
104
- return this.toToken(token);
105
- }
106
- static toToken(token) {
107
- const { chainId, address, decimals, symbol, buyFeeBps, sellFeeBps } = token;
108
- return new sdk_core_1.Token(chainId, address, parseInt(decimals.toString()), symbol,
109
- /* name */ undefined, false, buyFeeBps ? ethers_1.BigNumber.from(buyFeeBps) : undefined, sellFeeBps ? ethers_1.BigNumber.from(sellFeeBps) : undefined);
110
- }
111
- static toV3Pool({ fee, sqrtRatioX96, liquidity, tickCurrent, tokenIn, tokenOut }) {
112
- return new v3_sdk_1.Pool(RouterTradeAdapter.toToken(tokenIn), RouterTradeAdapter.toToken(tokenOut), parseInt(fee), sqrtRatioX96, liquidity, parseInt(tickCurrent));
113
- }
114
- static toV4Pool(pool) {
115
- const parsedCurrencyIn = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(pool.tokenIn.address), pool.tokenIn);
116
- const parsedCurrencyOut = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(pool.tokenOut.address), pool.tokenOut);
117
- return new v4_sdk_1.Pool(parsedCurrencyIn, parsedCurrencyOut, parseInt(pool.fee), parseInt(pool.tickSpacing), pool.hooks, pool.sqrtRatioX96, pool.liquidity, parseInt(pool.tickCurrent));
118
- }
119
- static isVersionedRoute(type, route) {
120
- return route.every((pool) => pool.type === type);
121
- }
122
- }
123
- exports.RouterTradeAdapter = RouterTradeAdapter;
124
- RouterTradeAdapter.toPoolOrPair = (pool) => {
125
- switch (pool.type) {
126
- case PoolType.V4Pool:
127
- return RouterTradeAdapter.toV4Pool(pool);
128
- case PoolType.V3Pool:
129
- return RouterTradeAdapter.toV3Pool(pool);
130
- case PoolType.V2Pool:
131
- return RouterTradeAdapter.toPair(pool);
132
- default:
133
- throw new Error('Invalid pool type');
134
- }
135
- };
136
- RouterTradeAdapter.toPair = ({ reserve0, reserve1 }) => {
137
- return new v2_sdk_1.Pair(sdk_core_1.CurrencyAmount.fromRawAmount(RouterTradeAdapter.toToken(reserve0.token), reserve0.quotient), sdk_core_1.CurrencyAmount.fromRawAmount(RouterTradeAdapter.toToken(reserve1.token), reserve1.quotient));
138
- };
139
- //# sourceMappingURL=routerTradeAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routerTradeAdapter.js","sourceRoot":"","sources":["../../../../src/utils/routerTradeAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { RoutePlanner } from '../utils/routerCommands';
2
- export type TradeConfig = {
3
- allowRevert: boolean;
4
- };
5
- export declare enum RouterActionType {
6
- UniswapTrade = "UniswapTrade",
7
- UnwrapWETH = "UnwrapWETH"
8
- }
9
- export interface Command {
10
- tradeType: RouterActionType;
11
- encode(planner: RoutePlanner, config: TradeConfig): void;
12
- }
@@ -1,6 +0,0 @@
1
- export var RouterActionType;
2
- (function (RouterActionType) {
3
- RouterActionType["UniswapTrade"] = "UniswapTrade";
4
- RouterActionType["UnwrapWETH"] = "UnwrapWETH";
5
- })(RouterActionType || (RouterActionType = {}));
6
- //# sourceMappingURL=Command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Command.js","sourceRoot":"","sources":["../../../../src/entities/Command.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,6CAAyB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B"}
@@ -1,2 +0,0 @@
1
- export * from './uniswap';
2
- export * from './unwrapWETH';
@@ -1,3 +0,0 @@
1
- export * from './uniswap';
2
- export * from './unwrapWETH';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
@@ -1,30 +0,0 @@
1
- import { RoutePlanner } from '../../utils/routerCommands';
2
- import { Trade as RouterTrade, SwapOptions as RouterSwapOptions } from '@uniswap/router-sdk';
3
- import { Permit2Permit } from '../../utils/inputTokens';
4
- import { Currency, TradeType } from '@uniswap/sdk-core';
5
- import { Command, RouterActionType, TradeConfig } from '../Command';
6
- import { BigNumberish } from 'ethers';
7
- export type FlatFeeOptions = {
8
- amount: BigNumberish;
9
- recipient: string;
10
- };
11
- export type SwapOptions = Omit<RouterSwapOptions, 'inputTokenPermit'> & {
12
- useRouterBalance?: boolean;
13
- inputTokenPermit?: Permit2Permit;
14
- flatFee?: FlatFeeOptions;
15
- safeMode?: boolean;
16
- };
17
- export declare class UniswapTrade implements Command {
18
- trade: RouterTrade<Currency, Currency, TradeType>;
19
- options: SwapOptions;
20
- readonly tradeType: RouterActionType;
21
- readonly payerIsUser: boolean;
22
- constructor(trade: RouterTrade<Currency, Currency, TradeType>, options: SwapOptions);
23
- get isAllV4(): boolean;
24
- get inputRequiresWrap(): boolean;
25
- get inputRequiresUnwrap(): boolean;
26
- get outputRequiresWrap(): boolean;
27
- get outputRequiresUnwrap(): boolean;
28
- get outputRequiresTransition(): boolean;
29
- encode(planner: RoutePlanner, _config: TradeConfig): void;
30
- }