@uniswap/router-sdk 1.22.3 → 2.0.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.
Files changed (176) hide show
  1. package/dist/{approveAndCall.d.ts → cjs/src/approveAndCall.d.ts} +33 -33
  2. package/dist/cjs/src/approveAndCall.js +111 -0
  3. package/dist/cjs/src/approveAndCall.js.map +1 -0
  4. package/dist/{constants.d.ts → cjs/src/constants.d.ts} +13 -13
  5. package/dist/cjs/src/constants.js +22 -0
  6. package/dist/cjs/src/constants.js.map +1 -0
  7. package/dist/{entities → cjs/src/entities}/mixedRoute/route.d.ts +29 -29
  8. package/dist/cjs/src/entities/mixedRoute/route.js +119 -0
  9. package/dist/cjs/src/entities/mixedRoute/route.js.map +1 -0
  10. package/dist/cjs/src/entities/mixedRoute/route.test.d.ts +1 -0
  11. package/dist/cjs/src/entities/mixedRoute/route.test.js +469 -0
  12. package/dist/cjs/src/entities/mixedRoute/route.test.js.map +1 -0
  13. package/dist/{entities → cjs/src/entities}/mixedRoute/trade.d.ts +183 -183
  14. package/dist/cjs/src/entities/mixedRoute/trade.js +357 -0
  15. package/dist/cjs/src/entities/mixedRoute/trade.js.map +1 -0
  16. package/dist/cjs/src/entities/mixedRoute/trade.test.d.ts +1 -0
  17. package/dist/cjs/src/entities/mixedRoute/trade.test.js +1010 -0
  18. package/dist/cjs/src/entities/mixedRoute/trade.test.js.map +1 -0
  19. package/dist/{entities → cjs/src/entities}/protocol.d.ts +6 -6
  20. package/dist/cjs/src/entities/protocol.js +11 -0
  21. package/dist/cjs/src/entities/protocol.js.map +1 -0
  22. package/dist/{entities → cjs/src/entities}/route.d.ts +40 -40
  23. package/dist/cjs/src/entities/route.js +63 -0
  24. package/dist/cjs/src/entities/route.js.map +1 -0
  25. package/dist/cjs/src/entities/route.test.d.ts +1 -0
  26. package/dist/cjs/src/entities/route.test.js +192 -0
  27. package/dist/cjs/src/entities/route.test.js.map +1 -0
  28. package/dist/{entities → cjs/src/entities}/trade.d.ts +127 -127
  29. package/dist/cjs/src/entities/trade.js +366 -0
  30. package/dist/cjs/src/entities/trade.js.map +1 -0
  31. package/dist/cjs/src/entities/trade.test.d.ts +1 -0
  32. package/dist/cjs/src/entities/trade.test.js +1267 -0
  33. package/dist/cjs/src/entities/trade.test.js.map +1 -0
  34. package/dist/{index.d.ts → cjs/src/index.d.ts} +14 -14
  35. package/dist/cjs/src/index.js +18 -0
  36. package/dist/cjs/src/index.js.map +1 -0
  37. package/dist/{multicallExtended.d.ts → cjs/src/multicallExtended.d.ts} +11 -11
  38. package/dist/cjs/src/multicallExtended.js +43 -0
  39. package/dist/cjs/src/multicallExtended.js.map +1 -0
  40. package/dist/cjs/src/multicallExtended.test.d.ts +1 -0
  41. package/dist/cjs/src/multicallExtended.test.js +22 -0
  42. package/dist/cjs/src/multicallExtended.test.js.map +1 -0
  43. package/dist/{paymentsExtended.d.ts → cjs/src/paymentsExtended.d.ts} +15 -15
  44. package/dist/cjs/src/paymentsExtended.js +65 -0
  45. package/dist/cjs/src/paymentsExtended.js.map +1 -0
  46. package/dist/cjs/src/paymentsExtended.test.d.ts +1 -0
  47. package/dist/cjs/src/paymentsExtended.test.js +60 -0
  48. package/dist/cjs/src/paymentsExtended.test.js.map +1 -0
  49. package/dist/{swapRouter.d.ts → cjs/src/swapRouter.d.ts} +95 -95
  50. package/dist/cjs/src/swapRouter.js +439 -0
  51. package/dist/cjs/src/swapRouter.js.map +1 -0
  52. package/dist/cjs/src/swapRouter.test.d.ts +1 -0
  53. package/dist/cjs/src/swapRouter.test.js +1161 -0
  54. package/dist/cjs/src/swapRouter.test.js.map +1 -0
  55. package/dist/{utils → cjs/src/utils}/TPool.d.ts +4 -4
  56. package/dist/cjs/src/utils/TPool.js +3 -0
  57. package/dist/cjs/src/utils/TPool.js.map +1 -0
  58. package/dist/{utils → cjs/src/utils}/encodeMixedRouteToPath.d.ts +9 -9
  59. package/dist/cjs/src/utils/encodeMixedRouteToPath.js +90 -0
  60. package/dist/cjs/src/utils/encodeMixedRouteToPath.js.map +1 -0
  61. package/dist/cjs/src/utils/encodeMixedRouteToPath.test.d.ts +1 -0
  62. package/dist/cjs/src/utils/encodeMixedRouteToPath.test.js +136 -0
  63. package/dist/cjs/src/utils/encodeMixedRouteToPath.test.js.map +1 -0
  64. package/dist/{utils → cjs/src/utils}/index.d.ts +16 -16
  65. package/dist/cjs/src/utils/index.js +51 -0
  66. package/dist/cjs/src/utils/index.js.map +1 -0
  67. package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +4 -4
  68. package/dist/cjs/src/utils/pathCurrency.js +35 -0
  69. package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
  70. package/dist/cjs/src/utils/pathCurrency.test.d.ts +1 -0
  71. package/dist/cjs/src/utils/pathCurrency.test.js +17 -0
  72. package/dist/cjs/src/utils/pathCurrency.test.js.map +1 -0
  73. package/dist/esm/src/approveAndCall.d.ts +33 -0
  74. package/dist/esm/src/approveAndCall.js +105 -0
  75. package/dist/esm/src/approveAndCall.js.map +1 -0
  76. package/dist/esm/src/constants.d.ts +13 -0
  77. package/dist/esm/src/constants.js +18 -0
  78. package/dist/esm/src/constants.js.map +1 -0
  79. package/dist/esm/src/entities/mixedRoute/route.d.ts +29 -0
  80. package/dist/esm/src/entities/mixedRoute/route.js +114 -0
  81. package/dist/esm/src/entities/mixedRoute/route.js.map +1 -0
  82. package/dist/esm/src/entities/mixedRoute/route.test.d.ts +1 -0
  83. package/dist/esm/src/entities/mixedRoute/route.test.js +467 -0
  84. package/dist/esm/src/entities/mixedRoute/route.test.js.map +1 -0
  85. package/dist/esm/src/entities/mixedRoute/trade.d.ts +183 -0
  86. package/dist/esm/src/entities/mixedRoute/trade.js +352 -0
  87. package/dist/esm/src/entities/mixedRoute/trade.js.map +1 -0
  88. package/dist/esm/src/entities/mixedRoute/trade.test.d.ts +1 -0
  89. package/dist/esm/src/entities/mixedRoute/trade.test.js +1008 -0
  90. package/dist/esm/src/entities/mixedRoute/trade.test.js.map +1 -0
  91. package/dist/esm/src/entities/protocol.d.ts +6 -0
  92. package/dist/esm/src/entities/protocol.js +8 -0
  93. package/dist/esm/src/entities/protocol.js.map +1 -0
  94. package/dist/esm/src/entities/route.d.ts +40 -0
  95. package/dist/esm/src/entities/route.js +55 -0
  96. package/dist/esm/src/entities/route.js.map +1 -0
  97. package/dist/esm/src/entities/route.test.d.ts +1 -0
  98. package/dist/esm/src/entities/route.test.js +190 -0
  99. package/dist/esm/src/entities/route.test.js.map +1 -0
  100. package/dist/esm/src/entities/trade.d.ts +127 -0
  101. package/dist/esm/src/entities/trade.js +362 -0
  102. package/dist/esm/src/entities/trade.js.map +1 -0
  103. package/dist/esm/src/entities/trade.test.d.ts +1 -0
  104. package/dist/esm/src/entities/trade.test.js +1265 -0
  105. package/dist/esm/src/entities/trade.test.js.map +1 -0
  106. package/dist/esm/src/index.d.ts +14 -0
  107. package/dist/esm/src/index.js +15 -0
  108. package/dist/esm/src/index.js.map +1 -0
  109. package/dist/esm/src/multicallExtended.d.ts +11 -0
  110. package/dist/esm/src/multicallExtended.js +39 -0
  111. package/dist/esm/src/multicallExtended.js.map +1 -0
  112. package/dist/esm/src/multicallExtended.test.d.ts +1 -0
  113. package/dist/esm/src/multicallExtended.test.js +20 -0
  114. package/dist/esm/src/multicallExtended.test.js.map +1 -0
  115. package/dist/esm/src/paymentsExtended.d.ts +15 -0
  116. package/dist/esm/src/paymentsExtended.js +61 -0
  117. package/dist/esm/src/paymentsExtended.js.map +1 -0
  118. package/dist/esm/src/paymentsExtended.test.d.ts +1 -0
  119. package/dist/esm/src/paymentsExtended.test.js +57 -0
  120. package/dist/esm/src/paymentsExtended.test.js.map +1 -0
  121. package/dist/esm/src/swapRouter.d.ts +95 -0
  122. package/dist/esm/src/swapRouter.js +434 -0
  123. package/dist/esm/src/swapRouter.js.map +1 -0
  124. package/dist/esm/src/swapRouter.test.d.ts +1 -0
  125. package/dist/esm/src/swapRouter.test.js +1159 -0
  126. package/dist/esm/src/swapRouter.test.js.map +1 -0
  127. package/dist/esm/src/utils/TPool.d.ts +4 -0
  128. package/dist/esm/src/utils/TPool.js +2 -0
  129. package/dist/esm/src/utils/TPool.js.map +1 -0
  130. package/dist/esm/src/utils/encodeMixedRouteToPath.d.ts +9 -0
  131. package/dist/esm/src/utils/encodeMixedRouteToPath.js +86 -0
  132. package/dist/esm/src/utils/encodeMixedRouteToPath.js.map +1 -0
  133. package/dist/esm/src/utils/encodeMixedRouteToPath.test.d.ts +1 -0
  134. package/dist/esm/src/utils/encodeMixedRouteToPath.test.js +134 -0
  135. package/dist/esm/src/utils/encodeMixedRouteToPath.test.js.map +1 -0
  136. package/dist/esm/src/utils/index.d.ts +16 -0
  137. package/dist/esm/src/utils/index.js +46 -0
  138. package/dist/esm/src/utils/index.js.map +1 -0
  139. package/dist/esm/src/utils/pathCurrency.d.ts +4 -0
  140. package/dist/esm/src/utils/pathCurrency.js +30 -0
  141. package/dist/esm/src/utils/pathCurrency.js.map +1 -0
  142. package/dist/esm/src/utils/pathCurrency.test.d.ts +1 -0
  143. package/dist/esm/src/utils/pathCurrency.test.js +15 -0
  144. package/dist/esm/src/utils/pathCurrency.test.js.map +1 -0
  145. package/dist/types/src/approveAndCall.d.ts +33 -0
  146. package/dist/types/src/constants.d.ts +13 -0
  147. package/dist/types/src/entities/mixedRoute/route.d.ts +29 -0
  148. package/dist/types/src/entities/mixedRoute/route.test.d.ts +1 -0
  149. package/dist/types/src/entities/mixedRoute/trade.d.ts +183 -0
  150. package/dist/types/src/entities/mixedRoute/trade.test.d.ts +1 -0
  151. package/dist/types/src/entities/protocol.d.ts +6 -0
  152. package/dist/types/src/entities/route.d.ts +40 -0
  153. package/dist/types/src/entities/route.test.d.ts +1 -0
  154. package/dist/types/src/entities/trade.d.ts +127 -0
  155. package/dist/types/src/entities/trade.test.d.ts +1 -0
  156. package/dist/types/src/index.d.ts +14 -0
  157. package/dist/types/src/multicallExtended.d.ts +11 -0
  158. package/dist/types/src/multicallExtended.test.d.ts +1 -0
  159. package/dist/types/src/paymentsExtended.d.ts +15 -0
  160. package/dist/types/src/paymentsExtended.test.d.ts +1 -0
  161. package/dist/types/src/swapRouter.d.ts +95 -0
  162. package/dist/types/src/swapRouter.test.d.ts +1 -0
  163. package/dist/types/src/utils/TPool.d.ts +4 -0
  164. package/dist/types/src/utils/encodeMixedRouteToPath.d.ts +9 -0
  165. package/dist/types/src/utils/encodeMixedRouteToPath.test.d.ts +1 -0
  166. package/dist/types/src/utils/index.d.ts +16 -0
  167. package/dist/types/src/utils/pathCurrency.d.ts +4 -0
  168. package/dist/types/src/utils/pathCurrency.test.d.ts +1 -0
  169. package/package.json +33 -18
  170. package/dist/index.js +0 -8
  171. package/dist/router-sdk.cjs.development.js +0 -2485
  172. package/dist/router-sdk.cjs.development.js.map +0 -1
  173. package/dist/router-sdk.cjs.production.min.js +0 -2
  174. package/dist/router-sdk.cjs.production.min.js.map +0 -1
  175. package/dist/router-sdk.esm.js +0 -2452
  176. package/dist/router-sdk.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.test.js","sourceRoot":"","sources":["../../../../src/entities/trade.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export * from './constants';
