@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,605 @@
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.SwapRouter__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: "_WETH9",
19
+ type: "address",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ type: "constructor",
24
+ },
25
+ {
26
+ inputs: [],
27
+ name: "WETH9",
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
+ components: [
42
+ {
43
+ internalType: "bytes",
44
+ name: "path",
45
+ type: "bytes",
46
+ },
47
+ {
48
+ internalType: "address",
49
+ name: "recipient",
50
+ type: "address",
51
+ },
52
+ {
53
+ internalType: "uint256",
54
+ name: "deadline",
55
+ type: "uint256",
56
+ },
57
+ {
58
+ internalType: "uint256",
59
+ name: "amountIn",
60
+ type: "uint256",
61
+ },
62
+ {
63
+ internalType: "uint256",
64
+ name: "amountOutMinimum",
65
+ type: "uint256",
66
+ },
67
+ ],
68
+ internalType: "struct ISwapRouter.ExactInputParams",
69
+ name: "params",
70
+ type: "tuple",
71
+ },
72
+ ],
73
+ name: "exactInput",
74
+ outputs: [
75
+ {
76
+ internalType: "uint256",
77
+ name: "amountOut",
78
+ type: "uint256",
79
+ },
80
+ ],
81
+ stateMutability: "payable",
82
+ type: "function",
83
+ },
84
+ {
85
+ inputs: [
86
+ {
87
+ components: [
88
+ {
89
+ internalType: "address",
90
+ name: "tokenIn",
91
+ type: "address",
92
+ },
93
+ {
94
+ internalType: "address",
95
+ name: "tokenOut",
96
+ type: "address",
97
+ },
98
+ {
99
+ internalType: "uint24",
100
+ name: "fee",
101
+ type: "uint24",
102
+ },
103
+ {
104
+ internalType: "address",
105
+ name: "recipient",
106
+ type: "address",
107
+ },
108
+ {
109
+ internalType: "uint256",
110
+ name: "deadline",
111
+ type: "uint256",
112
+ },
113
+ {
114
+ internalType: "uint256",
115
+ name: "amountIn",
116
+ type: "uint256",
117
+ },
118
+ {
119
+ internalType: "uint256",
120
+ name: "amountOutMinimum",
121
+ type: "uint256",
122
+ },
123
+ {
124
+ internalType: "uint160",
125
+ name: "sqrtPriceLimitX96",
126
+ type: "uint160",
127
+ },
128
+ ],
129
+ internalType: "struct ISwapRouter.ExactInputSingleParams",
130
+ name: "params",
131
+ type: "tuple",
132
+ },
133
+ ],
134
+ name: "exactInputSingle",
135
+ outputs: [
136
+ {
137
+ internalType: "uint256",
138
+ name: "amountOut",
139
+ type: "uint256",
140
+ },
141
+ ],
142
+ stateMutability: "payable",
143
+ type: "function",
144
+ },
145
+ {
146
+ inputs: [
147
+ {
148
+ components: [
149
+ {
150
+ internalType: "bytes",
151
+ name: "path",
152
+ type: "bytes",
153
+ },
154
+ {
155
+ internalType: "address",
156
+ name: "recipient",
157
+ type: "address",
158
+ },
159
+ {
160
+ internalType: "uint256",
161
+ name: "deadline",
162
+ type: "uint256",
163
+ },
164
+ {
165
+ internalType: "uint256",
166
+ name: "amountOut",
167
+ type: "uint256",
168
+ },
169
+ {
170
+ internalType: "uint256",
171
+ name: "amountInMaximum",
172
+ type: "uint256",
173
+ },
174
+ ],
175
+ internalType: "struct ISwapRouter.ExactOutputParams",
176
+ name: "params",
177
+ type: "tuple",
178
+ },
179
+ ],
180
+ name: "exactOutput",
181
+ outputs: [
182
+ {
183
+ internalType: "uint256",
184
+ name: "amountIn",
185
+ type: "uint256",
186
+ },
187
+ ],
188
+ stateMutability: "payable",
189
+ type: "function",
190
+ },
191
+ {
192
+ inputs: [
193
+ {
194
+ components: [
195
+ {
196
+ internalType: "address",
197
+ name: "tokenIn",
198
+ type: "address",
199
+ },
200
+ {
201
+ internalType: "address",
202
+ name: "tokenOut",
203
+ type: "address",
204
+ },
205
+ {
206
+ internalType: "uint24",
207
+ name: "fee",
208
+ type: "uint24",
209
+ },
210
+ {
211
+ internalType: "address",
212
+ name: "recipient",
213
+ type: "address",
214
+ },
215
+ {
216
+ internalType: "uint256",
217
+ name: "deadline",
218
+ type: "uint256",
219
+ },
220
+ {
221
+ internalType: "uint256",
222
+ name: "amountOut",
223
+ type: "uint256",
224
+ },
225
+ {
226
+ internalType: "uint256",
227
+ name: "amountInMaximum",
228
+ type: "uint256",
229
+ },
230
+ {
231
+ internalType: "uint160",
232
+ name: "sqrtPriceLimitX96",
233
+ type: "uint160",
234
+ },
235
+ ],
236
+ internalType: "struct ISwapRouter.ExactOutputSingleParams",
237
+ name: "params",
238
+ type: "tuple",
239
+ },
240
+ ],
241
+ name: "exactOutputSingle",
242
+ outputs: [
243
+ {
244
+ internalType: "uint256",
245
+ name: "amountIn",
246
+ type: "uint256",
247
+ },
248
+ ],
249
+ stateMutability: "payable",
250
+ type: "function",
251
+ },
252
+ {
253
+ inputs: [],
254
+ name: "factory",
255
+ outputs: [
256
+ {
257
+ internalType: "address",
258
+ name: "",
259
+ type: "address",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ internalType: "bytes[]",
269
+ name: "data",
270
+ type: "bytes[]",
271
+ },
272
+ ],
273
+ name: "multicall",
274
+ outputs: [
275
+ {
276
+ internalType: "bytes[]",
277
+ name: "results",
278
+ type: "bytes[]",
279
+ },
280
+ ],
281
+ stateMutability: "payable",
282
+ type: "function",
283
+ },
284
+ {
285
+ inputs: [],
286
+ name: "refundETH",
287
+ outputs: [],
288
+ stateMutability: "payable",
289
+ type: "function",
290
+ },
291
+ {
292
+ inputs: [
293
+ {
294
+ internalType: "address",
295
+ name: "token",
296
+ type: "address",
297
+ },
298
+ {
299
+ internalType: "uint256",
300
+ name: "value",
301
+ type: "uint256",
302
+ },
303
+ {
304
+ internalType: "uint256",
305
+ name: "deadline",
306
+ type: "uint256",
307
+ },
308
+ {
309
+ internalType: "uint8",
310
+ name: "v",
311
+ type: "uint8",
312
+ },
313
+ {
314
+ internalType: "bytes32",
315
+ name: "r",
316
+ type: "bytes32",
317
+ },
318
+ {
319
+ internalType: "bytes32",
320
+ name: "s",
321
+ type: "bytes32",
322
+ },
323
+ ],
324
+ name: "selfPermit",
325
+ outputs: [],
326
+ stateMutability: "payable",
327
+ type: "function",
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: "address",
333
+ name: "token",
334
+ type: "address",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "nonce",
339
+ type: "uint256",
340
+ },
341
+ {
342
+ internalType: "uint256",
343
+ name: "expiry",
344
+ type: "uint256",
345
+ },
346
+ {
347
+ internalType: "uint8",
348
+ name: "v",
349
+ type: "uint8",
350
+ },
351
+ {
352
+ internalType: "bytes32",
353
+ name: "r",
354
+ type: "bytes32",
355
+ },
356
+ {
357
+ internalType: "bytes32",
358
+ name: "s",
359
+ type: "bytes32",
360
+ },
361
+ ],
362
+ name: "selfPermitAllowed",
363
+ outputs: [],
364
+ stateMutability: "payable",
365
+ type: "function",
366
+ },
367
+ {
368
+ inputs: [
369
+ {
370
+ internalType: "address",
371
+ name: "token",
372
+ type: "address",
373
+ },
374
+ {
375
+ internalType: "uint256",
376
+ name: "nonce",
377
+ type: "uint256",
378
+ },
379
+ {
380
+ internalType: "uint256",
381
+ name: "expiry",
382
+ type: "uint256",
383
+ },
384
+ {
385
+ internalType: "uint8",
386
+ name: "v",
387
+ type: "uint8",
388
+ },
389
+ {
390
+ internalType: "bytes32",
391
+ name: "r",
392
+ type: "bytes32",
393
+ },
394
+ {
395
+ internalType: "bytes32",
396
+ name: "s",
397
+ type: "bytes32",
398
+ },
399
+ ],
400
+ name: "selfPermitAllowedIfNecessary",
401
+ outputs: [],
402
+ stateMutability: "payable",
403
+ type: "function",
404
+ },
405
+ {
406
+ inputs: [
407
+ {
408
+ internalType: "address",
409
+ name: "token",
410
+ type: "address",
411
+ },
412
+ {
413
+ internalType: "uint256",
414
+ name: "value",
415
+ type: "uint256",
416
+ },
417
+ {
418
+ internalType: "uint256",
419
+ name: "deadline",
420
+ type: "uint256",
421
+ },
422
+ {
423
+ internalType: "uint8",
424
+ name: "v",
425
+ type: "uint8",
426
+ },
427
+ {
428
+ internalType: "bytes32",
429
+ name: "r",
430
+ type: "bytes32",
431
+ },
432
+ {
433
+ internalType: "bytes32",
434
+ name: "s",
435
+ type: "bytes32",
436
+ },
437
+ ],
438
+ name: "selfPermitIfNecessary",
439
+ outputs: [],
440
+ stateMutability: "payable",
441
+ type: "function",
442
+ },
443
+ {
444
+ inputs: [
445
+ {
446
+ internalType: "address",
447
+ name: "token",
448
+ type: "address",
449
+ },
450
+ {
451
+ internalType: "uint256",
452
+ name: "amountMinimum",
453
+ type: "uint256",
454
+ },
455
+ {
456
+ internalType: "address",
457
+ name: "recipient",
458
+ type: "address",
459
+ },
460
+ ],
461
+ name: "sweepToken",
462
+ outputs: [],
463
+ stateMutability: "payable",
464
+ type: "function",
465
+ },
466
+ {
467
+ inputs: [
468
+ {
469
+ internalType: "address",
470
+ name: "token",
471
+ type: "address",
472
+ },
473
+ {
474
+ internalType: "uint256",
475
+ name: "amountMinimum",
476
+ type: "uint256",
477
+ },
478
+ {
479
+ internalType: "address",
480
+ name: "recipient",
481
+ type: "address",
482
+ },
483
+ {
484
+ internalType: "uint256",
485
+ name: "feeBips",
486
+ type: "uint256",
487
+ },
488
+ {
489
+ internalType: "address",
490
+ name: "feeRecipient",
491
+ type: "address",
492
+ },
493
+ ],
494
+ name: "sweepTokenWithFee",
495
+ outputs: [],
496
+ stateMutability: "payable",
497
+ type: "function",
498
+ },
499
+ {
500
+ inputs: [
501
+ {
502
+ internalType: "int256",
503
+ name: "amount0Delta",
504
+ type: "int256",
505
+ },
506
+ {
507
+ internalType: "int256",
508
+ name: "amount1Delta",
509
+ type: "int256",
510
+ },
511
+ {
512
+ internalType: "bytes",
513
+ name: "_data",
514
+ type: "bytes",
515
+ },
516
+ ],
517
+ name: "uniswapV3SwapCallback",
518
+ outputs: [],
519
+ stateMutability: "nonpayable",
520
+ type: "function",
521
+ },
522
+ {
523
+ inputs: [
524
+ {
525
+ internalType: "uint256",
526
+ name: "amountMinimum",
527
+ type: "uint256",
528
+ },
529
+ {
530
+ internalType: "address",
531
+ name: "recipient",
532
+ type: "address",
533
+ },
534
+ ],
535
+ name: "unwrapWETH9",
536
+ outputs: [],
537
+ stateMutability: "payable",
538
+ type: "function",
539
+ },
540
+ {
541
+ inputs: [
542
+ {
543
+ internalType: "uint256",
544
+ name: "amountMinimum",
545
+ type: "uint256",
546
+ },
547
+ {
548
+ internalType: "address",
549
+ name: "recipient",
550
+ type: "address",
551
+ },
552
+ {
553
+ internalType: "uint256",
554
+ name: "feeBips",
555
+ type: "uint256",
556
+ },
557
+ {
558
+ internalType: "address",
559
+ name: "feeRecipient",
560
+ type: "address",
561
+ },
562
+ ],
563
+ name: "unwrapWETH9WithFee",
564
+ outputs: [],
565
+ stateMutability: "payable",
566
+ type: "function",
567
+ },
568
+ {
569
+ stateMutability: "payable",
570
+ type: "receive",
571
+ },
572
+ ];
573
+ const _bytecode = "0x60c06040526000196000553480156200001757600080fd5b506040516200302f3803806200302f8339810160408190526200003a9162000076565b6001600160601b0319606092831b8116608052911b1660a052620000ad565b80516001600160a01b03811681146200007157600080fd5b919050565b6000806040838503121562000089578182fd5b620000948362000059565b9150620000a46020840162000059565b90509250929050565b60805160601c60a05160601c612f26620001096000398061012f528061058352806106ad5280610747528061078752806108b15280611c435280611ca35280611d24525080610dc6528061140c5280611e265250612f266000f3fe6080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129f8565b61034d565b6040516101ea9190612df1565b60405180910390f35b6101bb610201366004612776565b6104bf565b6101bb610214366004612aff565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c37565b6101bb610249366004612b2e565b610769565b6101bb61025c366004612776565b610981565b61027461026f3660046127d6565b610a56565b6040516101ea9190612caa565b6101dd61028f36600461294d565b610bb0565b6101bb6102a2366004612776565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129f8565b610de8565b6101bb6102dd3660046126d7565b610f78565b6101bb6102f0366004612718565b611095565b6101dd610303366004612a14565b6111fb565b6101bb610316366004612776565b61132f565b34801561032757600080fd5b506101bb610336366004612868565b6113c7565b471561034b5761034b334761150e565b565b600081608001358061035d61165c565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e260808601606087016126b4565b6103f3610100870160e088016126b4565b604080518082019091528061040b60208a018a6126b4565b61041b60608b0160408c01612adc565b61042b60408c0160208d016126b4565b60405160200161043d93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611660565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b50505050610740828261150e565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117e690919063ffffffff16565b8161095957fe5b049050801561096c5761096c838261150e565b6109788582840361150e565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612dfa565b604051610ae1929190612c27565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128e3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d28565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc061165c565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e8560000151611810565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b6000015161181c565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611660565b60608601528015610cb7578451309250610cb09061182b565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000816080013580610df861165c565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d60808601606087016126b4565b610e8e610100870160e088016126b4565b6040518060400160405280886020016020810190610eac91906126b4565b610ebc60608b0160408c01612adc565b610ec960208c018c6126b4565b604051602001610edb93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611860565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a1c565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117e6565b816111d157fe5b04905080156111e5576111e5878483611a1c565b6111f28786838503611a1c565b50505050505050565b600081604001358061120b61165c565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb606084013561129060408601602087016126b4565b60408051808201909152600090806112a88980612dfa565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611860565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60008413806113d65750600083135b6113df57600080fd5b60006113ed82840184612a4c565b905060008060006114018460000151611bf1565b9250925092506114337f0000000000000000000000000000000000000000000000000000000000000000848484611c22565b5060008060008a13611474578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610896114a5565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114c4576114bf8587602001513384611c41565b610573565b85516114cf90611810565b156114f45785516114df9061182b565b86526114ee8133600089611860565b50610573565b806000819055508394506105738587602001513384611c41565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061158557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611548565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611681573093505b60008060006116938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116c4868686611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116ea8f611e5d565b73ffffffffffffffffffffffffffffffffffffffff8e161561170c578d611732565b8761172b5773fffd8963efd1fc6a506488495d951d5263988d25611732565b6401000276a45b8d6040516020016117439190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611772959493929190612c58565b6040805180830381600087803b15801561178b57600080fd5b505af115801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612845565b91509150826117d257816117d4565b805b6000039b9a5050505050505050505050565b6000821580611801575050818102818382816117fe57fe5b04145b61180a57600080fd5b92915050565b8051604211155b919050565b606061180a826000602b611e8f565b805160609061180a9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e8f565b600073ffffffffffffffffffffffffffffffffffffffff8416611881573093505b60008060006118938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118c4858786611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118ea8f611e5d565b60000373ffffffffffffffffffffffffffffffffffffffff8e161561190f578d611935565b8761192e5773fffd8963efd1fc6a506488495d951d5263988d25611935565b6401000276a45b8d6040516020016119469190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611975959493929190612c58565b6040805180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190612845565b915091506000836119db5781836000036119e1565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a16611a0d578b8114611a0d57600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611af157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ab4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b53576040519150601f19603f3d011682016040523d82523d6000602084013e611b58565b606091505b5091509150818015611b86575080511580611b865750808060200190516020811015611b8357600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611bff8482612076565b9250611c0c846014612176565b9050611c19846017612076565b91509193909250565b6000611c3885611c33868686612266565b6122e3565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c9c5750804710155b15611de5577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611e1357611e0e848383611a1c565b61108f565b61108f84848484612313565b6000611e557f0000000000000000000000000000000000000000000000000000000000000000611e50868686612266565b6124f0565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e8b57600080fd5b5090565b60608182601f011015611f0357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f7457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fe657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015612005576040519150600082526020820160405261206d565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561203e578051835260209283019201612026565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561215d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561225d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61226e612626565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1611156122a6579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122ef83836124f0565b90503373ffffffffffffffffffffffffffffffffffffffff82161461180a57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123f057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016123b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612452576040519150601f19603f3d011682016040523d82523d6000602084013e612457565b606091505b5091509150818015612485575080511580612485575080806020019051602081101561248257600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061253257600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803561181781612ef4565b600082601f830112612661578081fd5b813561267461266f82612e88565b612e64565b818152846020838601011115612688578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126c5578081fd5b81356126d081612ef4565b9392505050565b6000806000606084860312156126eb578182fd5b83356126f681612ef4565b925060208401359150604084013561270d81612ef4565b809150509250925092565b600080600080600060a0868803121561272f578081fd5b853561273a81612ef4565b945060208601359350604086013561275181612ef4565b925060608601359150608086013561276881612ef4565b809150509295509295909350565b60008060008060008060c0878903121561278e578081fd5b863561279981612ef4565b95506020870135945060408701359350606087013560ff811681146127bc578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127e8578182fd5b823567ffffffffffffffff808211156127ff578384fd5b818501915085601f830112612812578384fd5b813581811115612820578485fd5b8660208083028501011115612833578485fd5b60209290920196919550909350505050565b60008060408385031215612857578182fd5b505080516020909101519092909150565b6000806000806060858703121561287d578182fd5b8435935060208501359250604085013567ffffffffffffffff808211156128a2578384fd5b818701915087601f8301126128b5578384fd5b8135818111156128c3578485fd5b8860208285010111156128d4578485fd5b95989497505060200194505050565b6000602082840312156128f4578081fd5b815167ffffffffffffffff81111561290a578182fd5b8201601f8101841361291a578182fd5b805161292861266f82612e88565b81815285602083850101111561293c578384fd5b611c38826020830160208601612ec8565b60006020828403121561295e578081fd5b813567ffffffffffffffff80821115612975578283fd5b9083019060a08286031215612988578283fd5b60405160a08101818110838211171561299d57fe5b6040528235828111156129ae578485fd5b6129ba87828601612651565b8252506129c960208401612646565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006101008284031215612a0a578081fd5b6126d083836126a2565b600060208284031215612a25578081fd5b813567ffffffffffffffff811115612a3b578182fd5b820160a081850312156126d0578182fd5b600060208284031215612a5d578081fd5b813567ffffffffffffffff80821115612a74578283fd5b9083019060408286031215612a87578283fd5b604051604081018181108382111715612a9c57fe5b604052823582811115612aad578485fd5b612ab987828601612651565b82525060208301359250612acc83612ef4565b6020810192909252509392505050565b600060208284031215612aed578081fd5b813562ffffff811681146126d0578182fd5b60008060408385031215612b11578182fd5b823591506020830135612b2381612ef4565b809150509250929050565b60008060008060808587031215612b43578182fd5b843593506020850135612b5581612ef4565b9250604085013591506060850135612b6c81612ef4565b939692955090935050565b60008151808452612b8f816020860160208601612ec8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c9f60a0830184612b77565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d09858351612b77565b94509285019290850190600101612ccf565b5092979650505050505050565b6000602082526126d06020830184612b77565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dc56060840182612b77565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e2e578283fd5b83018035915067ffffffffffffffff821115612e48578283fd5b602001915036819003821315612e5d57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e8057fe5b604052919050565b600067ffffffffffffffff821115612e9c57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ee3578181015183820152602001612ecb565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612f1657600080fd5b5056fea164736f6c6343000706000a";
574
+ class SwapRouter__factory extends ethers_1.ContractFactory {
575
+ constructor(...args) {
576
+ if (args.length === 1) {
577
+ super(_abi, _bytecode, args[0]);
578
+ }
579
+ else {
580
+ super(...args);
581
+ }
582
+ }
583
+ deploy(_factory, _WETH9, overrides) {
584
+ return super.deploy(_factory, _WETH9, overrides || {});
585
+ }
586
+ getDeployTransaction(_factory, _WETH9, overrides) {
587
+ return super.getDeployTransaction(_factory, _WETH9, overrides || {});
588
+ }
589
+ attach(address) {
590
+ return super.attach(address);
591
+ }
592
+ connect(signer) {
593
+ return super.connect(signer);
594
+ }
595
+ static createInterface() {
596
+ return new ethers_1.utils.Interface(_abi);
597
+ }
598
+ static connect(address, signerOrProvider) {
599
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
600
+ }
601
+ }
602
+ exports.SwapRouter__factory = SwapRouter__factory;
603
+ SwapRouter__factory.bytecode = _bytecode;
604
+ SwapRouter__factory.abi = _abi;
605
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhcFJvdXRlcl9fZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90eXBlcy92My9mYWN0b3JpZXMvU3dhcFJvdXRlcl9fZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLG9CQUFvQjtBQUNwQixvQkFBb0I7OztBQUVwQixtQ0FBNkU7QUFJN0UsTUFBTSxJQUFJLEdBQUc7SUFDWDtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxhQUFhO0tBQ3BCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxPQUFPO1FBQ2IsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsVUFBVSxFQUFFO29CQUNWO3dCQUNFLFlBQVksRUFBRSxPQUFPO3dCQUNyQixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsT0FBTztxQkFDZDtvQkFDRDt3QkFDRSxZQUFZLEVBQUUsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLElBQUksRUFBRSxTQUFTO3FCQUNoQjtvQkFDRDt3QkFDRSxZQUFZLEVBQUUsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLElBQUks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