@uniswap/universal-router-sdk 4.19.0 → 4.19.1

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 (119) hide show
  1. package/dist/{entities → cjs/src/entities}/Command.d.ts +12 -12
  2. package/dist/cjs/src/entities/Command.js +9 -0
  3. package/dist/cjs/src/entities/Command.js.map +1 -0
  4. package/dist/{entities → cjs/src/entities}/actions/index.d.ts +2 -2
  5. package/dist/cjs/src/entities/actions/index.js +6 -0
  6. package/dist/cjs/src/entities/actions/index.js.map +1 -0
  7. package/dist/{entities → cjs/src/entities}/actions/uniswap.d.ts +30 -30
  8. package/dist/cjs/src/entities/actions/uniswap.js +365 -0
  9. package/dist/cjs/src/entities/actions/uniswap.js.map +1 -0
  10. package/dist/{entities → cjs/src/entities}/actions/unwrapWETH.d.ts +12 -12
  11. package/dist/cjs/src/entities/actions/unwrapWETH.js +33 -0
  12. package/dist/cjs/src/entities/actions/unwrapWETH.js.map +1 -0
  13. package/dist/{entities → cjs/src/entities}/index.d.ts +2 -2
  14. package/dist/cjs/src/entities/index.js +6 -0
  15. package/dist/cjs/src/entities/index.js.map +1 -0
  16. package/dist/cjs/src/index.d.ts +9 -0
  17. package/dist/cjs/src/index.js +24 -0
  18. package/dist/cjs/src/index.js.map +1 -0
  19. package/dist/{swapRouter.d.ts → cjs/src/swapRouter.d.ts} +37 -37
  20. package/dist/cjs/src/swapRouter.js +120 -0
  21. package/dist/cjs/src/swapRouter.js.map +1 -0
  22. package/dist/{utils → cjs/src/utils}/commandParser.d.ts +34 -34
  23. package/dist/cjs/src/utils/commandParser.js +144 -0
  24. package/dist/cjs/src/utils/commandParser.js.map +1 -0
  25. package/dist/{utils → cjs/src/utils}/constants.d.ts +30 -30
  26. package/dist/cjs/src/utils/constants.js +373 -0
  27. package/dist/cjs/src/utils/constants.js.map +1 -0
  28. package/dist/{utils → cjs/src/utils}/getCurrencyAddress.d.ts +2 -2
  29. package/dist/cjs/src/utils/getCurrencyAddress.js +9 -0
  30. package/dist/cjs/src/utils/getCurrencyAddress.js.map +1 -0
  31. package/dist/{utils → cjs/src/utils}/inputTokens.d.ts +23 -23
  32. package/dist/cjs/src/utils/inputTokens.js +58 -0
  33. package/dist/cjs/src/utils/inputTokens.js.map +1 -0
  34. package/dist/{utils → cjs/src/utils}/numbers.d.ts +6 -6
  35. package/dist/cjs/src/utils/numbers.js +22 -0
  36. package/dist/cjs/src/utils/numbers.js.map +1 -0
  37. package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +3 -3
  38. package/dist/cjs/src/utils/pathCurrency.js +27 -0
  39. package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
  40. package/dist/{utils → cjs/src/utils}/routerCommands.d.ts +64 -64
  41. package/dist/cjs/src/utils/routerCommands.js +231 -0
  42. package/dist/cjs/src/utils/routerCommands.js.map +1 -0
  43. package/dist/{utils → cjs/src/utils}/routerTradeAdapter.d.ts +73 -73
  44. package/dist/cjs/src/utils/routerTradeAdapter.js +139 -0
  45. package/dist/cjs/src/utils/routerTradeAdapter.js.map +1 -0
  46. package/dist/esm/src/entities/Command.d.ts +12 -0
  47. package/dist/esm/src/entities/Command.js +6 -0
  48. package/dist/esm/src/entities/Command.js.map +1 -0
  49. package/dist/esm/src/entities/actions/index.d.ts +2 -0
  50. package/dist/esm/src/entities/actions/index.js +3 -0
  51. package/dist/esm/src/entities/actions/index.js.map +1 -0
  52. package/dist/esm/src/entities/actions/uniswap.d.ts +30 -0
  53. package/dist/esm/src/entities/actions/uniswap.js +361 -0
  54. package/dist/esm/src/entities/actions/uniswap.js.map +1 -0
  55. package/dist/esm/src/entities/actions/unwrapWETH.d.ts +12 -0
  56. package/dist/esm/src/entities/actions/unwrapWETH.js +28 -0
  57. package/dist/esm/src/entities/actions/unwrapWETH.js.map +1 -0
  58. package/dist/esm/src/entities/index.d.ts +2 -0
  59. package/dist/esm/src/entities/index.js +3 -0
  60. package/dist/esm/src/entities/index.js.map +1 -0
  61. package/dist/esm/src/index.d.ts +9 -0
  62. package/dist/esm/src/index.js +7 -0
  63. package/dist/esm/src/index.js.map +1 -0
  64. package/dist/esm/src/swapRouter.d.ts +37 -0
  65. package/dist/esm/src/swapRouter.js +115 -0
  66. package/dist/esm/src/swapRouter.js.map +1 -0
  67. package/dist/esm/src/utils/commandParser.d.ts +34 -0
  68. package/dist/esm/src/utils/commandParser.js +137 -0
  69. package/dist/esm/src/utils/commandParser.js.map +1 -0
  70. package/dist/esm/src/utils/constants.d.ts +30 -0
  71. package/dist/esm/src/utils/constants.js +367 -0
  72. package/dist/esm/src/utils/constants.js.map +1 -0
  73. package/dist/esm/src/utils/getCurrencyAddress.d.ts +2 -0
  74. package/dist/esm/src/utils/getCurrencyAddress.js +5 -0
  75. package/dist/esm/src/utils/getCurrencyAddress.js.map +1 -0
  76. package/dist/esm/src/utils/inputTokens.d.ts +23 -0
  77. package/dist/esm/src/utils/inputTokens.js +51 -0
  78. package/dist/esm/src/utils/inputTokens.js.map +1 -0
  79. package/dist/esm/src/utils/numbers.d.ts +6 -0
  80. package/dist/esm/src/utils/numbers.js +15 -0
  81. package/dist/esm/src/utils/numbers.js.map +1 -0
  82. package/dist/esm/src/utils/pathCurrency.d.ts +3 -0
  83. package/dist/esm/src/utils/pathCurrency.js +23 -0
  84. package/dist/esm/src/utils/pathCurrency.js.map +1 -0
  85. package/dist/esm/src/utils/routerCommands.d.ts +64 -0
  86. package/dist/esm/src/utils/routerCommands.js +226 -0
  87. package/dist/esm/src/utils/routerCommands.js.map +1 -0
  88. package/dist/esm/src/utils/routerTradeAdapter.d.ts +73 -0
  89. package/dist/esm/src/utils/routerTradeAdapter.js +134 -0
  90. package/dist/esm/src/utils/routerTradeAdapter.js.map +1 -0
  91. package/dist/types/src/entities/Command.d.ts +12 -0
  92. package/dist/types/src/entities/actions/index.d.ts +2 -0
  93. package/dist/types/src/entities/actions/uniswap.d.ts +30 -0
  94. package/dist/types/src/entities/actions/unwrapWETH.d.ts +12 -0
  95. package/dist/types/src/entities/index.d.ts +2 -0
  96. package/dist/types/src/index.d.ts +9 -0
  97. package/dist/types/src/swapRouter.d.ts +37 -0
  98. package/dist/types/src/utils/commandParser.d.ts +34 -0
  99. package/dist/types/src/utils/constants.d.ts +30 -0
  100. package/dist/types/src/utils/getCurrencyAddress.d.ts +2 -0
  101. package/dist/types/src/utils/inputTokens.d.ts +23 -0
  102. package/dist/types/src/utils/numbers.d.ts +6 -0
  103. package/dist/types/src/utils/pathCurrency.d.ts +3 -0
  104. package/dist/types/src/utils/routerCommands.d.ts +64 -0
  105. package/dist/types/src/utils/routerTradeAdapter.d.ts +73 -0
  106. package/package.json +17 -5
  107. package/dist/index.d.ts +0 -6
  108. package/dist/index.js +0 -8
  109. package/dist/test/forge/writeInterop.d.ts +0 -2
  110. package/dist/test/utils/addresses.d.ts +0 -5
  111. package/dist/test/utils/hexToDecimalString.d.ts +0 -2
  112. package/dist/test/utils/permit2.d.ts +0 -7
  113. package/dist/test/utils/uniswapData.d.ts +0 -24
  114. package/dist/universal-router-sdk.cjs.development.js +0 -1433
  115. package/dist/universal-router-sdk.cjs.development.js.map +0 -1
  116. package/dist/universal-router-sdk.cjs.production.min.js +0 -2
  117. package/dist/universal-router-sdk.cjs.production.min.js.map +0 -1
  118. package/dist/universal-router-sdk.esm.js +0 -1426
  119. package/dist/universal-router-sdk.esm.js.map +0 -1
