@fanx-protocol/smart-order-router 0.0.1 → 1.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 (397) hide show
  1. package/build/main/providers/caching-subgraph-provider.d.ts +1 -1
  2. package/build/main/providers/eip-1559-gas-price-provider.d.ts +2 -2
  3. package/build/main/providers/eth-estimate-gas-provider.js +2 -2
  4. package/build/main/providers/eth-gas-station-info-gas-price-provider.d.ts +1 -1
  5. package/build/main/providers/gas-price-provider.d.ts +1 -1
  6. package/build/main/providers/multicall-provider.d.ts +6 -6
  7. package/build/main/providers/multicall-uniswap-provider.d.ts +1 -1
  8. package/build/main/providers/on-chain-quote-provider.d.ts +17 -17
  9. package/build/main/providers/pool-provider.d.ts +4 -4
  10. package/build/main/providers/provider.d.ts +2 -2
  11. package/build/main/providers/simulation-provider.d.ts +1 -1
  12. package/build/main/providers/subgraph-provider.d.ts +2 -2
  13. package/build/main/providers/swap-router-provider.d.ts +1 -1
  14. package/build/main/providers/token-fee-fetcher.d.ts +3 -3
  15. package/build/main/providers/token-properties-provider.d.ts +3 -3
  16. package/build/main/providers/token-provider.d.ts +1 -1
  17. package/build/main/providers/v2/pool-provider.d.ts +2 -2
  18. package/build/main/providers/v2/quote-provider.d.ts +2 -2
  19. package/build/main/providers/v3/gas-data-provider.d.ts +1 -1
  20. package/build/main/providers/v3/pool-provider.d.ts +5 -5
  21. package/build/main/providers/v3/subgraph-provider.d.ts +1 -1
  22. package/build/main/routers/alpha-router/alpha-router.d.ts +3 -3
  23. package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +7 -7
  24. package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +10 -10
  25. package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +1 -1
  26. package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +12 -12
  27. package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +7 -7
  28. package/build/main/routers/router.d.ts +14 -14
  29. package/build/main/tsconfig.tsbuildinfo +1 -1
  30. package/build/main/types/other/factories/GasPriceOracle__factory.d.ts +46 -0
  31. package/build/main/types/other/factories/GasPriceOracle__factory.js +316 -0
  32. package/build/main/types/other/factories/IApproveAndCall__factory.d.ts +41 -0
  33. package/build/main/types/other/factories/IApproveAndCall__factory.js +222 -0
  34. package/build/main/types/other/factories/IImmutableState__factory.d.ts +18 -0
  35. package/build/main/types/other/factories/IImmutableState__factory.js +46 -0
  36. package/build/main/types/other/factories/IMulticallExtended__factory.d.ts +22 -0
  37. package/build/main/types/other/factories/IMulticallExtended__factory.js +87 -0
  38. package/build/main/types/other/factories/IOracleSlippage__factory.d.ts +18 -0
  39. package/build/main/types/other/factories/IOracleSlippage__factory.js +71 -0
  40. package/build/main/types/other/factories/IPeripheryPaymentsExtended__factory.d.ts +18 -0
  41. package/build/main/types/other/factories/IPeripheryPaymentsExtended__factory.js +130 -0
  42. package/build/main/types/other/factories/IPeripheryPaymentsWithFeeExtended__factory.d.ts +18 -0
  43. package/build/main/types/other/factories/IPeripheryPaymentsWithFeeExtended__factory.js +242 -0
  44. package/build/main/types/other/factories/IQuoterV2__factory.d.ts +41 -0
  45. package/build/main/types/other/factories/IQuoterV2__factory.js +220 -0
  46. package/build/main/types/other/factories/IQuoter__factory.d.ts +22 -0
  47. package/build/main/types/other/factories/IQuoter__factory.js +146 -0
  48. package/build/main/types/other/factories/ISwapRouter02__factory.d.ts +41 -0
  49. package/build/main/types/other/factories/ISwapRouter02__factory.js +726 -0
  50. package/build/main/types/other/factories/IV2SwapRouter__factory.d.ts +22 -0
  51. package/build/main/types/other/factories/IV2SwapRouter__factory.js +88 -0
  52. package/build/main/types/other/factories/IV3SwapRouter__factory.d.ts +37 -0
  53. package/build/main/types/other/factories/IV3SwapRouter__factory.js +237 -0
  54. package/build/main/types/other/factories/IWETH__factory.d.ts +22 -0
  55. package/build/main/types/other/factories/IWETH__factory.js +64 -0
  56. package/build/main/types/other/factories/MixedRouteQuoterV1__factory.d.ts +61 -0
  57. package/build/main/types/other/factories/MixedRouteQuoterV1__factory.js +261 -0
  58. package/build/main/types/other/factories/Multicall2__factory.d.ts +42 -0
  59. package/build/main/types/other/factories/Multicall2__factory.js +331 -0
  60. package/build/main/types/other/factories/Permit2__factory.d.ts +1 -1
  61. package/build/main/types/other/factories/Permit2__factory.js +8 -3
  62. package/build/main/types/other/factories/QuoterV2__factory.d.ts +61 -0
  63. package/build/main/types/other/factories/QuoterV2__factory.js +307 -0
  64. package/build/main/types/other/factories/Quoter__factory.d.ts +42 -0
  65. package/build/main/types/other/factories/Quoter__factory.js +233 -0
  66. package/build/main/types/other/factories/StateView__factory.d.ts +32 -0
  67. package/build/main/types/other/factories/StateView__factory.js +383 -0
  68. package/build/main/types/other/factories/SwapRouter02__factory.d.ts +1 -1
  69. package/build/main/types/other/factories/SwapRouter02__factory.js +8 -3
  70. package/build/main/types/other/factories/TokenValidator__factory.d.ts +42 -0
  71. package/build/main/types/other/factories/TokenValidator__factory.js +170 -0
  72. package/build/main/types/other/factories/V2SwapRouter__factory.d.ts +28 -0
  73. package/build/main/types/other/factories/V2SwapRouter__factory.js +366 -0
  74. package/build/main/types/other/factories/V3SwapRouter__factory.d.ts +43 -0
  75. package/build/main/types/other/factories/V3SwapRouter__factory.js +540 -0
  76. package/build/main/types/other/factories/V4Quoter__factory.d.ts +37 -0
  77. package/build/main/types/other/factories/V4Quoter__factory.js +312 -0
  78. package/build/main/types/other/index.d.ts +42 -0
  79. package/build/main/types/other/index.js +46 -0
  80. package/build/main/types/token-lists/index.d.ts +40 -0
  81. package/build/main/types/token-lists/index.js +3 -0
  82. package/build/main/types/v2/factories/IUniswapV2Callee__factory.d.ts +18 -0
  83. package/build/main/types/v2/factories/IUniswapV2Callee__factory.js +48 -0
  84. package/build/main/types/v2/factories/IUniswapV2ERC20__factory.d.ts +39 -0
  85. package/build/main/types/v2/factories/IUniswapV2ERC20__factory.js +356 -0
  86. package/build/main/types/v2/factories/IUniswapV2Factory__factory.d.ts +35 -0
  87. package/build/main/types/v2/factories/IUniswapV2Factory__factory.js +183 -0
  88. package/build/main/types/v2/factories/IUniswapV2Migrator__factory.d.ts +18 -0
  89. package/build/main/types/v2/factories/IUniswapV2Migrator__factory.js +53 -0
  90. package/build/main/types/v2/factories/IUniswapV2Router01__factory.d.ts +22 -0
  91. package/build/main/types/v2/factories/IUniswapV2Router01__factory.js +769 -0
  92. package/build/main/types/v2/factories/IUniswapV2Router02__factory.d.ts +22 -0
  93. package/build/main/types/v2/factories/IUniswapV2Router02__factory.js +971 -0
  94. package/build/main/types/v2/factories/UniswapV2ERC20__factory.d.ts +58 -0
  95. package/build/main/types/v2/factories/UniswapV2ERC20__factory.js +384 -0
  96. package/build/main/types/v2/factories/UniswapV2Factory__factory.d.ts +62 -0
  97. package/build/main/types/v2/factories/UniswapV2Factory__factory.js +233 -0
  98. package/build/main/types/v2/factories/UniswapV2Migrator__factory.d.ts +44 -0
  99. package/build/main/types/v2/factories/UniswapV2Migrator__factory.js +95 -0
  100. package/build/main/types/v2/factories/UniswapV2Pair__factory.d.ts +58 -0
  101. package/build/main/types/v2/factories/UniswapV2Pair__factory.js +753 -0
  102. package/build/main/types/v2/factories/UniswapV2Router01__factory.d.ts +48 -0
  103. package/build/main/types/v2/factories/UniswapV2Router01__factory.js +811 -0
  104. package/build/main/types/v2/factories/UniswapV2Router02__factory.d.ts +48 -0
  105. package/build/main/types/v2/factories/UniswapV2Router02__factory.js +1013 -0
  106. package/build/main/types/v2/index.d.ts +26 -0
  107. package/build/main/types/v2/index.js +30 -0
  108. package/build/main/types/v3/factories/IERC1271__factory.d.ts +22 -0
  109. package/build/main/types/v3/factories/IERC1271__factory.js +44 -0
  110. package/build/main/types/v3/factories/IERC20Minimal__factory.d.ts +35 -0
  111. package/build/main/types/v3/factories/IERC20Minimal__factory.js +190 -0
  112. package/build/main/types/v3/factories/IERC20PermitAllowed__factory.d.ts +18 -0
  113. package/build/main/types/v3/factories/IERC20PermitAllowed__factory.js +68 -0
  114. package/build/main/types/v3/factories/IERC721Permit__factory.d.ts +35 -0
  115. package/build/main/types/v3/factories/IERC721Permit__factory.js +369 -0
  116. package/build/main/types/v3/factories/IMulticall__factory.d.ts +22 -0
  117. package/build/main/types/v3/factories/IMulticall__factory.js +39 -0
  118. package/build/main/types/v3/factories/INonfungiblePositionManager__factory.d.ts +55 -0
  119. package/build/main/types/v3/factories/INonfungiblePositionManager__factory.js +1007 -0
  120. package/build/main/types/v3/factories/INonfungibleTokenPositionDescriptor__factory.d.ts +22 -0
  121. package/build/main/types/v3/factories/INonfungibleTokenPositionDescriptor__factory.js +44 -0
  122. package/build/main/types/v3/factories/IPeripheryImmutableState__factory.d.ts +18 -0
  123. package/build/main/types/v3/factories/IPeripheryImmutableState__factory.js +46 -0
  124. package/build/main/types/v3/factories/IPeripheryPaymentsWithFee__factory.d.ts +18 -0
  125. package/build/main/types/v3/factories/IPeripheryPaymentsWithFee__factory.js +129 -0
  126. package/build/main/types/v3/factories/IPeripheryPayments__factory.d.ts +18 -0
  127. package/build/main/types/v3/factories/IPeripheryPayments__factory.js +68 -0
  128. package/build/main/types/v3/factories/IPoolInitializer__factory.d.ts +22 -0
  129. package/build/main/types/v3/factories/IPoolInitializer__factory.js +54 -0
  130. package/build/main/types/v3/factories/IQuoter__factory.d.ts +22 -0
  131. package/build/main/types/v3/factories/IQuoter__factory.js +146 -0
  132. package/build/main/types/v3/factories/ISelfPermit__factory.d.ts +18 -0
  133. package/build/main/types/v3/factories/ISelfPermit__factory.js +172 -0
  134. package/build/main/types/v3/factories/ISwapRouter__factory.d.ts +37 -0
  135. package/build/main/types/v3/factories/ISwapRouter__factory.js +257 -0
  136. package/build/main/types/v3/factories/ITickLens__factory.d.ts +27 -0
  137. package/build/main/types/v3/factories/ITickLens__factory.js +61 -0
  138. package/build/main/types/v3/factories/IUniswapV3Factory__factory.d.ts +35 -0
  139. package/build/main/types/v3/factories/IUniswapV3Factory__factory.js +216 -0
  140. package/build/main/types/v3/factories/IUniswapV3FlashCallback__factory.d.ts +18 -0
  141. package/build/main/types/v3/factories/IUniswapV3FlashCallback__factory.js +43 -0
  142. package/build/main/types/v3/factories/IUniswapV3MintCallback__factory.d.ts +18 -0
  143. package/build/main/types/v3/factories/IUniswapV3MintCallback__factory.js +43 -0
  144. package/build/main/types/v3/factories/IUniswapV3PoolActions__factory.d.ts +22 -0
  145. package/build/main/types/v3/factories/IUniswapV3PoolActions__factory.js +240 -0
  146. package/build/main/types/v3/factories/IUniswapV3PoolDeployer__factory.d.ts +18 -0
  147. package/build/main/types/v3/factories/IUniswapV3PoolDeployer__factory.js +53 -0
  148. package/build/main/types/v3/factories/IUniswapV3PoolDerivedState__factory.d.ts +22 -0
  149. package/build/main/types/v3/factories/IUniswapV3PoolDerivedState__factory.js +78 -0
  150. package/build/main/types/v3/factories/IUniswapV3PoolEvents__factory.d.ts +18 -0
  151. package/build/main/types/v3/factories/IUniswapV3PoolEvents__factory.js +347 -0
  152. package/build/main/types/v3/factories/IUniswapV3PoolImmutables__factory.d.ts +18 -0
  153. package/build/main/types/v3/factories/IUniswapV3PoolImmutables__factory.js +98 -0
  154. package/build/main/types/v3/factories/IUniswapV3PoolOwnerActions__factory.d.ts +22 -0
  155. package/build/main/types/v3/factories/IUniswapV3PoolOwnerActions__factory.js +72 -0
  156. package/build/main/types/v3/factories/IUniswapV3Pool__factory.d.ts +35 -0
  157. package/build/main/types/v3/factories/IUniswapV3Pool__factory.js +1001 -0
  158. package/build/main/types/v3/factories/IUniswapV3SwapCallback__factory.d.ts +18 -0
  159. package/build/main/types/v3/factories/IUniswapV3SwapCallback__factory.js +43 -0
  160. package/build/main/types/v3/factories/IV3Migrator__factory.d.ts +37 -0
  161. package/build/main/types/v3/factories/IV3Migrator__factory.js +305 -0
  162. package/build/main/types/v3/factories/IWETH9__factory.d.ts +35 -0
  163. package/build/main/types/v3/factories/IWETH9__factory.js +223 -0
  164. package/build/main/types/v3/factories/NFTDescriptor__factory.d.ts +37 -0
  165. package/build/main/types/v3/factories/NFTDescriptor__factory.js +133 -0
  166. package/build/main/types/v3/factories/NonfungiblePositionManager__factory.d.ts +83 -0
  167. package/build/main/types/v3/factories/NonfungiblePositionManager__factory.js +1261 -0
  168. package/build/main/types/v3/factories/NonfungibleTokenPositionDescriptor__factory.d.ts +51 -0
  169. package/build/main/types/v3/factories/NonfungibleTokenPositionDescriptor__factory.js +187 -0
  170. package/build/main/types/v3/factories/PairFlash__factory.d.ts +69 -0
  171. package/build/main/types/v3/factories/PairFlash__factory.js +227 -0
  172. package/build/main/types/v3/factories/QuoterV2__factory.d.ts +61 -0
  173. package/build/main/types/v3/factories/QuoterV2__factory.js +307 -0
  174. package/build/main/types/v3/factories/Quoter__factory.d.ts +42 -0
  175. package/build/main/types/v3/factories/Quoter__factory.js +233 -0
  176. package/build/main/types/v3/factories/SwapRouter__factory.d.ts +67 -0
  177. package/build/main/types/v3/factories/SwapRouter__factory.js +605 -0
  178. package/build/main/types/v3/factories/TickLens__factory.d.ts +37 -0
  179. package/build/main/types/v3/factories/TickLens__factory.js +83 -0
  180. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +1 -1
  181. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js +8 -3
  182. package/build/main/types/v3/factories/UniswapV3Factory__factory.d.ts +52 -0
  183. package/build/main/types/v3/factories/UniswapV3Factory__factory.js +276 -0
  184. package/build/main/types/v3/factories/UniswapV3Pool__factory.d.ts +52 -0
  185. package/build/main/types/v3/factories/UniswapV3Pool__factory.js +1028 -0
  186. package/build/main/types/v3/factories/V3Migrator__factory.d.ts +63 -0
  187. package/build/main/types/v3/factories/V3Migrator__factory.js +391 -0
  188. package/build/main/types/v3/index.d.ts +86 -0
  189. package/build/main/types/v3/index.js +90 -0
  190. package/build/main/util/addresses.d.ts +1 -1
  191. package/build/main/util/chains.js +3 -3
  192. package/build/main/util/onchainQuoteProviderConfigs.d.ts +1 -1
  193. package/build/module/providers/caching-subgraph-provider.d.ts +1 -1
  194. package/build/module/providers/eip-1559-gas-price-provider.d.ts +2 -2
  195. package/build/module/providers/eth-estimate-gas-provider.js +2 -2
  196. package/build/module/providers/eth-gas-station-info-gas-price-provider.d.ts +1 -1
  197. package/build/module/providers/gas-price-provider.d.ts +1 -1
  198. package/build/module/providers/multicall-provider.d.ts +6 -6
  199. package/build/module/providers/multicall-uniswap-provider.d.ts +1 -1
  200. package/build/module/providers/on-chain-quote-provider.d.ts +17 -17
  201. package/build/module/providers/pool-provider.d.ts +4 -4
  202. package/build/module/providers/provider.d.ts +2 -2
  203. package/build/module/providers/simulation-provider.d.ts +1 -1
  204. package/build/module/providers/subgraph-provider.d.ts +2 -2
  205. package/build/module/providers/swap-router-provider.d.ts +1 -1
  206. package/build/module/providers/token-fee-fetcher.d.ts +3 -3
  207. package/build/module/providers/token-properties-provider.d.ts +3 -3
  208. package/build/module/providers/token-provider.d.ts +1 -1
  209. package/build/module/providers/v2/pool-provider.d.ts +2 -2
  210. package/build/module/providers/v2/quote-provider.d.ts +2 -2
  211. package/build/module/providers/v3/gas-data-provider.d.ts +1 -1
  212. package/build/module/providers/v3/pool-provider.d.ts +5 -5
  213. package/build/module/providers/v3/subgraph-provider.d.ts +1 -1
  214. package/build/module/routers/alpha-router/alpha-router.d.ts +3 -3
  215. package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +7 -7
  216. package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +10 -10
  217. package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +1 -1
  218. package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +12 -12
  219. package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +7 -7
  220. package/build/module/routers/router.d.ts +14 -14
  221. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  222. package/build/module/types/other/factories/GasPriceOracle__factory.d.ts +46 -0
  223. package/build/module/types/other/factories/GasPriceOracle__factory.js +312 -0
  224. package/build/module/types/other/factories/IApproveAndCall__factory.d.ts +41 -0
  225. package/build/module/types/other/factories/IApproveAndCall__factory.js +218 -0
  226. package/build/module/types/other/factories/IImmutableState__factory.d.ts +18 -0
  227. package/build/module/types/other/factories/IImmutableState__factory.js +42 -0
  228. package/build/module/types/other/factories/IMulticallExtended__factory.d.ts +22 -0
  229. package/build/module/types/other/factories/IMulticallExtended__factory.js +83 -0
  230. package/build/module/types/other/factories/IOracleSlippage__factory.d.ts +18 -0
  231. package/build/module/types/other/factories/IOracleSlippage__factory.js +67 -0
  232. package/build/module/types/other/factories/IPeripheryPaymentsExtended__factory.d.ts +18 -0
  233. package/build/module/types/other/factories/IPeripheryPaymentsExtended__factory.js +126 -0
  234. package/build/module/types/other/factories/IPeripheryPaymentsWithFeeExtended__factory.d.ts +18 -0
  235. package/build/module/types/other/factories/IPeripheryPaymentsWithFeeExtended__factory.js +238 -0
  236. package/build/module/types/other/factories/IQuoterV2__factory.d.ts +41 -0
  237. package/build/module/types/other/factories/IQuoterV2__factory.js +216 -0
  238. package/build/module/types/other/factories/IQuoter__factory.d.ts +22 -0
  239. package/build/module/types/other/factories/IQuoter__factory.js +142 -0
  240. package/build/module/types/other/factories/ISwapRouter02__factory.d.ts +41 -0
  241. package/build/module/types/other/factories/ISwapRouter02__factory.js +722 -0
  242. package/build/module/types/other/factories/IV2SwapRouter__factory.d.ts +22 -0
  243. package/build/module/types/other/factories/IV2SwapRouter__factory.js +84 -0
  244. package/build/module/types/other/factories/IV3SwapRouter__factory.d.ts +37 -0
  245. package/build/module/types/other/factories/IV3SwapRouter__factory.js +233 -0
  246. package/build/module/types/other/factories/IWETH__factory.d.ts +22 -0
  247. package/build/module/types/other/factories/IWETH__factory.js +60 -0
  248. package/build/module/types/other/factories/MixedRouteQuoterV1__factory.d.ts +61 -0
  249. package/build/module/types/other/factories/MixedRouteQuoterV1__factory.js +257 -0
  250. package/build/module/types/other/factories/Multicall2__factory.d.ts +42 -0
  251. package/build/module/types/other/factories/Multicall2__factory.js +327 -0
  252. package/build/module/types/other/factories/Permit2__factory.d.ts +1 -1
  253. package/build/module/types/other/factories/Permit2__factory.js +8 -3
  254. package/build/module/types/other/factories/QuoterV2__factory.d.ts +61 -0
  255. package/build/module/types/other/factories/QuoterV2__factory.js +303 -0
  256. package/build/module/types/other/factories/Quoter__factory.d.ts +42 -0
  257. package/build/module/types/other/factories/Quoter__factory.js +229 -0
  258. package/build/module/types/other/factories/StateView__factory.d.ts +32 -0
  259. package/build/module/types/other/factories/StateView__factory.js +379 -0
  260. package/build/module/types/other/factories/SwapRouter02__factory.d.ts +1 -1
  261. package/build/module/types/other/factories/SwapRouter02__factory.js +8 -3
  262. package/build/module/types/other/factories/TokenValidator__factory.d.ts +42 -0
  263. package/build/module/types/other/factories/TokenValidator__factory.js +166 -0
  264. package/build/module/types/other/factories/V2SwapRouter__factory.d.ts +28 -0
  265. package/build/module/types/other/factories/V2SwapRouter__factory.js +362 -0
  266. package/build/module/types/other/factories/V3SwapRouter__factory.d.ts +43 -0
  267. package/build/module/types/other/factories/V3SwapRouter__factory.js +536 -0
  268. package/build/module/types/other/factories/V4Quoter__factory.d.ts +37 -0
  269. package/build/module/types/other/factories/V4Quoter__factory.js +308 -0
  270. package/build/module/types/other/index.d.ts +42 -0
  271. package/build/module/types/other/index.js +22 -0
  272. package/build/module/types/token-lists/index.d.ts +40 -0
  273. package/build/module/types/token-lists/index.js +2 -0
  274. package/build/module/types/v2/factories/IUniswapV2Callee__factory.d.ts +18 -0
  275. package/build/module/types/v2/factories/IUniswapV2Callee__factory.js +44 -0
  276. package/build/module/types/v2/factories/IUniswapV2ERC20__factory.d.ts +39 -0
  277. package/build/module/types/v2/factories/IUniswapV2ERC20__factory.js +352 -0
  278. package/build/module/types/v2/factories/IUniswapV2Factory__factory.d.ts +35 -0
  279. package/build/module/types/v2/factories/IUniswapV2Factory__factory.js +179 -0
  280. package/build/module/types/v2/factories/IUniswapV2Migrator__factory.d.ts +18 -0
  281. package/build/module/types/v2/factories/IUniswapV2Migrator__factory.js +49 -0
  282. package/build/module/types/v2/factories/IUniswapV2Router01__factory.d.ts +22 -0
  283. package/build/module/types/v2/factories/IUniswapV2Router01__factory.js +765 -0
  284. package/build/module/types/v2/factories/IUniswapV2Router02__factory.d.ts +22 -0
  285. package/build/module/types/v2/factories/IUniswapV2Router02__factory.js +967 -0
  286. package/build/module/types/v2/factories/UniswapV2ERC20__factory.d.ts +58 -0
  287. package/build/module/types/v2/factories/UniswapV2ERC20__factory.js +380 -0
  288. package/build/module/types/v2/factories/UniswapV2Factory__factory.d.ts +62 -0
  289. package/build/module/types/v2/factories/UniswapV2Factory__factory.js +229 -0
  290. package/build/module/types/v2/factories/UniswapV2Migrator__factory.d.ts +44 -0
  291. package/build/module/types/v2/factories/UniswapV2Migrator__factory.js +91 -0
  292. package/build/module/types/v2/factories/UniswapV2Pair__factory.d.ts +58 -0
  293. package/build/module/types/v2/factories/UniswapV2Pair__factory.js +749 -0
  294. package/build/module/types/v2/factories/UniswapV2Router01__factory.d.ts +48 -0
  295. package/build/module/types/v2/factories/UniswapV2Router01__factory.js +807 -0
  296. package/build/module/types/v2/factories/UniswapV2Router02__factory.d.ts +48 -0
  297. package/build/module/types/v2/factories/UniswapV2Router02__factory.js +1009 -0
  298. package/build/module/types/v2/index.d.ts +26 -0
  299. package/build/module/types/v2/index.js +14 -0
  300. package/build/module/types/v3/factories/IERC1271__factory.d.ts +22 -0
  301. package/build/module/types/v3/factories/IERC1271__factory.js +40 -0
  302. package/build/module/types/v3/factories/IERC20Minimal__factory.d.ts +35 -0
  303. package/build/module/types/v3/factories/IERC20Minimal__factory.js +186 -0
  304. package/build/module/types/v3/factories/IERC20PermitAllowed__factory.d.ts +18 -0
  305. package/build/module/types/v3/factories/IERC20PermitAllowed__factory.js +64 -0
  306. package/build/module/types/v3/factories/IERC721Permit__factory.d.ts +35 -0
  307. package/build/module/types/v3/factories/IERC721Permit__factory.js +365 -0
  308. package/build/module/types/v3/factories/IMulticall__factory.d.ts +22 -0
  309. package/build/module/types/v3/factories/IMulticall__factory.js +35 -0
  310. package/build/module/types/v3/factories/INonfungiblePositionManager__factory.d.ts +55 -0
  311. package/build/module/types/v3/factories/INonfungiblePositionManager__factory.js +1003 -0
  312. package/build/module/types/v3/factories/INonfungibleTokenPositionDescriptor__factory.d.ts +22 -0
  313. package/build/module/types/v3/factories/INonfungibleTokenPositionDescriptor__factory.js +40 -0
  314. package/build/module/types/v3/factories/IPeripheryImmutableState__factory.d.ts +18 -0
  315. package/build/module/types/v3/factories/IPeripheryImmutableState__factory.js +42 -0
  316. package/build/module/types/v3/factories/IPeripheryPaymentsWithFee__factory.d.ts +18 -0
  317. package/build/module/types/v3/factories/IPeripheryPaymentsWithFee__factory.js +125 -0
  318. package/build/module/types/v3/factories/IPeripheryPayments__factory.d.ts +18 -0
  319. package/build/module/types/v3/factories/IPeripheryPayments__factory.js +64 -0
  320. package/build/module/types/v3/factories/IPoolInitializer__factory.d.ts +22 -0
  321. package/build/module/types/v3/factories/IPoolInitializer__factory.js +50 -0
  322. package/build/module/types/v3/factories/IQuoter__factory.d.ts +22 -0
  323. package/build/module/types/v3/factories/IQuoter__factory.js +142 -0
  324. package/build/module/types/v3/factories/ISelfPermit__factory.d.ts +18 -0
  325. package/build/module/types/v3/factories/ISelfPermit__factory.js +168 -0
  326. package/build/module/types/v3/factories/ISwapRouter__factory.d.ts +37 -0
  327. package/build/module/types/v3/factories/ISwapRouter__factory.js +253 -0
  328. package/build/module/types/v3/factories/ITickLens__factory.d.ts +27 -0
  329. package/build/module/types/v3/factories/ITickLens__factory.js +57 -0
  330. package/build/module/types/v3/factories/IUniswapV3Factory__factory.d.ts +35 -0
  331. package/build/module/types/v3/factories/IUniswapV3Factory__factory.js +212 -0
  332. package/build/module/types/v3/factories/IUniswapV3FlashCallback__factory.d.ts +18 -0
  333. package/build/module/types/v3/factories/IUniswapV3FlashCallback__factory.js +39 -0
  334. package/build/module/types/v3/factories/IUniswapV3MintCallback__factory.d.ts +18 -0
  335. package/build/module/types/v3/factories/IUniswapV3MintCallback__factory.js +39 -0
  336. package/build/module/types/v3/factories/IUniswapV3PoolActions__factory.d.ts +22 -0
  337. package/build/module/types/v3/factories/IUniswapV3PoolActions__factory.js +236 -0
  338. package/build/module/types/v3/factories/IUniswapV3PoolDeployer__factory.d.ts +18 -0
  339. package/build/module/types/v3/factories/IUniswapV3PoolDeployer__factory.js +49 -0
  340. package/build/module/types/v3/factories/IUniswapV3PoolDerivedState__factory.d.ts +22 -0
  341. package/build/module/types/v3/factories/IUniswapV3PoolDerivedState__factory.js +74 -0
  342. package/build/module/types/v3/factories/IUniswapV3PoolEvents__factory.d.ts +18 -0
  343. package/build/module/types/v3/factories/IUniswapV3PoolEvents__factory.js +343 -0
  344. package/build/module/types/v3/factories/IUniswapV3PoolImmutables__factory.d.ts +18 -0
  345. package/build/module/types/v3/factories/IUniswapV3PoolImmutables__factory.js +94 -0
  346. package/build/module/types/v3/factories/IUniswapV3PoolOwnerActions__factory.d.ts +22 -0
  347. package/build/module/types/v3/factories/IUniswapV3PoolOwnerActions__factory.js +68 -0
  348. package/build/module/types/v3/factories/IUniswapV3Pool__factory.d.ts +35 -0
  349. package/build/module/types/v3/factories/IUniswapV3Pool__factory.js +997 -0
  350. package/build/module/types/v3/factories/IUniswapV3SwapCallback__factory.d.ts +18 -0
  351. package/build/module/types/v3/factories/IUniswapV3SwapCallback__factory.js +39 -0
  352. package/build/module/types/v3/factories/IV3Migrator__factory.d.ts +37 -0
  353. package/build/module/types/v3/factories/IV3Migrator__factory.js +301 -0
  354. package/build/module/types/v3/factories/IWETH9__factory.d.ts +35 -0
  355. package/build/module/types/v3/factories/IWETH9__factory.js +219 -0
  356. package/build/module/types/v3/factories/NFTDescriptor__factory.d.ts +37 -0
  357. package/build/module/types/v3/factories/NFTDescriptor__factory.js +129 -0
  358. package/build/module/types/v3/factories/NonfungiblePositionManager__factory.d.ts +83 -0
  359. package/build/module/types/v3/factories/NonfungiblePositionManager__factory.js +1257 -0
  360. package/build/module/types/v3/factories/NonfungibleTokenPositionDescriptor__factory.d.ts +51 -0
  361. package/build/module/types/v3/factories/NonfungibleTokenPositionDescriptor__factory.js +183 -0
  362. package/build/module/types/v3/factories/PairFlash__factory.d.ts +69 -0
  363. package/build/module/types/v3/factories/PairFlash__factory.js +223 -0
  364. package/build/module/types/v3/factories/QuoterV2__factory.d.ts +61 -0
  365. package/build/module/types/v3/factories/QuoterV2__factory.js +303 -0
  366. package/build/module/types/v3/factories/Quoter__factory.d.ts +42 -0
  367. package/build/module/types/v3/factories/Quoter__factory.js +229 -0
  368. package/build/module/types/v3/factories/SwapRouter__factory.d.ts +67 -0
  369. package/build/module/types/v3/factories/SwapRouter__factory.js +601 -0
  370. package/build/module/types/v3/factories/TickLens__factory.d.ts +37 -0
  371. package/build/module/types/v3/factories/TickLens__factory.js +79 -0
  372. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +1 -1
  373. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.js +8 -3
  374. package/build/module/types/v3/factories/UniswapV3Factory__factory.d.ts +52 -0
  375. package/build/module/types/v3/factories/UniswapV3Factory__factory.js +272 -0
  376. package/build/module/types/v3/factories/UniswapV3Pool__factory.d.ts +52 -0
  377. package/build/module/types/v3/factories/UniswapV3Pool__factory.js +1024 -0
  378. package/build/module/types/v3/factories/V3Migrator__factory.d.ts +63 -0
  379. package/build/module/types/v3/factories/V3Migrator__factory.js +387 -0
  380. package/build/module/types/v3/index.d.ts +86 -0
  381. package/build/module/types/v3/index.js +44 -0
  382. package/build/module/util/addresses.d.ts +1 -1
  383. package/build/module/util/chains.js +3 -3
  384. package/build/module/util/onchainQuoteProviderConfigs.d.ts +1 -1
  385. package/package.json +23 -18
  386. package/build/main/types/other/commons.d.ts +0 -16
  387. package/build/main/types/other/commons.js +0 -6
  388. package/build/main/types/v2/commons.d.ts +0 -16
  389. package/build/main/types/v2/commons.js +0 -6
  390. package/build/main/types/v3/commons.d.ts +0 -16
  391. package/build/main/types/v3/commons.js +0 -6
  392. package/build/module/types/other/commons.d.ts +0 -16
  393. package/build/module/types/other/commons.js +0 -5
  394. package/build/module/types/v2/commons.d.ts +0 -16
  395. package/build/module/types/v2/commons.js +0 -5
  396. package/build/module/types/v3/commons.d.ts +0 -16
  397. package/build/module/types/v3/commons.js +0 -5