2
+ export * from './approveAndCall';
3
+ export * from './multicallExtended';
4
+ export * from './paymentsExtended';
5
+ export * from './swapRouter';
6
+ export * from './entities/trade';
7
+ export * from './entities/protocol';
8
+ export * from './entities/route';
9
+ export * from './entities/mixedRoute/route';
10
+ export * from './entities/mixedRoute/trade';
11
+ export * from './utils/encodeMixedRouteToPath';
12
+ export * from './utils/TPool';
13
+ export * from './utils/pathCurrency';
14
+ export * from './utils';
@@ -0,0 +1,15 @@
1
+ export * from './constants';
2
+ export * from './approveAndCall';
3
+ export * from './multicallExtended';
4
+ export * from './paymentsExtended';
5
+ export * from './swapRouter';
6
+ export * from './entities/trade';
7
+ export * from './entities/protocol';
8
+ export * from './entities/route';
9
+ export * from './entities/mixedRoute/route';
10
+ export * from './entities/mixedRoute/trade';
11
+ export * from './utils/encodeMixedRouteToPath';
12
+ export * from './utils/TPool';
13
+ export * from './utils/pathCurrency';
14
+ export * from './utils';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,SAAS,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { BigintIsh } from '@uniswap/sdk-core';
3
+ export type Validation = BigintIsh | string;
4
+ export declare abstract class MulticallExtended {
5
+ static INTERFACE: Interface;
6
+ /**
7
+ * Cannot be constructed.
8
+ */
9
+ private constructor();
10
+ static encodeMulticall(calldatas: string | string[], validation?: Validation): string;
11
+ }
@@ -0,0 +1,39 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { abi } from '@uniswap/swap-router-contracts/artifacts/contracts/interfaces/IMulticallExtended.sol/IMulticallExtended.json';
3
+ import { Multicall, toHex } from '@uniswap/v3-sdk';
4
+ function validateAndParseBytes32(bytes32) {
5
+ if (!bytes32.match(/^0x[0-9a-fA-F]{64}$/)) {
6
+ throw new Error(`${bytes32} is not valid bytes32.`);
7
+ }
8
+ return bytes32.toLowerCase();
9
+ }
10
+ export class MulticallExtended {
11
+ /**
12
+ * Cannot be constructed.
13
+ */
14
+ constructor() { }
15
+ static encodeMulticall(calldatas, validation) {
16
+ // if there's no validation, we can just fall back to regular multicall
17
+ if (typeof validation === 'undefined') {
18
+ return Multicall.encodeMulticall(calldatas);
19
+ }
20
+ // if there is validation, we have to normalize calldatas
21
+ if (!Array.isArray(calldatas)) {
22
+ calldatas = [calldatas];
23
+ }
24
+ // this means the validation value should be a previousBlockhash
25
+ if (typeof validation === 'string' && validation.startsWith('0x')) {
26
+ const previousBlockhash = validateAndParseBytes32(validation);
27
+ return MulticallExtended.INTERFACE.encodeFunctionData('multicall(bytes32,bytes[])', [
28
+ previousBlockhash,
29
+ calldatas,
30
+ ]);
31
+ }
32
+ else {
33
+ const deadline = toHex(validation);
34
+ return MulticallExtended.INTERFACE.encodeFunctionData('multicall(uint256,bytes[])', [deadline, calldatas]);
35
+ }
36
+ }
37
+ }
38
+ MulticallExtended.INTERFACE = new Interface(abi);
39
+ //# sourceMappingURL=multicallExtended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicallExtended.js","sourceRoot":"","sources":["../../../src/multicallExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,8GAA8G,CAAA;AAClI,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAKlD,SAAS,uBAAuB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,wBAAwB,CAAC,CAAA;KACpD;IAED,OAAO,OAAO,CAAC,WAAW,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,OAAgB,iBAAiB;IAGrC;;OAEG;IACH,gBAAuB,CAAC;IAEjB,MAAM,CAAC,eAAe,CAAC,SAA4B,EAAE,UAAuB;QACjF,uEAAuE;QACvE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;YACrC,OAAO,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAC5C;QAED,yDAAyD;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,gEAAgE;QAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACjE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAA;YAC7D,OAAO,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC,4BAA4B,EAAE;gBAClF,iBAAiB;gBACjB,SAAS;aACV,CAAC,CAAA;SACH;aAAM;YACL,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;YAClC,OAAO,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;SAC3G;IACH,CAAC;;AA7Ba,2BAAS,GAAc,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import { MulticallExtended } from './multicallExtended';
2
+ describe('MulticallExtended', () => {
3
+ it('works with no validation', () => {
4
+ const calldata = MulticallExtended.encodeMulticall('0x01');
5
+ expect(calldata).toBe('0x01');
6
+ });
7
+ it('works with deadline as string', () => {
8
+ const calldata = MulticallExtended.encodeMulticall('0x01', '123');
9
+ expect(calldata).toBe('0x5ae401dc000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000');
10
+ });
11
+ it('works with deadline as number', () => {
12
+ const calldata = MulticallExtended.encodeMulticall('0x01', 123);
13
+ expect(calldata).toBe('0x5ae401dc000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000');
14
+ });
15
+ it('works with previous block hash', () => {
16
+ const calldata = MulticallExtended.encodeMulticall('0x01', '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
17
+ expect(calldata).toBe('0x1f0464d1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000');
18
+ });
19
+ });
20
+ //# sourceMappingURL=multicallExtended.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicallExtended.test.js","sourceRoot":"","sources":["../../../src/multicallExtended.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,4YAA4Y,CAC7Y,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/D,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,4YAA4Y,CAC7Y,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAChD,MAAM,EACN,oEAAoE,CACrE,CAAA;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,4YAA4Y,CAC7Y,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { Token } from '@uniswap/sdk-core';
3
+ import { FeeOptions } from '@uniswap/v3-sdk';
4
+ import JSBI from 'jsbi';
5
+ export declare abstract class PaymentsExtended {
6
+ static INTERFACE: Interface;
7
+ /**
8
+ * Cannot be constructed.
9
+ */
10
+ private constructor();
11
+ static encodeUnwrapWETH9(amountMinimum: JSBI, recipient?: string, feeOptions?: FeeOptions): string;
12
+ static encodeSweepToken(token: Token, amountMinimum: JSBI, recipient?: string, feeOptions?: FeeOptions): string;
13
+ static encodePull(token: Token, amount: JSBI): string;
14
+ static encodeWrapETH(amount: JSBI): string;
15
+ }
@@ -0,0 +1,61 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { validateAndParseAddress } from '@uniswap/sdk-core';
3
+ import { abi } from '@uniswap/swap-router-contracts/artifacts/contracts/interfaces/IPeripheryPaymentsWithFeeExtended.sol/IPeripheryPaymentsWithFeeExtended.json';
4
+ import { Payments, toHex } from '@uniswap/v3-sdk';
5
+ function encodeFeeBips(fee) {
6
+ return toHex(fee.multiply(10000).quotient);
7
+ }
8
+ export class PaymentsExtended {
9
+ /**
10
+ * Cannot be constructed.
11
+ */
12
+ constructor() { }
13
+ static encodeUnwrapWETH9(amountMinimum, recipient, feeOptions) {
14
+ // if there's a recipient, just pass it along
15
+ if (typeof recipient === 'string') {
16
+ return Payments.encodeUnwrapWETH9(amountMinimum, recipient, feeOptions);
17
+ }
18
+ if (!!feeOptions) {
19
+ const feeBips = encodeFeeBips(feeOptions.fee);
20
+ const feeRecipient = validateAndParseAddress(feeOptions.recipient);
21
+ return PaymentsExtended.INTERFACE.encodeFunctionData('unwrapWETH9WithFee(uint256,uint256,address)', [
22
+ toHex(amountMinimum),
23
+ feeBips,
24
+ feeRecipient,
25
+ ]);
26
+ }
27
+ else {
28
+ return PaymentsExtended.INTERFACE.encodeFunctionData('unwrapWETH9(uint256)', [toHex(amountMinimum)]);
29
+ }
30
+ }
31
+ static encodeSweepToken(token, amountMinimum, recipient, feeOptions) {
32
+ // if there's a recipient, just pass it along
33
+ if (typeof recipient === 'string') {
34
+ return Payments.encodeSweepToken(token, amountMinimum, recipient, feeOptions);
35
+ }
36
+ if (!!feeOptions) {
37
+ const feeBips = encodeFeeBips(feeOptions.fee);
38
+ const feeRecipient = validateAndParseAddress(feeOptions.recipient);
39
+ return PaymentsExtended.INTERFACE.encodeFunctionData('sweepTokenWithFee(address,uint256,uint256,address)', [
40
+ token.address,
41
+ toHex(amountMinimum),
42
+ feeBips,
43
+ feeRecipient,
44
+ ]);
45
+ }
46
+ else {
47
+ return PaymentsExtended.INTERFACE.encodeFunctionData('sweepToken(address,uint256)', [
48
+ token.address,
49
+ toHex(amountMinimum),
50
+ ]);
51
+ }
52
+ }
53
+ static encodePull(token, amount) {
54
+ return PaymentsExtended.INTERFACE.encodeFunctionData('pull', [token.address, toHex(amount)]);
55
+ }
56
+ static encodeWrapETH(amount) {
57
+ return PaymentsExtended.INTERFACE.encodeFunctionData('wrapETH', [toHex(amount)]);
58
+ }
59
+ }
60
+ PaymentsExtended.INTERFACE = new Interface(abi);
61
+ //# sourceMappingURL=paymentsExtended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentsExtended.js","sourceRoot":"","sources":["../../../src/paymentsExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAkB,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,4IAA4I,CAAA;AAChK,OAAO,EAAc,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG7D,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,OAAgB,gBAAgB;IAGpC;;OAEG;IACH,gBAAuB,CAAC;IAEjB,MAAM,CAAC,iBAAiB,CAAC,aAAmB,EAAE,SAAkB,EAAE,UAAuB;QAC9F,6CAA6C;QAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;SACxE;QAED,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC7C,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAElE,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,6CAA6C,EAAE;gBAClG,KAAK,CAAC,aAAa,CAAC;gBACpB,OAAO;gBACP,YAAY;aACb,CAAC,CAAA;SACH;aAAM;YACL,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;SACrG;IACH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,KAAY,EACZ,aAAmB,EACnB,SAAkB,EAClB,UAAuB;QAEvB,6CAA6C;QAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;SAC9E;QAED,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC7C,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAElE,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,oDAAoD,EAAE;gBACzG,KAAK,CAAC,OAAO;gBACb,KAAK,CAAC,aAAa,CAAC;gBACpB,OAAO;gBACP,YAAY;aACb,CAAC,CAAA;SACH;aAAM;YACL,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,6BAA6B,EAAE;gBAClF,KAAK,CAAC,OAAO;gBACb,KAAK,CAAC,aAAa,CAAC;aACrB,CAAC,CAAA;SACH;IACH,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAY,EAAE,MAAY;QACjD,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC9F,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,MAAY;QACtC,OAAO,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;;AA9Da,0BAAS,GAAc,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
1
+ import { Percent, Token } from '@uniswap/sdk-core';
2
+ import JSBI from 'jsbi';
3
+ import { PaymentsExtended } from './paymentsExtended';
4
+ const recipient = '0x0000000000000000000000000000000000000003';
5
+ const amount = JSBI.BigInt(123);
6
+ const feeOptions = {
7
+ fee: new Percent(1, 1000),
8
+ recipient: '0x0000000000000000000000000000000000000009',
9
+ };
10
+ const token = new Token(1, '0x0000000000000000000000000000000000000001', 18, 't0', 'token0');
11
+ describe('PaymentsExtended', () => {
12
+ describe('#encodeUnwrapWETH9', () => {
13
+ it('works without recipient', () => {
14
+ const calldata = PaymentsExtended.encodeUnwrapWETH9(amount);
15
+ expect(calldata).toBe('0x49616997000000000000000000000000000000000000000000000000000000000000007b');
16
+ });
17
+ it('works with recipient', () => {
18
+ const calldata = PaymentsExtended.encodeUnwrapWETH9(amount, recipient);
19
+ expect(calldata).toBe('0x49404b7c000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000003');
20
+ });
21
+ it('works with recipient and with fee', () => {
22
+ const calldata = PaymentsExtended.encodeUnwrapWETH9(amount, recipient, feeOptions);
23
+ expect(calldata).toBe('0x9b2c0a37000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000009');
24
+ });
25
+ it('works without recipient and with fee', () => {
26
+ const calldata = PaymentsExtended.encodeUnwrapWETH9(amount, undefined, feeOptions);
27
+ expect(calldata).toBe('0xd4ef38de000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000009');
28
+ });
29
+ });
30
+ describe('#encodeSweepToken', () => {
31
+ it('works without recipient', () => {
32
+ const calldata = PaymentsExtended.encodeSweepToken(token, amount);
33
+ expect(calldata).toBe('0xe90a182f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007b');
34
+ });
35
+ it('works with recipient', () => {
36
+ const calldata = PaymentsExtended.encodeSweepToken(token, amount, recipient);
37
+ expect(calldata).toBe('0xdf2ab5bb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000003');
38
+ });
39
+ it('works with recipient and with fee', () => {
40
+ const calldata = PaymentsExtended.encodeSweepToken(token, amount, recipient, feeOptions);
41
+ expect(calldata).toBe('0xe0e189a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000009');
42
+ });
43
+ it('works without recipient and with fee', () => {
44
+ const calldata = PaymentsExtended.encodeSweepToken(token, amount, undefined, feeOptions);
45
+ expect(calldata).toBe('0x3068c5540000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000009');
46
+ });
47
+ });
48
+ it('#encodePull', () => {
49
+ const calldata = PaymentsExtended.encodePull(token, amount);
50
+ expect(calldata).toBe('0xf2d5d56b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007b');
51
+ });
52
+ it('#encodeWrapETH', () => {
53
+ const calldata = PaymentsExtended.encodeWrapETH(amount);
54
+ expect(calldata).toBe('0x1c58db4f000000000000000000000000000000000000000000000000000000000000007b');
55
+ });
56
+ });
57
+ //# sourceMappingURL=paymentsExtended.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentsExtended.test.js","sourceRoot":"","sources":["../../../src/paymentsExtended.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { Currency, Percent, TradeType } from '@uniswap/sdk-core';
3
+ import { Trade as V2Trade } from '@uniswap/v2-sdk';
4
+ import { FeeOptions, MethodParameters, PermitOptions, Position, Trade as V3Trade } from '@uniswap/v3-sdk';
5
+ import { ApprovalTypes, CondensedAddLiquidityOptions } from './approveAndCall';
6
+ import { Trade } from './entities/trade';
7
+ import { Validation } from './multicallExtended';
8
+ import { MixedRouteTrade } from './entities/mixedRoute/trade';
9
+ /**
10
+ * Options for producing the arguments to send calls to the router.
11
+ */
12
+ export interface SwapOptions {
13
+ /**
14
+ * How much the execution price is allowed to move unfavorably from the trade execution price.
15
+ */
16
+ slippageTolerance: Percent;
17
+ /**
18
+ * The account that should receive the output. If omitted, output is sent to msg.sender.
19
+ */
20
+ recipient?: string;
21
+ /**
22
+ * Either deadline (when the transaction expires, in epoch seconds), or previousBlockhash.
23
+ */
24
+ deadlineOrPreviousBlockhash?: Validation;
25
+ /**
26
+ * The optional permit parameters for spending the input.
27
+ */
28
+ inputTokenPermit?: PermitOptions;
29
+ /**
30
+ * Optional information for taking a fee on output.
31
+ */
32
+ fee?: FeeOptions;
33
+ }
34
+ export interface SwapAndAddOptions extends SwapOptions {
35
+ /**
36
+ * The optional permit parameters for pulling in remaining output token.
37
+ */
38
+ outputTokenPermit?: PermitOptions;
39
+ }
40
+ type AnyTradeType = Trade<Currency, Currency, TradeType> | V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType> | MixedRouteTrade<Currency, Currency, TradeType> | (V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType> | MixedRouteTrade<Currency, Currency, TradeType>)[];
41
+ /**
42
+ * Represents the Uniswap V2 + V3 SwapRouter02, and has static methods for helping execute trades.
43
+ */
44
+ export declare abstract class SwapRouter {
45
+ static INTERFACE: Interface;
46
+ /**
47
+ * Cannot be constructed.
48
+ */
49
+ private constructor();
50
+ /**
51
+ * @notice Generates the calldata for a Swap with a V2 Route.
52
+ * @param trade The V2Trade to encode.
53
+ * @param options SwapOptions to use for the trade.
54
+ * @param routerMustCustody Flag for whether funds should be sent to the router
55
+ * @param performAggregatedSlippageCheck Flag for whether we want to perform an aggregated slippage check
56
+ * @returns A string array of calldatas for the trade.
57
+ */
58
+ private static encodeV2Swap;
59
+ /**
60
+ * @notice Generates the calldata for a Swap with a V3 Route.
61
+ * @param trade The V3Trade to encode.
62
+ * @param options SwapOptions to use for the trade.
63
+ * @param routerMustCustody Flag for whether funds should be sent to the router
64
+ * @param performAggregatedSlippageCheck Flag for whether we want to perform an aggregated slippage check
65
+ * @returns A string array of calldatas for the trade.
66
+ */
67
+ private static encodeV3Swap;
68
+ /**
69
+ * @notice Generates the calldata for a MixedRouteSwap. Since single hop routes are not MixedRoutes, we will instead generate
70
+ * them via the existing encodeV3Swap and encodeV2Swap methods.
71
+ * @param trade The MixedRouteTrade to encode.
72
+ * @param options SwapOptions to use for the trade.
73
+ * @param routerMustCustody Flag for whether funds should be sent to the router
74
+ * @param performAggregatedSlippageCheck Flag for whether we want to perform an aggregated slippage check
75
+ * @returns A string array of calldatas for the trade.
76
+ */
77
+ private static encodeMixedRouteSwap;
78
+ private static encodeSwaps;
79
+ /**
80
+ * Produces the on-chain method name to call and the hex encoded parameters to pass as arguments for a given trade.
81
+ * @param trades to produce call parameters for
82
+ * @param options options for the call parameters
83
+ */
84
+ static swapCallParameters(trades: Trade<Currency, Currency, TradeType> | V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType> | MixedRouteTrade<Currency, Currency, TradeType> | (V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType> | MixedRouteTrade<Currency, Currency, TradeType>)[], options: SwapOptions): MethodParameters;
85
+ /**
86
+ * Produces the on-chain method name to call and the hex encoded parameters to pass as arguments for a given trade.
87
+ * @param trades to produce call parameters for
88
+ * @param options options for the call parameters
89
+ */
90
+ static swapAndAddCallParameters(trades: AnyTradeType, options: SwapAndAddOptions, position: Position, addLiquidityOptions: CondensedAddLiquidityOptions, tokenInApprovalType: ApprovalTypes, tokenOutApprovalType: ApprovalTypes): MethodParameters;
91
+ private static riskOfPartialFill;
92
+ private static v3TradeWithHighPriceImpact;
93
+ private static getPositionAmounts;
94
+ }
95
+ export {};