@@ -0,0 +1,23 @@
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;
@@ -0,0 +1,6 @@
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;
@@ -0,0 +1,3 @@
1
+ import { Currency } from '@uniswap/sdk-core';
2
+ import { TPool } from '@uniswap/router-sdk/dist/utils/TPool';
3
+ export declare function getPathCurrency(currency: Currency, pool: TPool): Currency;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * CommandTypes
3
+ * @description Flags that modify a command's execution
4
+ * @enum {number}
5
+ */
6
+ export declare enum CommandType {
7
+ V3_SWAP_EXACT_IN = 0,
8
+ V3_SWAP_EXACT_OUT = 1,
9
+ PERMIT2_TRANSFER_FROM = 2,
10
+ PERMIT2_PERMIT_BATCH = 3,
11
+ SWEEP = 4,
12
+ TRANSFER = 5,
13
+ PAY_PORTION = 6,
14
+ V2_SWAP_EXACT_IN = 8,
15
+ V2_SWAP_EXACT_OUT = 9,
16
+ PERMIT2_PERMIT = 10,
17
+ WRAP_ETH = 11,
18
+ UNWRAP_WETH = 12,
19
+ PERMIT2_TRANSFER_FROM_BATCH = 13,
20
+ BALANCE_CHECK_ERC20 = 14,
21
+ V4_SWAP = 16,
22
+ V3_POSITION_MANAGER_PERMIT = 17,
23
+ V3_POSITION_MANAGER_CALL = 18,
24
+ V4_INITIALIZE_POOL = 19,
25
+ V4_POSITION_MANAGER_CALL = 20,
26
+ EXECUTE_SUB_PLAN = 33
27
+ }
28
+ export declare enum Subparser {
29
+ V3PathExactIn = 0,
30
+ V3PathExactOut = 1
31
+ }
32
+ export declare enum Parser {
33
+ Abi = 0,
34
+ V4Actions = 1,
35
+ V3Actions = 2
36
+ }
37
+ export type ParamType = {
38
+ readonly name: string;
39
+ readonly type: string;
40
+ readonly subparser?: Subparser;
41
+ };
42
+ export type CommandDefinition = {
43
+ parser: Parser.Abi;
44
+ params: ParamType[];
45
+ } | {
46
+ parser: Parser.V4Actions;
47
+ } | {
48
+ parser: Parser.V3Actions;
49
+ };
50
+ export declare const COMMAND_DEFINITION: {
51
+ [key in CommandType]: CommandDefinition;
52
+ };
53
+ export declare class RoutePlanner {
54
+ commands: string;
55
+ inputs: string[];
56
+ constructor();
57
+ addSubPlan(subplan: RoutePlanner): RoutePlanner;
58
+ addCommand(type: CommandType, parameters: any[], allowRevert?: boolean): RoutePlanner;
59
+ }
60
+ export type RouterCommand = {
61
+ type: CommandType;
62
+ encodedInput: string;
63
+ };
64
+ export declare function createCommand(type: CommandType, parameters: any[]): RouterCommand;
@@ -0,0 +1,73 @@
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
+ }
package/package.json CHANGED
@@ -7,8 +7,9 @@
7
7
  "ethereum"