@@ -0,0 +1,811 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UniswapV2Router01__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_factory",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "address",
18
+ name: "_WETH",
19
+ type: "address",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ type: "constructor",
24
+ },
25
+ {
26
+ inputs: [],
27
+ name: "WETH",
28
+ outputs: [
29
+ {
30
+ internalType: "address",
31
+ name: "",
32
+ type: "address",
33
+ },
34
+ ],
35
+ stateMutability: "view",
36
+ type: "function",
37
+ },
38
+ {
39
+ inputs: [
40
+ {
41
+ internalType: "address",
42
+ name: "tokenA",
43
+ type: "address",
44
+ },
45
+ {
46
+ internalType: "address",
47
+ name: "tokenB",
48
+ type: "address",
49
+ },
50
+ {
51
+ internalType: "uint256",
52
+ name: "amountADesired",
53
+ type: "uint256",
54
+ },
55
+ {
56
+ internalType: "uint256",
57
+ name: "amountBDesired",
58
+ type: "uint256",
59
+ },
60
+ {
61
+ internalType: "uint256",
62
+ name: "amountAMin",
63
+ type: "uint256",
64
+ },
65
+ {
66
+ internalType: "uint256",
67
+ name: "amountBMin",
68
+ type: "uint256",
69
+ },
70
+ {
71
+ internalType: "address",
72
+ name: "to",
73
+ type: "address",
74
+ },
75
+ {
76
+ internalType: "uint256",
77
+ name: "deadline",
78
+ type: "uint256",
79
+ },
80
+ ],
81
+ name: "addLiquidity",
82
+ outputs: [
83
+ {
84
+ internalType: "uint256",
85
+ name: "amountA",
86
+ type: "uint256",
87
+ },
88
+ {
89
+ internalType: "uint256",
90
+ name: "amountB",
91
+ type: "uint256",
92
+ },
93
+ {
94
+ internalType: "uint256",
95
+ name: "liquidity",
96
+ type: "uint256",
97
+ },
98
+ ],
99
+ stateMutability: "nonpayable",
100
+ type: "function",
101
+ },
102
+ {
103
+ inputs: [
104
+ {
105
+ internalType: "address",
106
+ name: "token",
107
+ type: "address",
108
+ },
109
+ {
110
+ internalType: "uint256",
111
+ name: "amountTokenDesired",
112
+ type: "uint256",
113
+ },
114
+ {
115
+ internalType: "uint256",
116
+ name: "amountTokenMin",
117
+ type: "uint256",
118
+ },
119
+ {
120
+ internalType: "uint256",
121
+ name: "amountETHMin",
122
+ type: "uint256",
123
+ },
124
+ {
125
+ internalType: "address",
126
+ name: "to",
127
+ type: "address",
128
+ },
129
+ {
130
+ internalType: "uint256",
131
+ name: "deadline",
132
+ type: "uint256",
133
+ },
134
+ ],
135
+ name: "addLiquidityETH",
136
+ outputs: [
137
+ {
138
+ internalType: "uint256",
139
+ name: "amountToken",
140
+ type: "uint256",
141
+ },
142
+ {
143
+ internalType: "uint256",
144
+ name: "amountETH",
145
+ type: "uint256",
146
+ },
147
+ {
148
+ internalType: "uint256",
149
+ name: "liquidity",
150
+ type: "uint256",
151
+ },
152
+ ],
153
+ stateMutability: "payable",
154
+ type: "function",
155
+ },
156
+ {
157
+ inputs: [],
158
+ name: "factory",
159
+ outputs: [
160
+ {
161
+ internalType: "address",
162
+ name: "",
163
+ type: "address",
164
+ },
165
+ ],
166
+ stateMutability: "view",
167
+ type: "function",
168
+ },
169
+ {
170
+ inputs: [
171
+ {
172
+ internalType: "uint256",
173
+ name: "amountOut",
174
+ type: "uint256",
175
+ },
176
+ {
177
+ internalType: "uint256",
178
+ name: "reserveIn",
179
+ type: "uint256",
180
+ },
181
+ {
182
+ internalType: "uint256",
183
+ name: "reserveOut",
184
+ type: "uint256",
185
+ },
186
+ ],
187
+ name: "getAmountIn",
188
+ outputs: [
189
+ {
190
+ internalType: "uint256",
191
+ name: "amountIn",
192
+ type: "uint256",
193
+ },
194
+ ],
195
+ stateMutability: "pure",
196
+ type: "function",
197
+ },
198
+ {
199
+ inputs: [
200
+ {
201
+ internalType: "uint256",
202
+ name: "amountIn",
203
+ type: "uint256",
204
+ },
205
+ {
206
+ internalType: "uint256",
207
+ name: "reserveIn",
208
+ type: "uint256",
209
+ },
210
+ {
211
+ internalType: "uint256",
212
+ name: "reserveOut",
213
+ type: "uint256",
214
+ },
215
+ ],
216
+ name: "getAmountOut",
217
+ outputs: [
218
+ {
219
+ internalType: "uint256",
220
+ name: "amountOut",
221
+ type: "uint256",
222
+ },
223
+ ],
224
+ stateMutability: "pure",
225
+ type: "function",
226
+ },
227
+ {
228
+ inputs: [
229
+ {
230
+ internalType: "uint256",
231
+ name: "amountOut",
232
+ type: "uint256",
233
+ },
234
+ {
235
+ internalType: "address[]",
236
+ name: "path",
237
+ type: "address[]",
238
+ },
239
+ ],
240
+ name: "getAmountsIn",
241
+ outputs: [
242
+ {
243
+ internalType: "uint256[]",
244
+ name: "amounts",
245
+ type: "uint256[]",
246
+ },
247
+ ],
248
+ stateMutability: "view",
249
+ type: "function",
250
+ },
251
+ {
252
+ inputs: [
253
+ {
254
+ internalType: "uint256",
255
+ name: "amountIn",
256
+ type: "uint256",
257
+ },
258
+ {
259
+ internalType: "address[]",
260
+ name: "path",
261
+ type: "address[]",
262
+ },
263
+ ],
264
+ name: "getAmountsOut",
265
+ outputs: [
266
+ {
267
+ internalType: "uint256[]",
268
+ name: "amounts",
269
+ type: "uint256[]",
270
+ },
271
+ ],
272
+ stateMutability: "view",
273
+ type: "function",
274
+ },
275
+ {
276
+ inputs: [
277
+ {
278
+ internalType: "uint256",
279
+ name: "amountA",
280
+ type: "uint256",
281
+ },
282
+ {
283
+ internalType: "uint256",
284
+ name: "reserveA",
285
+ type: "uint256",
286
+ },
287
+ {
288
+ internalType: "uint256",
289
+ name: "reserveB",
290
+ type: "uint256",
291
+ },
292
+ ],
293
+ name: "quote",
294
+ outputs: [
295
+ {
296
+ internalType: "uint256",
297
+ name: "amountB",
298
+ type: "uint256",
299
+ },
300
+ ],
301
+ stateMutability: "pure",
302
+ type: "function",
303
+ },
304
+ {
305
+ inputs: [
306
+ {
307
+ internalType: "address",
308
+ name: "tokenA",
309
+ type: "address",
310
+ },
311
+ {
312
+ internalType: "address",
313
+ name: "tokenB",
314
+ type: "address",
315
+ },
316
+ {
317
+ internalType: "uint256",
318
+ name: "liquidity",
319
+ type: "uint256",
320
+ },
321
+ {
322
+ internalType: "uint256",
323
+ name: "amountAMin",
324
+ type: "uint256",
325
+ },
326
+ {
327
+ internalType: "uint256",
328
+ name: "amountBMin",
329
+ type: "uint256",
330
+ },
331
+ {
332
+ internalType: "address",
333
+ name: "to",
334
+ type: "address",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "deadline",
339
+ type: "uint256",
340
+ },
341
+ ],
342
+ name: "removeLiquidity",
343
+ outputs: [
344
+ {
345
+ internalType: "uint256",
346
+ name: "amountA",
347
+ type: "uint256",
348
+ },
349
+ {
350
+ internalType: "uint256",
351
+ name: "amountB",
352
+ type: "uint256",
353
+ },
354
+ ],
355
+ stateMutability: "nonpayable",
356
+ type: "function",
357
+ },
358
+ {
359
+ inputs: [
360
+ {
361
+ internalType: "address",
362
+ name: "token",
363
+ type: "address",
364
+ },
365
+ {
366
+ internalType: "uint256",
367
+ name: "liquidity",
368
+ type: "uint256",
369
+ },
370
+ {
371
+ internalType: "uint256",
372
+ name: "amountTokenMin",
373
+ type: "uint256",
374
+ },
375
+ {
376
+ internalType: "uint256",
377
+ name: "amountETHMin",
378
+ type: "uint256",
379
+ },
380
+ {
381
+ internalType: "address",
382
+ name: "to",
383
+ type: "address",
384
+ },
385
+ {
386
+ internalType: "uint256",
387
+ name: "deadline",
388
+ type: "uint256",
389
+ },
390
+ ],
391
+ name: "removeLiquidityETH",
392
+ outputs: [
393
+ {
394
+ internalType: "uint256",
395
+ name: "amountToken",
396
+ type: "uint256",
397
+ },
398
+ {
399
+ internalType: "uint256",
400
+ name: "amountETH",
401
+ type: "uint256",
402
+ },
403
+ ],
404
+ stateMutability: "nonpayable",
405
+ type: "function",
406
+ },
407
+ {
408
+ inputs: [
409
+ {
410
+ internalType: "address",
411
+ name: "token",
412
+ type: "address",
413
+ },
414
+ {
415
+ internalType: "uint256",
416
+ name: "liquidity",
417
+ type: "uint256",
418
+ },
419
+ {
420
+ internalType: "uint256",
421
+ name: "amountTokenMin",
422
+ type: "uint256",
423
+ },
424
+ {
425
+ internalType: "uint256",
426
+ name: "amountETHMin",
427
+ type: "uint256",
428
+ },
429
+ {
430
+ internalType: "address",
431
+ name: "to",
432
+ type: "address",
433
+ },
434
+ {
435
+ internalType: "uint256",
436
+ name: "deadline",
437
+ type: "uint256",
438
+ },
439
+ {
440
+ internalType: "bool",
441
+ name: "approveMax",
442
+ type: "bool",
443
+ },
444
+ {
445
+ internalType: "uint8",
446
+ name: "v",
447
+ type: "uint8",
448
+ },
449
+ {
450
+ internalType: "bytes32",
451
+ name: "r",
452
+ type: "bytes32",
453
+ },
454
+ {
455
+ internalType: "bytes32",
456
+ name: "s",
457
+ type: "bytes32",
458
+ },
459
+ ],
460
+ name: "removeLiquidityETHWithPermit",
461
+ outputs: [
462
+ {
463
+ internalType: "uint256",
464
+ name: "amountToken",
465
+ type: "uint256",
466
+ },
467
+ {
468
+ internalType: "uint256",
469
+ name: "amountETH",
470
+ type: "uint256",
471
+ },
472
+ ],
473
+ stateMutability: "nonpayable",
474
+ type: "function",
475
+ },
476
+ {
477
+ inputs: [
478
+ {
479
+ internalType: "address",
480
+ name: "tokenA",
481
+ type: "address",
482
+ },
483
+ {
484
+ internalType: "address",
485
+ name: "tokenB",
486
+ type: "address",
487
+ },
488
+ {
489
+ internalType: "uint256",
490
+ name: "liquidity",
491
+ type: "uint256",
492
+ },
493
+ {
494
+ internalType: "uint256",
495
+ name: "amountAMin",
496
+ type: "uint256",
497
+ },
498
+ {
499
+ internalType: "uint256",
500
+ name: "amountBMin",
501
+ type: "uint256",
502
+ },
503
+ {
504
+ internalType: "address",
505
+ name: "to",
506
+ type: "address",
507
+ },
508
+ {
509
+ internalType: "uint256",
510
+ name: "deadline",
511
+ type: "uint256",
512
+ },
513
+ {
514
+ internalType: "bool",
515
+ name: "approveMax",
516
+ type: "bool",
517
+ },
518
+ {
519
+ internalType: "uint8",
520
+ name: "v",
521
+ type: "uint8",
522
+ },
523
+ {
524
+ internalType: "bytes32",
525
+ name: "r",
526
+ type: "bytes32",
527
+ },
528
+ {
529
+ internalType: "bytes32",
530
+ name: "s",
531
+ type: "bytes32",
532
+ },
533
+ ],
534
+ name: "removeLiquidityWithPermit",
535
+ outputs: [
536
+ {
537
+ internalType: "uint256",
538
+ name: "amountA",
539
+ type: "uint256",
540
+ },
541
+ {
542
+ internalType: "uint256",
543
+ name: "amountB",
544
+ type: "uint256",
545
+ },
546
+ ],
547
+ stateMutability: "nonpayable",
548
+ type: "function",
549
+ },
550
+ {
551
+ inputs: [
552
+ {
553
+ internalType: "uint256",
554
+ name: "amountOut",
555
+ type: "uint256",
556
+ },
557
+ {
558
+ internalType: "address[]",
559
+ name: "path",
560
+ type: "address[]",
561
+ },
562
+ {
563
+ internalType: "address",
564
+ name: "to",
565
+ type: "address",
566
+ },
567
+ {
568
+ internalType: "uint256",
569
+ name: "deadline",
570
+ type: "uint256",
571
+ },
572
+ ],
573
+ name: "swapETHForExactTokens",
574
+ outputs: [
575
+ {
576
+ internalType: "uint256[]",
577
+ name: "amounts",
578
+ type: "uint256[]",
579
+ },
580
+ ],
581
+ stateMutability: "payable",
582
+ type: "function",
583
+ },
584
+ {
585
+ inputs: [
586
+ {
587
+ internalType: "uint256",
588
+ name: "amountOutMin",
589
+ type: "uint256",
590
+ },
591
+ {
592
+ internalType: "address[]",
593
+ name: "path",
594
+ type: "address[]",
595
+ },
596
+ {
597
+ internalType: "address",
598
+ name: "to",
599
+ type: "address",
600
+ },
601
+ {
602
+ internalType: "uint256",
603
+ name: "deadline",
604
+ type: "uint256",
605
+ },
606
+ ],
607
+ name: "swapExactETHForTokens",
608
+ outputs: [
609
+ {
610
+ internalType: "uint256[]",
611
+ name: "amounts",
612
+ type: "uint256[]",
613
+ },
614
+ ],
615
+ stateMutability: "payable",
616
+ type: "function",
617
+ },
618
+ {
619
+ inputs: [
620
+ {
621
+ internalType: "uint256",
622
+ name: "amountIn",
623
+ type: "uint256",
624
+ },
625
+ {
626
+ internalType: "uint256",
627
+ name: "amountOutMin",
628
+ type: "uint256",
629
+ },
630
+ {
631
+ internalType: "address[]",
632
+ name: "path",
633
+ type: "address[]",
634
+ },
635
+ {
636
+ internalType: "address",
637
+ name: "to",
638
+ type: "address",
639
+ },
640
+ {
641
+ internalType: "uint256",
642
+ name: "deadline",
643
+ type: "uint256",
644
+ },
645
+ ],
646
+ name: "swapExactTokensForETH",
647
+ outputs: [
648
+ {
649
+ internalType: "uint256[]",
650
+ name: "amounts",
651
+ type: "uint256[]",
652
+ },
653
+ ],
654
+ stateMutability: "nonpayable",
655
+ type: "function",
656
+ },
657
+ {
658
+ inputs: [
659
+ {
660
+ internalType: "uint256",
661
+ name: "amountIn",
662
+ type: "uint256",
663
+ },
664
+ {
665
+ internalType: "uint256",
666
+ name: "amountOutMin",
667
+ type: "uint256",
668
+ },
669
+ {
670
+ internalType: "address[]",
671
+ name: "path",
672
+ type: "address[]",
673
+ },
674
+ {
675
+ internalType: "address",
676
+ name: "to",
677
+ type: "address",
678
+ },
679
+ {
680
+ internalType: "uint256",
681
+ name: "deadline",
682
+ type: "uint256",
683
+ },
684
+ ],
685
+ name: "swapExactTokensForTokens",
686
+ outputs: [
687
+ {
688
+ internalType: "uint256[]",
689
+ name: "amounts",
690
+ type: "uint256[]",
691
+ },
692
+ ],
693
+ stateMutability: "nonpayable",
694
+ type: "function",
695
+ },
696
+ {
697
+ inputs: [
698
+ {
699
+ internalType: "uint256",
700
+ name: "amountOut",
701
+ type: "uint256",
702
+ },
703
+ {
704
+ internalType: "uint256",
705
+ name: "amountInMax",
706
+ type: "uint256",
707
+ },
708
+ {
709
+ internalType: "address[]",
710
+ name: "path",
711
+ type: "address[]",
712
+ },
713
+ {
714
+ internalType: "address",
715
+ name: "to",
716
+ type: "address",
717
+ },
718
+ {
719
+ internalType: "uint256",
720
+ name: "deadline",
721
+ type: "uint256",
722
+ },
723
+ ],
724
+ name: "swapTokensForExactETH",
725
+ outputs: [
726
+ {
727
+ internalType: "uint256[]",
728
+ name: "amounts",
729
+ type: "uint256[]",
730
+ },
731
+ ],
732
+ stateMutability: "nonpayable",
733
+ type: "function",
734
+ },
735
+ {
736
+ inputs: [
737
+ {
738
+ internalType: "uint256",
739
+ name: "amountOut",
740
+ type: "uint256",
741
+ },
742
+ {
743
+ internalType: "uint256",
744
+ name: "amountInMax",
745
+ type: "uint256",
746
+ },
747
+ {
748
+ internalType: "address[]",
749
+ name: "path",
750
+ type: "address[]",
751
+ },
752
+ {
753
+ internalType: "address",
754
+ name: "to",
755
+ type: "address",
756
+ },
757
+ {
758
+ internalType: "uint256",
759
+ name: "deadline",
760
+ type: "uint256",
761
+ },
762
+ ],
763
+ name: "swapTokensForExactTokens",
764
+ outputs: [
765
+ {
766
+ internalType: "uint256[]",
767
+ name: "amounts",
768
+ type: "uint256[]",
769
+ },
770
+ ],
771
+ stateMutability: "nonpayable",
772
+ type: "function",
773
+ },
774
+ {
775
+ stateMutability: "payable",
776
+ type: "receive",
777
+ },
778
+ ];
779
+ const _bytecode = "0x60c060405234801561001057600080fd5b506040516141273803806141278339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c613feb61013c600039806101655280610b235280610b5e5280610c9b5280610f5e52806113b852806115e65280611799528061182e5280611afd5280611eb352806121e9528061223f528061227352806122f4528061250e52806126be5280612753525080610d8d5280610e8b5280611031528061106a528061121552806114aa52806116cc528061186d5280611a335280611ba65280611e385280611e615280611e91528061206e528061221d52806125f452806127925280613211528061325452806137e752806138c852806139485250613feb6000f3fe6080604052600436106101485760003560e01c80638803dbee116100c0578063d06ca61f11610074578063e8e3370011610059578063e8e3370014610937578063f305d719146109c4578063fb3bdb4114610a175761018e565b8063d06ca61f14610800578063ded9382a146108b75761018e565b8063ad615dec116100a5578063ad615dec1461074b578063baa2abde14610781578063c45a0155146107eb5761018e565b80638803dbee14610668578063ad5c46481461070d5761018e565b80632195995c116101175780634a25d94a116100fc5780634a25d94a146105305780637ff36ab5146105d557806385f8c2591461020c5761018e565b80632195995c1461040057806338ed17391461048b5761018e565b806302751cec14610193578063054d50d41461020c57806318cbafe5146102545780631f00ca74146103495761018e565b3661018e573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c57fe5b005b600080fd5b34801561019f57600080fd5b506101f3600480360360c08110156101b657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610aaa565b6040805192835260208301919091528051918290030190f35b34801561021857600080fd5b506102426004803603606081101561022f57600080fd5b5080359060208101359060400135610bfd565b60408051918252519081900360200190f35b34801561026057600080fd5b506102f9600480360360a081101561027757600080fd5b81359160208101359181019060608101604082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460208302840111640100000000831117156102d257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c12565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033557818101518382015260200161031d565b505050509050019250505060405180910390f35b34801561035557600080fd5b506102f96004803603604081101561036c57600080fd5b8135919081019060408101602082013564010000000081111561038e57600080fd5b8201836020820111156103a057600080fd5b803590602001918460208302840111640100000000831117156103c257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061102a945050505050565b34801561040c57600080fd5b506101f3600480360361016081101561042457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611060565b34801561049757600080fd5b506102f9600480360360a08110156104ae57600080fd5b8135916020810135918101906060810160408201356401000000008111156104d557600080fd5b8201836020820111156104e757600080fd5b8035906020019184602083028401116401000000008311171561050957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561119e565b34801561053c57600080fd5b506102f9600480360360a081101561055357600080fd5b81359160208101359181019060608101604082013564010000000081111561057a57600080fd5b82018360208201111561058c57600080fd5b803590602001918460208302840111640100000000831117156105ae57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561132f565b6102f9600480360360808110156105eb57600080fd5b8135919081019060408101602082013564010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184602083028401116401000000008311171561064157600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611572565b34801561067457600080fd5b506102f9600480360360a081101561068b57600080fd5b8135916020810135918101906060810160408201356401000000008111156106b257600080fd5b8201836020820111156106c457600080fd5b803590602001918460208302840111640100000000831117156106e657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119bc565b34801561071957600080fd5b50610722611afb565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561075757600080fd5b506102426004803603606081101561076e57600080fd5b5080359060208101359060400135611b1f565b34801561078d57600080fd5b506101f3600480360360e08110156107a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135611b2c565b3480156107f757600080fd5b50610722611e36565b34801561080c57600080fd5b506102f96004803603604081101561082357600080fd5b8135919081019060408101602082013564010000000081111561084557600080fd5b82018360208201111561085757600080fd5b8035906020019184602083028401116401000000008311171561087957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611e5a945050505050565b3480156108c357600080fd5b506101f360048036036101408110156108db57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e08201351690610100810135906101200135611e87565b34801561094357600080fd5b506109a6600480360361010081101561095b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135611fdf565b60408051938452602084019290925282820152519081900360600190f35b6109a6600480360360c08110156109da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a0013561216e565b6102f960048036036080811015610a2d57600080fd5b81359190810190604081016020820135640100000000811115610a4f57600080fd5b820183602082011115610a6157600080fd5b80359060200191846020830284011164010000000083111715610a8357600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561249a565b6000808242811015610b1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610b4c897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a611b2c565b9093509150610b5c8986856128e9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50505050610bf18583612ac6565b50965096945050505050565b6000610c0a848484612c03565b949350505050565b60608142811015610c8457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110610ce957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b610de67f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b91508682600184510381518110610df957fe5b60200260200101511015610e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b610f1d86866000818110610e6857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633610f037f00000000000000000000000000000000000000000000000000000000000000008a8a6000818110610eb757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b6001818110610ee157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612e8d565b85600081518110610f1057fe5b6020026020010151612f78565b610f5c82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613148915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d83600185510381518110610fa857fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610fe657600080fd5b505af1158015610ffa573d6000803e3d6000fd5b5050505061101f848360018551038151811061101257fe5b6020026020010151612ac6565b509695505050505050565b60606110577f000000000000000000000000000000000000000000000000000000000000000084846133cf565b90505b92915050565b60008060006110907f00000000000000000000000000000000000000000000000000000000000000008f8f612e8d565b905060008761109f578c6110c1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506111848f8f8f8f8f8f8f611b2c565b809450819550505050509b509b9950505050505050505050565b6060814281101561121057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61126e7f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b9150868260018451038151811061128157fe5b602002602001015110156112e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b6112f086866000818110610e6857fe5b61101f82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b606081428110156113a157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061140657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6115037f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b9150868260008151811061151357fe5b60200260200101511115610e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b606081428110156115e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168686600081811061162857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6117257f000000000000000000000000000000000000000000000000000000000000000034888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b9150868260018451038151811061173857fe5b60200260200101511015611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836000815181106117e057fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561181357600080fd5b505af1158015611827573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6118c37f00000000000000000000000000000000000000000000000000000000000000008989600081811061189957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a6001818110610ee157fe5b846000815181106118d057fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561194157600080fd5b505af1158015611955573d6000803e3d6000fd5b505050506040513d602081101561196b57600080fd5b505161197357fe5b6119b282878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b5095945050505050565b60608142811015611a2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611a8c7f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b91508682600081518110611a9c57fe5b602002602001015111156112e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c0a84848461355d565b6000808242811015611b9f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000611bcc7f00000000000000000000000000000000000000000000000000000000000000008c8c612e8d565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015611c4d57600080fd5b505af1158015611c61573d6000803e3d6000fd5b505050506040513d6020811015611c7757600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015611cea57600080fd5b505af1158015611cfe573d6000803e3d6000fd5b505050506040513d6040811015611d1457600080fd5b50805160209091015190925090506000611d2e8e8e61363d565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614611d6b578183611d6e565b82825b90975095508a871015611dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613ef36026913960400191505060405180910390fd5b89861015611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e596026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606110577f00000000000000000000000000000000000000000000000000000000000000008484612d27565b6000806000611ed77f00000000000000000000000000000000000000000000000000000000000000008e7f0000000000000000000000000000000000000000000000000000000000000000612e8d565b9050600087611ee6578c611f08565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b50505050611fca8e8e8e8e8e8e610aaa565b909f909e509c50505050505050505050505050565b6000806000834281101561205457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6120628c8c8c8c8c8c613790565b909450925060006120947f00000000000000000000000000000000000000000000000000000000000000008e8e612e8d565b90506120a28d338388612f78565b6120ae8c338387612f78565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212d57600080fd5b505af1158015612141573d6000803e3d6000fd5b505050506040513d602081101561215757600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156121e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6122118a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c613790565b909450925060006122637f00000000000000000000000000000000000000000000000000000000000000008c7f0000000000000000000000000000000000000000000000000000000000000000612e8d565b90506122718b338388612f78565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122d957600080fd5b505af11580156122ed573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561239957600080fd5b505af11580156123ad573d6000803e3d6000fd5b505050506040513d60208110156123c357600080fd5b50516123cb57fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b505050506040513d602081101561247457600080fd5b505192503484101561248c5761248c33853403612ac6565b505096509650969350505050565b6060814281101561250c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168686600081811061255057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125ef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61264d7f0000000000000000000000000000000000000000000000000000000000000000888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b9150348260008151811061265d57fe5b602002602001015111156126bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061270557fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561273857600080fd5b505af115801561274c573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6127be7f00000000000000000000000000000000000000000000000000000000000000008989600081811061189957fe5b846000815181106127cb57fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561283c57600080fd5b505af1158015612850573d6000803e3d6000fd5b505050506040513d602081101561286657600080fd5b505161286e57fe5b6128ad82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b816000815181106128ba57fe5b60200260200101513411156119b2576119b233836000815181106128da57fe5b60200260200101513403612ac6565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b602083106129bf57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612982565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612a21576040519150601f19603f3d011682016040523d82523d6000602084013e612a26565b606091505b5091509150818015612a54575080511580612a545750808060200190516020811015612a5157600080fd5b50515b612abf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310612b3d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612b00565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612b9f576040519150601f19603f3d011682016040523d82523d6000602084013e612ba4565b606091505b5050905080612bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613f196023913960400191505060405180910390fd5b505050565b6000808411612c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f8b602b913960400191505060405180910390fd5b600083118015612c6d5750600082115b612cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b6000612cd6856103e563ffffffff613a9116565b90506000612cea828563ffffffff613a9116565b90506000612d1083612d04886103e863ffffffff613a9116565b9063ffffffff613b1716565b9050808281612d1b57fe5b04979650505050505050565b6060600282511015612d9a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015612db257600080fd5b50604051908082528060200260200182016040528015612ddc578160200160208202803683370190505b5090508281600081518110612ded57fe5b60200260200101818152505060005b6001835103811015612e8557600080612e3f87868581518110612e1b57fe5b6020026020010151878660010181518110612e3257fe5b6020026020010151613b89565b91509150612e61848481518110612e5257fe5b60200260200101518383612c03565b848460010181518110612e7057fe5b60209081029190910101525050600101612dfc565b509392505050565b6000806000612e9c858561363d565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061305657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613019565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b8576040519150601f19603f3d011682016040523d82523d6000602084013e6130bd565b606091505b50915091508180156130eb5750805115806130eb57508080602001905160208110156130e857600080fd5b50515b613140576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f676024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156133c95760008084838151811061316657fe5b602002602001015185846001018151811061317d57fe5b6020026020010151915091506000613195838361363d565b50905060008785600101815181106131a957fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146131f1578260006131f5565b6000835b91509150600060028a5103881061320c578861324d565b61324d7f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061324057fe5b6020026020010151612e8d565b905061327a7f00000000000000000000000000000000000000000000000000000000000000008888612e8d565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156132c4576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561334f578181015183820152602001613337565b50505050905090810190601f16801561337c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561339e57600080fd5b505af11580156133b2573d6000803e3d6000fd5b50506001909901985061314b975050505050505050565b50505050565b606060028251101561344257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561345a57600080fd5b50604051908082528060200260200182016040528015613484578160200160208202803683370190505b509050828160018351038151811061349857fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b8015612e85576000806134f8878660018603815181106134e457fe5b6020026020010151878681518110612e3257fe5b9150915061351a84848151811061350b57fe5b60200260200101518383613c71565b84600185038151811061352957fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016134c8565b60008084116135b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ea76025913960400191505060405180910390fd5b6000831180156135c75750600082115b61361c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b8261362d858463ffffffff613a9116565b8161363457fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156136c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613e346025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16106136ff578284613702565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661378957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f00000000000000000000000000000000000000000000000000000000000000009092169163e6a4390591604480820192602092909190829003018186803b15801561383057600080fd5b505afa158015613844573d6000803e3d6000fd5b505050506040513d602081101561385a57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141561394057604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c9c65396916044808201926020929091908290030181600087803b15801561391357600080fd5b505af1158015613927573d6000803e3d6000fd5b505050506040513d602081101561393d57600080fd5b50505b60008061396e7f00000000000000000000000000000000000000000000000000000000000000008b8b613b89565b91509150816000148015613980575080155b1561399057879350869250613a84565b600061399d89848461355d565b9050878111613a0a57858110156139ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e596026913960400191505060405180910390fd5b889450925082613a82565b6000613a1789848661355d565b905089811115613a2357fe5b87811015613a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613ef36026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b6000811580613aac57505080820282828281613aa957fe5b04145b61105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b6000806000613b98858561363d565b509050600080613ba9888888612e8d565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613bee57600080fd5b505afa158015613c02573d6000803e3d6000fd5b505050506040513d6060811015613c1857600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614613c5f578082613c62565b81815b90999098509650505050505050565b6000808411613ccb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613e08602c913960400191505060405180910390fd5b600083118015613cdb5750600082115b613d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b6000613d546103e8613d48868863ffffffff613a9116565b9063ffffffff613a9116565b90506000613d6e6103e5613d48868963ffffffff613d9516565b9050613d8b6001828481613d7e57fe5b049063ffffffff613b1716565b9695505050505050565b8082038281111561105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fdfe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a2646970667358221220b430cc168eec157f24fadd56d0b90b2652ce5b0abb39cf9d64713138a400fb8c64736f6c63430006060033";
780
+ class UniswapV2Router01__factory extends ethers_1.ContractFactory {
781
+ constructor(...args) {
782
+ if (args.length === 1) {
783
+ super(_abi, _bytecode, args[0]);
784
+ }
785
+ else {
786
+ super(...args);
787
+ }
788
+ }
789
+ deploy(_factory, _WETH, overrides) {
790
+ return super.deploy(_factory, _WETH, overrides || {});
791
+ }
792
+ getDeployTransaction(_factory, _WETH, overrides) {
793
+ return super.getDeployTransaction(_factory, _WETH, overrides || {});
794
+ }
795
+ attach(address) {
796
+ return super.attach(address);
797
+ }
798
+ connect(signer) {
799
+ return super.connect(signer);
800
+ }
801
+ static createInterface() {
802
+ return new ethers_1.utils.Interface(_abi);
803
+ }
804
+ static connect(address, signerOrProvider) {
805
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
806
+ }
807
+ }
808
+ exports.UniswapV2Router01__factory = UniswapV2Router01__factory;
809
+ UniswapV2Router01__factory.bytecode = _bytecode;
810
+ UniswapV2Router01__factory.abi = _abi;
811
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pc3dhcFYyUm91dGVyMDFfX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHlwZXMvdjIvZmFjdG9yaWVzL1VuaXN3YXBWMlJvdXRlcjAxX19mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msb0JBQW9CO0FBQ3BCLG9CQUFvQjs7O0FBRXBCLG1DQUE2RTtBQU83RSxNQUFNLElBQUksR0FBRztJQUNYO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFNBQVM7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