8
8
  ],
9
9
  "license": "MIT",
10
- "main": "dist/index.js",
11
- "typings": "dist/index.d.ts",
10
+ "main": "./dist/cjs/src/index.js",
11
+ "module": "./dist/esm/src/index.js",
12
+ "types": "./dist/types/src/index.d.ts",
12
13
  "files": [
13
14
  "dist"
14
15
  ],
@@ -16,7 +17,11 @@
16
17
  "node": ">=14"
17
18
  },
18
19
  "scripts": {
19
- "build": "tsdx build",
20
+ "clean": "rm -rf dist",
21
+ "build": "yarn clean && yarn build:cjs && yarn build:esm && yarn build:types",
22
+ "build:cjs": "tsc -p tsconfig.cjs.json",
23
+ "build:esm": "tsc -p tsconfig.esm.json",
24
+ "build:types": "tsc -p tsconfig.types.json",
20
25
  "docs": "typedoc",
21
26
  "forge:fix": "forge fmt",
22
27
  "lint": "yarn prettier",
@@ -53,7 +58,6 @@
53
58
  "hardhat": "^2.22.15",
54
59
  "prettier": "^2.4.1",
55
60
  "ts-node": "^10.9.1",
56
- "tsdx": "^0.14.1",
57
61
  "tslib": "^2.3.0",
58
62
  "typedoc": "^0.21.2",
59
63
  "typescript": "^4.3.3"
@@ -100,5 +104,13 @@
100
104
  "installConfig": {
101
105
  "hoistingLimits": "workspaces"
102
106
  },
103
- "version": "4.19.0"
107
+ "exports": {
108
+ ".": {
109
+ "types": "./dist/types/src/index.d.ts",
110
+ "import": "./dist/esm/src/index.js",
111
+ "require": "./dist/cjs/src/index.js"
112
+ }
113
+ },
114
+ "sideEffects": false,
115
+ "version": "4.19.1"
104
116
  }
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { SwapRouter, MigrateV3ToV4Options } from './swapRouter';
2
- export * from './entities';
3
- export * from './utils/routerTradeAdapter';
4
- export { RoutePlanner, CommandType, COMMAND_DEFINITION, CommandDefinition, Parser, Subparser, ParamType, } from './utils/routerCommands';
5
- export { UNIVERSAL_ROUTER_CREATION_BLOCK, UNIVERSAL_ROUTER_ADDRESS, ROUTER_AS_RECIPIENT, WETH_ADDRESS, UniversalRouterVersion, } from './utils/constants';
6
- export { CommandParser, GenericCommandParser, UniversalRouterCommand, UniversalRouterCall, Param, CommandsDefinition, } from './utils/commandParser';
package/dist/index.js DELETED
@@ -1,8 +0,0 @@
1
-
2
- 'use strict'
3
-
4
- if (process.env.NODE_ENV === 'production') {
5
- module.exports = require('./universal-router-sdk.cjs.production.min.js')
6
- } else {
7
- module.exports = require('./universal-router-sdk.cjs.development.js')
8
- }
@@ -1,2 +0,0 @@
1
- import { MethodParameters } from '@uniswap/v3-sdk';
2
- export declare function registerFixture(key: string, data: MethodParameters): void;
@@ -1,5 +0,0 @@
1
- export declare const FORGE_V4_POSITION_MANAGER = "0x2e234DAe75C793f67A35089C9d99245E1C58470b";
2
- export declare const FORGE_SENDER_ADDRESS = "0xcf03dd0a894ef79cb5b601a43c4b25e3ae4c67ed";
3
- export declare const TEST_RECIPIENT_ADDRESS = "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
4
- export declare const TEST_FEE_RECIPIENT_ADDRESS = "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
5
- export declare const PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
@@ -1,2 +0,0 @@
1
- import { BigNumberish } from 'ethers';
2
- export declare function hexToDecimalString(hex: BigNumberish): string;
@@ -1,7 +0,0 @@
1
- import { Wallet } from 'ethers';
2
- import { PermitSingle } from '@uniswap/permit2-sdk';
3
- import { Permit2Permit } from '../../src/utils/inputTokens';
4
- export declare function generatePermitSignature(permit: PermitSingle, signer: Wallet, chainId: number, permitAddress?: string): Promise<string>;
5
- export declare function generateEip2098PermitSignature(permit: PermitSingle, signer: Wallet, chainId: number, permitAddress?: string): Promise<string>;
6
- export declare function toInputPermit(signature: string, permit: PermitSingle): Permit2Permit;
7
- export declare function makePermit(token: string, amount?: string, nonce?: string, routerAddress?: string): PermitSingle;
@@ -1,24 +0,0 @@
1
- import { MixedRouteTrade, Trade as RouterTrade } from '@uniswap/router-sdk';
2
- import { Trade as V2Trade, Pair } from '@uniswap/v2-sdk';
3
- import { Trade as V3Trade, Pool, FeeAmount } from '@uniswap/v3-sdk';
4
- import { Trade as V4Trade } from '@uniswap/v4-sdk';
5
- import { SwapOptions } from '../../src';
6
- import { TradeType, Ether, Token, Currency } from '@uniswap/sdk-core';
7
- export declare const ETHER: Ether;
8
- export declare const WETH: Token;
9
- export declare const DAI: Token;
10
- export declare const USDC: Token;
11
- export declare const FEE_AMOUNT = FeeAmount.MEDIUM;
12
- declare type UniswapPools = {
13
- WETH_USDC_V2: Pair;
14
- USDC_DAI_V2: Pair;
15
- WETH_USDC_V3: Pool;
16
- WETH_USDC_V3_LOW_FEE: Pool;
17
- USDC_DAI_V3: Pool;
18
- };
19
- export declare function getUniswapPools(forkBlock?: number): Promise<UniswapPools>;
20
- export declare function getPair(tokenA: Token, tokenB: Token, blockNumber: number): Promise<Pair>;
21
- export declare function getPool(tokenA: Token, tokenB: Token, feeAmount: FeeAmount, blockNumber: number): Promise<Pool>;
22
- export declare function swapOptions(options: Partial<SwapOptions>): SwapOptions;
23
- export declare function buildTrade(trades: (V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType> | V4Trade<Currency, Currency, TradeType> | MixedRouteTrade<Currency, Currency, TradeType>)[]): RouterTrade<Currency, Currency, TradeType>;
24
- export {};