@instadapp/interop-x 0.0.0-dev.ef78459 → 0.0.0-dev.f39d622

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. package/.env.example +2 -1
  2. package/.github/workflows/ci.yml +19 -0
  3. package/bin/interop-x +1 -1
  4. package/dist/package.json +81 -0
  5. package/dist/src/abi/aaveV2Resolver.json +832 -0
  6. package/dist/src/abi/balanceResolver.json +211 -0
  7. package/dist/src/abi/connectors/index.js +36 -0
  8. package/dist/src/abi/connectors/v1/aave.js +148 -0
  9. package/dist/src/abi/connectors/v1/aave_claim.js +4 -0
  10. package/dist/src/abi/connectors/v1/aave_migrate.js +109 -0
  11. package/dist/src/abi/connectors/v1/aave_polygon_migrate.js +110 -0
  12. package/dist/src/abi/connectors/v1/aave_stake.js +4 -0
  13. package/dist/src/abi/connectors/v1/aave_v1_import.js +54 -0
  14. package/dist/src/abi/connectors/v1/aave_v2.js +230 -0
  15. package/dist/src/abi/connectors/v1/aave_v2_import.js +59 -0
  16. package/dist/src/abi/connectors/v1/authority.js +100 -0
  17. package/dist/src/abi/connectors/v1/basic.js +136 -0
  18. package/dist/src/abi/connectors/v1/chi.js +36 -0
  19. package/dist/src/abi/connectors/v1/comp.js +4 -0
  20. package/dist/src/abi/connectors/v1/compound.js +4 -0
  21. package/dist/src/abi/connectors/v1/compoundImport.js +69 -0
  22. package/dist/src/abi/connectors/v1/compoundImport_v2.js +4 -0
  23. package/dist/src/abi/connectors/v1/compound_old.js +448 -0
  24. package/dist/src/abi/connectors/v1/curve.js +140 -0
  25. package/dist/src/abi/connectors/v1/curve_claim.js +63 -0
  26. package/dist/src/abi/connectors/v1/curve_gauge.js +158 -0
  27. package/dist/src/abi/connectors/v1/curve_sbtc.js +140 -0
  28. package/dist/src/abi/connectors/v1/curve_susd.js +140 -0
  29. package/dist/src/abi/connectors/v1/curve_three.js +79 -0
  30. package/dist/src/abi/connectors/v1/curve_y.js +140 -0
  31. package/dist/src/abi/connectors/v1/dsa_migrate_v1_to_v2.js +4 -0
  32. package/dist/src/abi/connectors/v1/dydx.js +148 -0
  33. package/dist/src/abi/connectors/v1/dydx_flash.js +52 -0
  34. package/dist/src/abi/connectors/v1/fee.js +50 -0
  35. package/dist/src/abi/connectors/v1/gelato.js +1138 -0
  36. package/dist/src/abi/connectors/v1/index.js +58 -0
  37. package/dist/src/abi/connectors/v1/instapool.js +439 -0
  38. package/dist/src/abi/connectors/v1/instapool_v2.js +126 -0
  39. package/dist/src/abi/connectors/v1/kyber.js +117 -0
  40. package/dist/src/abi/connectors/v1/maker.js +480 -0
  41. package/dist/src/abi/connectors/v1/maker_old.js +300 -0
  42. package/dist/src/abi/connectors/v1/math.js +43 -0
  43. package/dist/src/abi/connectors/v1/migrate.js +46 -0
  44. package/dist/src/abi/connectors/v1/oasis.js +198 -0
  45. package/dist/src/abi/connectors/v1/oneInch.js +160 -0
  46. package/dist/src/abi/connectors/v1/polygon_bridge.js +4 -0
  47. package/dist/src/abi/connectors/v1/refinance.js +4 -0
  48. package/dist/src/abi/connectors/v1/staking.js +220 -0
  49. package/dist/src/abi/connectors/v1/swerve.js +179 -0
  50. package/dist/src/abi/connectors/v1/uniswap.js +297 -0
  51. package/dist/src/abi/connectors/v2/1INCH-A.js +4 -0
  52. package/dist/src/abi/connectors/v2/1INCH-B.js +4 -0
  53. package/dist/src/abi/connectors/v2/AAVE-CLAIM-A.js +4 -0
  54. package/dist/src/abi/connectors/v2/AAVE-CLAIM-B.js +166 -0
  55. package/dist/src/abi/connectors/v2/AAVE-STAKE-A.js +4 -0
  56. package/dist/src/abi/connectors/v2/AAVE-V1-A.js +130 -0
  57. package/dist/src/abi/connectors/v2/AAVE-V1-IMPORT-A.js +4 -0
  58. package/dist/src/abi/connectors/v2/AAVE-V2-A.js +230 -0
  59. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-A.js +4 -0
  60. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-B.js +225 -0
  61. package/dist/src/abi/connectors/v2/AUTHORITY-A.js +100 -0
  62. package/dist/src/abi/connectors/v2/B-COMPOUND-A.js +4 -0
  63. package/dist/src/abi/connectors/v2/B-LIQUITY-A.js +4 -0
  64. package/dist/src/abi/connectors/v2/B-MAKERDAO-A.js +4 -0
  65. package/dist/src/abi/connectors/v2/BASIC-A.js +136 -0
  66. package/dist/src/abi/connectors/v2/BASIC-B.js +4 -0
  67. package/dist/src/abi/connectors/v2/BASIC-C.js +4 -0
  68. package/dist/src/abi/connectors/v2/COMP-A.js +4 -0
  69. package/dist/src/abi/connectors/v2/COMPOUND-A.js +4 -0
  70. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-A.js +4 -0
  71. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-B.js +195 -0
  72. package/dist/src/abi/connectors/v2/G-UNISWAP-A.js +4 -0
  73. package/dist/src/abi/connectors/v2/GELATO-AAVE-A.js +4 -0
  74. package/dist/src/abi/connectors/v2/INST-A.js +4 -0
  75. package/dist/src/abi/connectors/v2/INST-LM-A.js +4 -0
  76. package/dist/src/abi/connectors/v2/INST-STAKING-A.js +4 -0
  77. package/dist/src/abi/connectors/v2/INST-STAKING-B.js +4 -0
  78. package/dist/src/abi/connectors/v2/INSTAPOOL-A.js +4 -0
  79. package/dist/src/abi/connectors/v2/LIQUITY-A.js +4 -0
  80. package/dist/src/abi/connectors/v2/MAKERDAO-A.js +4 -0
  81. package/dist/src/abi/connectors/v2/MAKERDAO-CLAIM-A.js +136 -0
  82. package/dist/src/abi/connectors/v2/PARASWAP-A.js +4 -0
  83. package/dist/src/abi/connectors/v2/POLYGON-BRIDGE-A.js +4 -0
  84. package/dist/src/abi/connectors/v2/REFINANCE-A.js +4 -0
  85. package/dist/src/abi/connectors/v2/REFLEXER-A.js +4 -0
  86. package/dist/src/abi/connectors/v2/STAKE-ERC20-A.js +4 -0
  87. package/dist/src/abi/connectors/v2/UNISWAP-A.js +297 -0
  88. package/dist/src/abi/connectors/v2/UNISWAP-V2-A.js +4 -0
  89. package/dist/src/abi/connectors/v2/UNISWAP-V3-A.js +4 -0
  90. package/dist/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.js +4 -0
  91. package/dist/src/abi/connectors/v2/WETH-A.js +4 -0
  92. package/dist/src/abi/connectors/v2/YEARN-VAULT-A.js +4 -0
  93. package/dist/src/abi/connectors/v2/index.js +89 -0
  94. package/dist/src/abi/erc20.json +350 -0
  95. package/dist/src/abi/gnosisSafe.json +747 -0
  96. package/dist/src/abi/index.js +21 -0
  97. package/dist/src/abi/instList.json +232 -0
  98. package/dist/src/abi/interopX.json +1436 -0
  99. package/dist/src/alias.js +10 -0
  100. package/dist/src/api/index.js +43 -0
  101. package/dist/src/config/index.js +31 -0
  102. package/dist/src/constants/addresses.js +23 -0
  103. package/dist/src/constants/blockConfirmations.js +8 -0
  104. package/dist/src/constants/capPerChain.js +8 -0
  105. package/dist/{constants → src/constants}/index.js +4 -0
  106. package/dist/src/constants/tokens.js +130 -0
  107. package/dist/src/constants/wrappedNativeToken.js +8 -0
  108. package/dist/src/crons/index.js +3 -0
  109. package/dist/src/crons/prices.js +16 -0
  110. package/dist/{db → src/db}/index.js +0 -0
  111. package/dist/{db → src/db}/models/index.js +1 -1
  112. package/dist/src/db/models/transaction.js +80 -0
  113. package/dist/{db → src/db}/sequelize.js +2 -1
  114. package/dist/src/errors/index.js +30 -0
  115. package/dist/src/gnosis/actions/aaveV2/index.js +11 -0
  116. package/dist/src/gnosis/actions/aaveV2/source.js +73 -0
  117. package/dist/src/gnosis/actions/aaveV2/target.js +86 -0
  118. package/dist/src/gnosis/actions/index.js +9 -0
  119. package/dist/src/gnosis/index.js +20 -0
  120. package/dist/src/index.js +120 -0
  121. package/dist/{logger → src/logger}/index.js +0 -0
  122. package/dist/{net → src/net}/index.js +0 -0
  123. package/dist/{net → src/net}/peer/index.js +8 -3
  124. package/dist/{net → src/net}/pool/index.js +32 -9
  125. package/dist/{net → src/net}/protocol/dial/BaseDialProtocol.js +0 -0
  126. package/dist/{net → src/net}/protocol/dial/SignatureDialProtocol.js +19 -12
  127. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +30 -0
  128. package/dist/{net → src/net}/protocol/index.js +54 -4
  129. package/dist/src/services/Prices.js +74 -0
  130. package/dist/src/services/index.js +8 -0
  131. package/dist/src/tasks/AutoUpdateTask.js +70 -0
  132. package/dist/{tasks → src/tasks}/BaseTask.js +13 -5
  133. package/dist/src/tasks/InteropX/ProcessSubmitEvents.js +244 -0
  134. package/dist/src/tasks/InteropX/ProcessValidateEvents.js +184 -0
  135. package/dist/src/tasks/InteropX/SyncLogExecuteEvents.js +112 -0
  136. package/dist/src/tasks/InteropX/SyncLogSubmitEvents.js +87 -0
  137. package/dist/src/tasks/InteropX/SyncLogValidateEvents.js +105 -0
  138. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +58 -0
  139. package/dist/src/tasks/index.js +45 -0
  140. package/dist/src/typechain/AaveV2Resolver.js +2 -0
  141. package/dist/src/typechain/BalanceResolver.js +2 -0
  142. package/dist/src/typechain/Erc20.js +2 -0
  143. package/dist/src/typechain/GnosisSafe.js +2 -0
  144. package/dist/src/typechain/InstList.js +2 -0
  145. package/dist/src/typechain/InteropX.js +2 -0
  146. package/dist/src/typechain/common.js +2 -0
  147. package/dist/src/typechain/factories/AaveV2Resolver__factory.js +1191 -0
  148. package/dist/src/typechain/factories/BalanceResolver__factory.js +228 -0
  149. package/dist/src/typechain/factories/Erc20__factory.js +367 -0
  150. package/dist/src/typechain/factories/GnosisSafe__factory.js +1174 -0
  151. package/dist/src/typechain/factories/InstList__factory.js +249 -0
  152. package/dist/src/typechain/factories/InteropX__factory.js +1928 -0
  153. package/dist/src/typechain/factories/index.js +18 -0
  154. package/dist/src/typechain/index.js +39 -0
  155. package/dist/{types.js → src/types.js} +0 -0
  156. package/dist/src/utils/async.js +18 -0
  157. package/dist/src/utils/dsa.js +24 -0
  158. package/dist/src/utils/formatting.js +67 -0
  159. package/dist/src/utils/gnosis.js +62 -0
  160. package/dist/src/utils/http.js +10 -0
  161. package/dist/src/utils/index.js +25 -0
  162. package/dist/src/utils/interop.js +16 -0
  163. package/dist/src/utils/tokens.js +22 -0
  164. package/dist/src/utils/validate.js +111 -0
  165. package/dist/src/utils/web3.js +93 -0
  166. package/package.json +35 -19
  167. package/patches/@ethersproject+properties+5.6.0.patch +13 -0
  168. package/src/abi/aaveV2Resolver.json +832 -0
  169. package/src/abi/balanceResolver.json +211 -0
  170. package/src/abi/connectors/index.ts +14 -0
  171. package/src/abi/connectors/v1/aave.ts +147 -0
  172. package/src/abi/connectors/v1/aave_claim.ts +3 -0
  173. package/src/abi/connectors/v1/aave_migrate.ts +108 -0
  174. package/src/abi/connectors/v1/aave_polygon_migrate.ts +109 -0
  175. package/src/abi/connectors/v1/aave_stake.ts +3 -0
  176. package/src/abi/connectors/v1/aave_v1_import.ts +53 -0
  177. package/src/abi/connectors/v1/aave_v2.ts +229 -0
  178. package/src/abi/connectors/v1/aave_v2_import.ts +58 -0
  179. package/src/abi/connectors/v1/authority.ts +99 -0
  180. package/src/abi/connectors/v1/basic.ts +135 -0
  181. package/src/abi/connectors/v1/chi.ts +35 -0
  182. package/src/abi/connectors/v1/comp.ts +3 -0
  183. package/src/abi/connectors/v1/compound.ts +3 -0
  184. package/src/abi/connectors/v1/compoundImport.ts +68 -0
  185. package/src/abi/connectors/v1/compoundImport_v2.ts +3 -0
  186. package/src/abi/connectors/v1/compound_old.ts +447 -0
  187. package/src/abi/connectors/v1/curve.ts +139 -0
  188. package/src/abi/connectors/v1/curve_claim.ts +62 -0
  189. package/src/abi/connectors/v1/curve_gauge.ts +157 -0
  190. package/src/abi/connectors/v1/curve_sbtc.ts +139 -0
  191. package/src/abi/connectors/v1/curve_susd.ts +139 -0
  192. package/src/abi/connectors/v1/curve_three.ts +78 -0
  193. package/src/abi/connectors/v1/curve_y.ts +139 -0
  194. package/src/abi/connectors/v1/dsa_migrate_v1_to_v2.ts +3 -0
  195. package/src/abi/connectors/v1/dydx.ts +147 -0
  196. package/src/abi/connectors/v1/dydx_flash.ts +51 -0
  197. package/src/abi/connectors/v1/fee.ts +49 -0
  198. package/src/abi/connectors/v1/gelato.ts +1137 -0
  199. package/src/abi/connectors/v1/index.ts +42 -0
  200. package/src/abi/connectors/v1/instapool.ts +438 -0
  201. package/src/abi/connectors/v1/instapool_v2.ts +125 -0
  202. package/src/abi/connectors/v1/kyber.ts +116 -0
  203. package/src/abi/connectors/v1/maker.ts +479 -0
  204. package/src/abi/connectors/v1/maker_old.ts +299 -0
  205. package/src/abi/connectors/v1/math.ts +42 -0
  206. package/src/abi/connectors/v1/migrate.ts +45 -0
  207. package/src/abi/connectors/v1/oasis.ts +197 -0
  208. package/src/abi/connectors/v1/oneInch.ts +159 -0
  209. package/src/abi/connectors/v1/polygon_bridge.ts +3 -0
  210. package/src/abi/connectors/v1/refinance.ts +3 -0
  211. package/src/abi/connectors/v1/staking.ts +219 -0
  212. package/src/abi/connectors/v1/swerve.ts +178 -0
  213. package/src/abi/connectors/v1/uniswap.ts +297 -0
  214. package/src/abi/connectors/v2/1INCH-A.ts +3 -0
  215. package/src/abi/connectors/v2/1INCH-B.ts +3 -0
  216. package/src/abi/connectors/v2/AAVE-CLAIM-A.ts +3 -0
  217. package/src/abi/connectors/v2/AAVE-CLAIM-B.ts +165 -0
  218. package/src/abi/connectors/v2/AAVE-STAKE-A.ts +3 -0
  219. package/src/abi/connectors/v2/AAVE-V1-A.ts +130 -0
  220. package/src/abi/connectors/v2/AAVE-V1-IMPORT-A.ts +3 -0
  221. package/src/abi/connectors/v2/AAVE-V2-A.ts +229 -0
  222. package/src/abi/connectors/v2/AAVE-V2-IMPORT-A.ts +3 -0
  223. package/src/abi/connectors/v2/AAVE-V2-IMPORT-B.ts +224 -0
  224. package/src/abi/connectors/v2/AUTHORITY-A.ts +99 -0
  225. package/src/abi/connectors/v2/B-COMPOUND-A.ts +3 -0
  226. package/src/abi/connectors/v2/B-LIQUITY-A.ts +3 -0
  227. package/src/abi/connectors/v2/B-MAKERDAO-A.ts +3 -0
  228. package/src/abi/connectors/v2/BASIC-A.ts +135 -0
  229. package/src/abi/connectors/v2/BASIC-B.ts +3 -0
  230. package/src/abi/connectors/v2/BASIC-C.ts +3 -0
  231. package/src/abi/connectors/v2/COMP-A.ts +3 -0
  232. package/src/abi/connectors/v2/COMPOUND-A.ts +3 -0
  233. package/src/abi/connectors/v2/COMPOUND-IMPORT-A.ts +3 -0
  234. package/src/abi/connectors/v2/COMPOUND-IMPORT-B.ts +194 -0
  235. package/src/abi/connectors/v2/G-UNISWAP-A.ts +3 -0
  236. package/src/abi/connectors/v2/GELATO-AAVE-A.ts +3 -0
  237. package/src/abi/connectors/v2/INST-A.ts +3 -0
  238. package/src/abi/connectors/v2/INST-LM-A.ts +3 -0
  239. package/src/abi/connectors/v2/INST-STAKING-A.ts +3 -0
  240. package/src/abi/connectors/v2/INST-STAKING-B.ts +3 -0
  241. package/src/abi/connectors/v2/INSTAPOOL-A.ts +3 -0
  242. package/src/abi/connectors/v2/LIQUITY-A.ts +3 -0
  243. package/src/abi/connectors/v2/MAKERDAO-A.ts +3 -0
  244. package/src/abi/connectors/v2/MAKERDAO-CLAIM-A.ts +135 -0
  245. package/src/abi/connectors/v2/PARASWAP-A.ts +3 -0
  246. package/src/abi/connectors/v2/POLYGON-BRIDGE-A.ts +3 -0
  247. package/src/abi/connectors/v2/REFINANCE-A.ts +3 -0
  248. package/src/abi/connectors/v2/REFLEXER-A.ts +3 -0
  249. package/src/abi/connectors/v2/STAKE-ERC20-A.ts +3 -0
  250. package/src/abi/connectors/v2/UNISWAP-A.ts +297 -0
  251. package/src/abi/connectors/v2/UNISWAP-V2-A.ts +3 -0
  252. package/src/abi/connectors/v2/UNISWAP-V3-A.ts +3 -0
  253. package/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.ts +3 -0
  254. package/src/abi/connectors/v2/WETH-A.ts +3 -0
  255. package/src/abi/connectors/v2/YEARN-VAULT-A.ts +3 -0
  256. package/src/abi/connectors/v2/index.ts +87 -0
  257. package/src/abi/erc20.json +350 -0
  258. package/src/abi/gnosisSafe.json +747 -0
  259. package/src/abi/index.ts +17 -0
  260. package/src/abi/instList.json +232 -0
  261. package/src/abi/interopX.json +1436 -0
  262. package/src/alias.ts +6 -0
  263. package/src/api/index.ts +44 -0
  264. package/src/config/index.ts +17 -1
  265. package/src/constants/addresses.ts +26 -6
  266. package/src/constants/blockConfirmations.ts +5 -0
  267. package/src/constants/capPerChain.ts +5 -0
  268. package/src/constants/index.ts +4 -0
  269. package/src/constants/tokens.ts +127 -0
  270. package/src/constants/wrappedNativeToken.ts +5 -0
  271. package/src/crons/index.ts +1 -0
  272. package/src/crons/prices.ts +12 -0
  273. package/src/db/models/index.ts +1 -1
  274. package/src/db/models/transaction.ts +190 -0
  275. package/src/db/sequelize.ts +2 -1
  276. package/src/errors/index.ts +26 -0
  277. package/src/gnosis/actions/aaveV2/index.ts +9 -0
  278. package/src/gnosis/actions/aaveV2/source.ts +118 -0
  279. package/src/gnosis/actions/aaveV2/target.ts +141 -0
  280. package/src/gnosis/actions/index.ts +5 -0
  281. package/src/gnosis/index.ts +19 -0
  282. package/src/index.ts +110 -8
  283. package/src/net/peer/index.ts +9 -7
  284. package/src/net/pool/index.ts +41 -11
  285. package/src/net/protocol/dial/SignatureDialProtocol.ts +23 -15
  286. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +33 -0
  287. package/src/net/protocol/index.ts +70 -4
  288. package/src/services/Prices.ts +89 -0
  289. package/src/services/index.ts +1 -0
  290. package/src/tasks/AutoUpdateTask.ts +82 -0
  291. package/src/tasks/BaseTask.ts +15 -6
  292. package/src/tasks/InteropX/ProcessSubmitEvents.ts +344 -0
  293. package/src/tasks/InteropX/ProcessValidateEvents.ts +271 -0
  294. package/src/tasks/InteropX/SyncLogExecuteEvents.ts +160 -0
  295. package/src/tasks/InteropX/SyncLogSubmitEvents.ts +137 -0
  296. package/src/tasks/InteropX/SyncLogValidateEvents.ts +150 -0
  297. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +70 -0
  298. package/src/tasks/index.ts +32 -2
  299. package/src/typechain/AaveV2Resolver.ts +1017 -0
  300. package/src/typechain/BalanceResolver.ts +266 -0
  301. package/src/typechain/Erc20.ts +491 -0
  302. package/src/typechain/GnosisSafe.ts +1728 -0
  303. package/src/typechain/InstList.ts +402 -0
  304. package/src/typechain/InteropX.ts +1216 -0
  305. package/src/typechain/common.ts +44 -0
  306. package/src/typechain/factories/AaveV2Resolver__factory.ts +1198 -0
  307. package/src/typechain/factories/BalanceResolver__factory.ts +235 -0
  308. package/src/typechain/factories/Erc20__factory.ts +368 -0
  309. package/src/typechain/factories/GnosisSafe__factory.ts +1178 -0
  310. package/src/typechain/factories/InstList__factory.ts +253 -0
  311. package/src/typechain/factories/InteropX__factory.ts +1932 -0
  312. package/src/typechain/factories/index.ts +9 -0
  313. package/src/typechain/index.ts +16 -0
  314. package/src/types.ts +1 -1
  315. package/src/utils/async.ts +22 -0
  316. package/src/utils/dsa.ts +30 -0
  317. package/src/utils/formatting.ts +68 -0
  318. package/src/utils/gnosis.ts +123 -0
  319. package/src/utils/http.ts +6 -0
  320. package/src/utils/index.ts +9 -116
  321. package/src/utils/interop.ts +28 -0
  322. package/src/utils/tokens.ts +21 -0
  323. package/src/utils/validate.ts +173 -0
  324. package/src/utils/web3.ts +132 -0
  325. package/tsconfig.json +7 -2
  326. package/dist/config/index.js +0 -17
  327. package/dist/constants/addresses.js +0 -13
  328. package/dist/db/models/execution.js +0 -38
  329. package/dist/index.js +0 -43
  330. package/dist/tasks/index.js +0 -19
  331. package/dist/utils/index.js +0 -89
  332. package/src/db/models/execution.ts +0 -57
@@ -0,0 +1,1191 @@
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.AaveV2Resolver__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_aaveLendingPoolAddressesProvider",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "address",
18
+ name: "_aaveProtocolDataProvider",
19
+ type: "address",
20
+ },
21
+ {
22
+ internalType: "address",
23
+ name: "_instaIndex",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "address",
28
+ name: "_wnativeToken",
29
+ type: "address",
30
+ },
31
+ ],
32
+ stateMutability: "nonpayable",
33
+ type: "constructor",
34
+ },
35
+ {
36
+ inputs: [
37
+ {
38
+ internalType: "address",
39
+ name: "liquidity",
40
+ type: "address",
41
+ },
42
+ {
43
+ components: [
44
+ {
45
+ components: [
46
+ {
47
+ internalType: "address",
48
+ name: "sourceToken",
49
+ type: "address",
50
+ },
51
+ {
52
+ internalType: "address",
53
+ name: "targetToken",
54
+ type: "address",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "amount",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ internalType: "struct Variables.TokenInfo[]",
63
+ name: "supply",
64
+ type: "tuple[]",
65
+ },
66
+ {
67
+ components: [
68
+ {
69
+ internalType: "address",
70
+ name: "sourceToken",
71
+ type: "address",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "targetToken",
76
+ type: "address",
77
+ },
78
+ {
79
+ internalType: "uint256",
80
+ name: "amount",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ internalType: "struct Variables.TokenInfo[]",
85
+ name: "withdraw",
86
+ type: "tuple[]",
87
+ },
88
+ ],
89
+ internalType: "struct Variables.Position",
90
+ name: "position",
91
+ type: "tuple",
92
+ },
93
+ {
94
+ internalType: "uint256",
95
+ name: "safeRatioPercentage",
96
+ type: "uint256",
97
+ },
98
+ ],
99
+ name: "_checkAaveLiquidityRatio",
100
+ outputs: [
101
+ {
102
+ components: [
103
+ {
104
+ internalType: "bool",
105
+ name: "isOk",
106
+ type: "bool",
107
+ },
108
+ {
109
+ internalType: "uint256",
110
+ name: "ratio",
111
+ type: "uint256",
112
+ },
113
+ {
114
+ internalType: "uint256",
115
+ name: "maxRatio",
116
+ type: "uint256",
117
+ },
118
+ {
119
+ internalType: "uint256",
120
+ name: "maxLiquidationRatio",
121
+ type: "uint256",
122
+ },
123
+ {
124
+ internalType: "uint256",
125
+ name: "ltv",
126
+ type: "uint256",
127
+ },
128
+ {
129
+ internalType: "uint256",
130
+ name: "currentLiquidationThreshold",
131
+ type: "uint256",
132
+ },
133
+ {
134
+ internalType: "uint256",
135
+ name: "totalSupply",
136
+ type: "uint256",
137
+ },
138
+ {
139
+ internalType: "uint256",
140
+ name: "totalBorrow",
141
+ type: "uint256",
142
+ },
143
+ {
144
+ internalType: "uint256",
145
+ name: "price",
146
+ type: "uint256",
147
+ },
148
+ ],
149
+ internalType: "struct Helpers.PositionData",
150
+ name: "positionData",
151
+ type: "tuple",
152
+ },
153
+ ],
154
+ stateMutability: "view",
155
+ type: "function",
156
+ },
157
+ {
158
+ inputs: [
159
+ {
160
+ internalType: "address",
161
+ name: "liquidity",
162
+ type: "address",
163
+ },
164
+ {
165
+ internalType: "uint256",
166
+ name: "safeRatioPercentage",
167
+ type: "uint256",
168
+ },
169
+ {
170
+ internalType: "uint256",
171
+ name: "extraBorrow",
172
+ type: "uint256",
173
+ },
174
+ ],
175
+ name: "_checkLiquidityRatio",
176
+ outputs: [
177
+ {
178
+ components: [
179
+ {
180
+ internalType: "bool",
181
+ name: "isOk",
182
+ type: "bool",
183
+ },
184
+ {
185
+ internalType: "uint256",
186
+ name: "ratio",
187
+ type: "uint256",
188
+ },
189
+ {
190
+ internalType: "uint256",
191
+ name: "maxRatio",
192
+ type: "uint256",
193
+ },
194
+ {
195
+ internalType: "uint256",
196
+ name: "maxLiquidationRatio",
197
+ type: "uint256",
198
+ },
199
+ {
200
+ internalType: "uint256",
201
+ name: "ltv",
202
+ type: "uint256",
203
+ },
204
+ {
205
+ internalType: "uint256",
206
+ name: "currentLiquidationThreshold",
207
+ type: "uint256",
208
+ },
209
+ {
210
+ internalType: "uint256",
211
+ name: "totalSupply",
212
+ type: "uint256",
213
+ },
214
+ {
215
+ internalType: "uint256",
216
+ name: "totalBorrow",
217
+ type: "uint256",
218
+ },
219
+ {
220
+ internalType: "uint256",
221
+ name: "price",
222
+ type: "uint256",
223
+ },
224
+ ],
225
+ internalType: "struct Helpers.PositionData",
226
+ name: "positionData",
227
+ type: "tuple",
228
+ },
229
+ ],
230
+ stateMutability: "view",
231
+ type: "function",
232
+ },
233
+ {
234
+ inputs: [
235
+ {
236
+ internalType: "address",
237
+ name: "userAddress",
238
+ type: "address",
239
+ },
240
+ {
241
+ components: [
242
+ {
243
+ components: [
244
+ {
245
+ internalType: "address",
246
+ name: "sourceToken",
247
+ type: "address",
248
+ },
249
+ {
250
+ internalType: "address",
251
+ name: "targetToken",
252
+ type: "address",
253
+ },
254
+ {
255
+ internalType: "uint256",
256
+ name: "amount",
257
+ type: "uint256",
258
+ },
259
+ ],
260
+ internalType: "struct Variables.TokenInfo[]",
261
+ name: "supply",
262
+ type: "tuple[]",
263
+ },
264
+ {
265
+ components: [
266
+ {
267
+ internalType: "address",
268
+ name: "sourceToken",
269
+ type: "address",
270
+ },
271
+ {
272
+ internalType: "address",
273
+ name: "targetToken",
274
+ type: "address",
275
+ },
276
+ {
277
+ internalType: "uint256",
278
+ name: "amount",
279
+ type: "uint256",
280
+ },
281
+ ],
282
+ internalType: "struct Variables.TokenInfo[]",
283
+ name: "withdraw",
284
+ type: "tuple[]",
285
+ },
286
+ ],
287
+ internalType: "struct Variables.Position",
288
+ name: "position",
289
+ type: "tuple",
290
+ },
291
+ {
292
+ internalType: "uint256",
293
+ name: "safeRatioPercentage",
294
+ type: "uint256",
295
+ },
296
+ {
297
+ internalType: "bool",
298
+ name: "isTarget",
299
+ type: "bool",
300
+ },
301
+ ],
302
+ name: "_checkRatio",
303
+ outputs: [
304
+ {
305
+ components: [
306
+ {
307
+ internalType: "bool",
308
+ name: "isOk",
309
+ type: "bool",
310
+ },
311
+ {
312
+ internalType: "uint256",
313
+ name: "ratio",
314
+ type: "uint256",
315
+ },
316
+ {
317
+ internalType: "uint256",
318
+ name: "maxRatio",
319
+ type: "uint256",
320
+ },
321
+ {
322
+ internalType: "uint256",
323
+ name: "maxLiquidationRatio",
324
+ type: "uint256",
325
+ },
326
+ {
327
+ internalType: "uint256",
328
+ name: "ltv",
329
+ type: "uint256",
330
+ },
331
+ {
332
+ internalType: "uint256",
333
+ name: "currentLiquidationThreshold",
334
+ type: "uint256",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "totalSupply",
339
+ type: "uint256",
340
+ },
341
+ {
342
+ internalType: "uint256",
343
+ name: "totalBorrow",
344
+ type: "uint256",
345
+ },
346
+ {
347
+ internalType: "uint256",
348
+ name: "price",
349
+ type: "uint256",
350
+ },
351
+ ],
352
+ internalType: "struct Helpers.PositionData",
353
+ name: "positionData",
354
+ type: "tuple",
355
+ },
356
+ ],
357
+ stateMutability: "view",
358
+ type: "function",
359
+ },
360
+ {
361
+ inputs: [],
362
+ name: "aaveLendingPoolAddressesProvider",
363
+ outputs: [
364
+ {
365
+ internalType: "contract AaveLendingPoolProviderInterface",
366
+ name: "",
367
+ type: "address",
368
+ },
369
+ ],
370
+ stateMutability: "view",
371
+ type: "function",
372
+ },
373
+ {
374
+ inputs: [],
375
+ name: "aaveProtocolDataProvider",
376
+ outputs: [
377
+ {
378
+ internalType: "contract AaveDataProviderInterface",
379
+ name: "",
380
+ type: "address",
381
+ },
382
+ ],
383
+ stateMutability: "view",
384
+ type: "function",
385
+ },
386
+ {
387
+ inputs: [
388
+ {
389
+ internalType: "address",
390
+ name: "liquidityAddress",
391
+ type: "address",
392
+ },
393
+ {
394
+ components: [
395
+ {
396
+ components: [
397
+ {
398
+ internalType: "address",
399
+ name: "sourceToken",
400
+ type: "address",
401
+ },
402
+ {
403
+ internalType: "address",
404
+ name: "targetToken",
405
+ type: "address",
406
+ },
407
+ {
408
+ internalType: "uint256",
409
+ name: "amount",
410
+ type: "uint256",
411
+ },
412
+ ],
413
+ internalType: "struct Variables.TokenInfo[]",
414
+ name: "supply",
415
+ type: "tuple[]",
416
+ },
417
+ {
418
+ components: [
419
+ {
420
+ internalType: "address",
421
+ name: "sourceToken",
422
+ type: "address",
423
+ },
424
+ {
425
+ internalType: "address",
426
+ name: "targetToken",
427
+ type: "address",
428
+ },
429
+ {
430
+ internalType: "uint256",
431
+ name: "amount",
432
+ type: "uint256",
433
+ },
434
+ ],
435
+ internalType: "struct Variables.TokenInfo[]",
436
+ name: "withdraw",
437
+ type: "tuple[]",
438
+ },
439
+ ],
440
+ internalType: "struct Variables.Position",
441
+ name: "position",
442
+ type: "tuple",
443
+ },
444
+ {
445
+ internalType: "uint256",
446
+ name: "safeLiquidityRatioPercentage",
447
+ type: "uint256",
448
+ },
449
+ ],
450
+ name: "checkAaveLiquidity",
451
+ outputs: [
452
+ {
453
+ components: [
454
+ {
455
+ internalType: "bool",
456
+ name: "isOk",
457
+ type: "bool",
458
+ },
459
+ {
460
+ internalType: "uint256",
461
+ name: "ratio",
462
+ type: "uint256",
463
+ },
464
+ {
465
+ internalType: "uint256",
466
+ name: "maxRatio",
467
+ type: "uint256",
468
+ },
469
+ {
470
+ internalType: "uint256",
471
+ name: "maxLiquidationRatio",
472
+ type: "uint256",
473
+ },
474
+ {
475
+ internalType: "uint256",
476
+ name: "ltv",
477
+ type: "uint256",
478
+ },
479
+ {
480
+ internalType: "uint256",
481
+ name: "currentLiquidationThreshold",
482
+ type: "uint256",
483
+ },
484
+ {
485
+ internalType: "uint256",
486
+ name: "totalSupply",
487
+ type: "uint256",
488
+ },
489
+ {
490
+ internalType: "uint256",
491
+ name: "totalBorrow",
492
+ type: "uint256",
493
+ },
494
+ {
495
+ internalType: "uint256",
496
+ name: "price",
497
+ type: "uint256",
498
+ },
499
+ ],
500
+ internalType: "struct Helpers.PositionData",
501
+ name: "p",
502
+ type: "tuple",
503
+ },
504
+ ],
505
+ stateMutability: "view",
506
+ type: "function",
507
+ },
508
+ {
509
+ inputs: [
510
+ {
511
+ internalType: "address",
512
+ name: "userAddress",
513
+ type: "address",
514
+ },
515
+ {
516
+ components: [
517
+ {
518
+ components: [
519
+ {
520
+ internalType: "address",
521
+ name: "sourceToken",
522
+ type: "address",
523
+ },
524
+ {
525
+ internalType: "address",
526
+ name: "targetToken",
527
+ type: "address",
528
+ },
529
+ {
530
+ internalType: "uint256",
531
+ name: "amount",
532
+ type: "uint256",
533
+ },
534
+ ],
535
+ internalType: "struct Variables.TokenInfo[]",
536
+ name: "supply",
537
+ type: "tuple[]",
538
+ },
539
+ {
540
+ components: [
541
+ {
542
+ internalType: "address",
543
+ name: "sourceToken",
544
+ type: "address",
545
+ },
546
+ {
547
+ internalType: "address",
548
+ name: "targetToken",
549
+ type: "address",
550
+ },
551
+ {
552
+ internalType: "uint256",
553
+ name: "amount",
554
+ type: "uint256",
555
+ },
556
+ ],
557
+ internalType: "struct Variables.TokenInfo[]",
558
+ name: "withdraw",
559
+ type: "tuple[]",
560
+ },
561
+ ],
562
+ internalType: "struct Variables.Position",
563
+ name: "position",
564
+ type: "tuple",
565
+ },
566
+ {
567
+ internalType: "uint256",
568
+ name: "safeRatioPercentage",
569
+ type: "uint256",
570
+ },
571
+ {
572
+ internalType: "bool",
573
+ name: "isTarget",
574
+ type: "bool",
575
+ },
576
+ ],
577
+ name: "checkAavePosition",
578
+ outputs: [
579
+ {
580
+ components: [
581
+ {
582
+ internalType: "bool",
583
+ name: "isOk",
584
+ type: "bool",
585
+ },
586
+ {
587
+ internalType: "uint256",
588
+ name: "ratio",
589
+ type: "uint256",
590
+ },
591
+ {
592
+ internalType: "uint256",
593
+ name: "maxRatio",
594
+ type: "uint256",
595
+ },
596
+ {
597
+ internalType: "uint256",
598
+ name: "maxLiquidationRatio",
599
+ type: "uint256",
600
+ },
601
+ {
602
+ internalType: "uint256",
603
+ name: "ltv",
604
+ type: "uint256",
605
+ },
606
+ {
607
+ internalType: "uint256",
608
+ name: "currentLiquidationThreshold",
609
+ type: "uint256",
610
+ },
611
+ {
612
+ internalType: "uint256",
613
+ name: "totalSupply",
614
+ type: "uint256",
615
+ },
616
+ {
617
+ internalType: "uint256",
618
+ name: "totalBorrow",
619
+ type: "uint256",
620
+ },
621
+ {
622
+ internalType: "uint256",
623
+ name: "price",
624
+ type: "uint256",
625
+ },
626
+ ],
627
+ internalType: "struct Helpers.PositionData",
628
+ name: "p",
629
+ type: "tuple",
630
+ },
631
+ ],
632
+ stateMutability: "view",
633
+ type: "function",
634
+ },
635
+ {
636
+ inputs: [
637
+ {
638
+ internalType: "address",
639
+ name: "userAddress",
640
+ type: "address",
641
+ },
642
+ {
643
+ components: [
644
+ {
645
+ internalType: "address",
646
+ name: "targetDsa",
647
+ type: "address",
648
+ },
649
+ {
650
+ internalType: "uint256[]",
651
+ name: "supplyAmts",
652
+ type: "uint256[]",
653
+ },
654
+ {
655
+ internalType: "uint256[]",
656
+ name: "borrowAmts",
657
+ type: "uint256[]",
658
+ },
659
+ {
660
+ internalType: "address[]",
661
+ name: "supplyTokens",
662
+ type: "address[]",
663
+ },
664
+ {
665
+ internalType: "address[]",
666
+ name: "borrowTokens",
667
+ type: "address[]",
668
+ },
669
+ ],
670
+ internalType: "struct Variables.AaveData",
671
+ name: "data",
672
+ type: "tuple",
673
+ },
674
+ {
675
+ internalType: "bool",
676
+ name: "isTarget",
677
+ type: "bool",
678
+ },
679
+ ],
680
+ name: "checkBorrowToken",
681
+ outputs: [
682
+ {
683
+ internalType: "uint256",
684
+ name: "totalBorrow",
685
+ type: "uint256",
686
+ },
687
+ {
688
+ internalType: "bool",
689
+ name: "isOk",
690
+ type: "bool",
691
+ },
692
+ ],
693
+ stateMutability: "view",
694
+ type: "function",
695
+ },
696
+ {
697
+ inputs: [
698
+ {
699
+ internalType: "address",
700
+ name: "liquidityAddress",
701
+ type: "address",
702
+ },
703
+ {
704
+ internalType: "address[]",
705
+ name: "tokens",
706
+ type: "address[]",
707
+ },
708
+ {
709
+ internalType: "uint256",
710
+ name: "totalSupply",
711
+ type: "uint256",
712
+ },
713
+ {
714
+ internalType: "uint256",
715
+ name: "totalBorrow",
716
+ type: "uint256",
717
+ },
718
+ {
719
+ internalType: "uint256",
720
+ name: "safeLiquidityRatioPercentage",
721
+ type: "uint256",
722
+ },
723
+ {
724
+ internalType: "bool",
725
+ name: "isTarget",
726
+ type: "bool",
727
+ },
728
+ ],
729
+ name: "checkLiquidity",
730
+ outputs: [
731
+ {
732
+ components: [
733
+ {
734
+ internalType: "bool",
735
+ name: "isOk",
736
+ type: "bool",
737
+ },
738
+ {
739
+ internalType: "uint256",
740
+ name: "ratio",
741
+ type: "uint256",
742
+ },
743
+ {
744
+ internalType: "uint256",
745
+ name: "maxRatio",
746
+ type: "uint256",
747
+ },
748
+ {
749
+ internalType: "uint256",
750
+ name: "maxLiquidationRatio",
751
+ type: "uint256",
752
+ },
753
+ {
754
+ internalType: "uint256",
755
+ name: "ltv",
756
+ type: "uint256",
757
+ },
758
+ {
759
+ internalType: "uint256",
760
+ name: "currentLiquidationThreshold",
761
+ type: "uint256",
762
+ },
763
+ {
764
+ internalType: "uint256",
765
+ name: "totalSupply",
766
+ type: "uint256",
767
+ },
768
+ {
769
+ internalType: "uint256",
770
+ name: "totalBorrow",
771
+ type: "uint256",
772
+ },
773
+ {
774
+ internalType: "uint256",
775
+ name: "price",
776
+ type: "uint256",
777
+ },
778
+ ],
779
+ internalType: "struct Helpers.PositionData",
780
+ name: "p",
781
+ type: "tuple",
782
+ },
783
+ ],
784
+ stateMutability: "view",
785
+ type: "function",
786
+ },
787
+ {
788
+ inputs: [
789
+ {
790
+ internalType: "address",
791
+ name: "user",
792
+ type: "address",
793
+ },
794
+ {
795
+ internalType: "address[]",
796
+ name: "tokens",
797
+ type: "address[]",
798
+ },
799
+ ],
800
+ name: "checkLiquidityToken",
801
+ outputs: [
802
+ {
803
+ internalType: "uint256",
804
+ name: "totalSupply",
805
+ type: "uint256",
806
+ },
807
+ {
808
+ internalType: "uint256",
809
+ name: "totalBorrow",
810
+ type: "uint256",
811
+ },
812
+ {
813
+ internalType: "uint256",
814
+ name: "totalMaxBorrow",
815
+ type: "uint256",
816
+ },
817
+ {
818
+ internalType: "uint256",
819
+ name: "totalMaxLiquidation",
820
+ type: "uint256",
821
+ },
822
+ ],
823
+ stateMutability: "view",
824
+ type: "function",
825
+ },
826
+ {
827
+ inputs: [
828
+ {
829
+ internalType: "address",
830
+ name: "userAddress",
831
+ type: "address",
832
+ },
833
+ {
834
+ components: [
835
+ {
836
+ internalType: "address",
837
+ name: "targetDsa",
838
+ type: "address",
839
+ },
840
+ {
841
+ internalType: "uint256[]",
842
+ name: "supplyAmts",
843
+ type: "uint256[]",
844
+ },
845
+ {
846
+ internalType: "uint256[]",
847
+ name: "borrowAmts",
848
+ type: "uint256[]",
849
+ },
850
+ {
851
+ internalType: "address[]",
852
+ name: "supplyTokens",
853
+ type: "address[]",
854
+ },
855
+ {
856
+ internalType: "address[]",
857
+ name: "borrowTokens",
858
+ type: "address[]",
859
+ },
860
+ ],
861
+ internalType: "struct Variables.AaveData",
862
+ name: "data",
863
+ type: "tuple",
864
+ },
865
+ {
866
+ internalType: "bool",
867
+ name: "isTarget",
868
+ type: "bool",
869
+ },
870
+ ],
871
+ name: "checkSupplyToken",
872
+ outputs: [
873
+ {
874
+ internalType: "uint256",
875
+ name: "totalSupply",
876
+ type: "uint256",
877
+ },
878
+ {
879
+ internalType: "uint256",
880
+ name: "totalMaxBorrow",
881
+ type: "uint256",
882
+ },
883
+ {
884
+ internalType: "uint256",
885
+ name: "totalMaxLiquidation",
886
+ type: "uint256",
887
+ },
888
+ {
889
+ internalType: "bool",
890
+ name: "isOk",
891
+ type: "bool",
892
+ },
893
+ ],
894
+ stateMutability: "view",
895
+ type: "function",
896
+ },
897
+ {
898
+ inputs: [
899
+ {
900
+ internalType: "address",
901
+ name: "user",
902
+ type: "address",
903
+ },
904
+ {
905
+ internalType: "uint256",
906
+ name: "totalBorrowMove",
907
+ type: "uint256",
908
+ },
909
+ {
910
+ internalType: "uint256",
911
+ name: "totalMaxLiquidationMove",
912
+ type: "uint256",
913
+ },
914
+ ],
915
+ name: "checkUserPositionAfterMigration",
916
+ outputs: [
917
+ {
918
+ internalType: "bool",
919
+ name: "isOk",
920
+ type: "bool",
921
+ },
922
+ ],
923
+ stateMutability: "view",
924
+ type: "function",
925
+ },
926
+ {
927
+ inputs: [
928
+ {
929
+ internalType: "address[]",
930
+ name: "_tokens",
931
+ type: "address[]",
932
+ },
933
+ ],
934
+ name: "getTokenInfos",
935
+ outputs: [
936
+ {
937
+ components: [
938
+ {
939
+ internalType: "uint256",
940
+ name: "decimals",
941
+ type: "uint256",
942
+ },
943
+ {
944
+ internalType: "uint256",
945
+ name: "ltv",
946
+ type: "uint256",
947
+ },
948
+ {
949
+ internalType: "uint256",
950
+ name: "tl",
951
+ type: "uint256",
952
+ },
953
+ {
954
+ internalType: "bool",
955
+ name: "enabledAsCollateral",
956
+ type: "bool",
957
+ },
958
+ {
959
+ internalType: "bool",
960
+ name: "borrowingEnabled",
961
+ type: "bool",
962
+ },
963
+ {
964
+ internalType: "bool",
965
+ name: "isActive",
966
+ type: "bool",
967
+ },
968
+ {
969
+ internalType: "bool",
970
+ name: "isFrozen",
971
+ type: "bool",
972
+ },
973
+ {
974
+ internalType: "uint256",
975
+ name: "availableLiquidity",
976
+ type: "uint256",
977
+ },
978
+ {
979
+ internalType: "uint256",
980
+ name: "totalOverallDebt",
981
+ type: "uint256",
982
+ },
983
+ ],
984
+ internalType: "struct Helpers.ReserveConfigData[]",
985
+ name: "reserveConfigData",
986
+ type: "tuple[]",
987
+ },
988
+ ],
989
+ stateMutability: "view",
990
+ type: "function",
991
+ },
992
+ {
993
+ inputs: [
994
+ {
995
+ internalType: "address[]",
996
+ name: "tokens",
997
+ type: "address[]",
998
+ },
999
+ ],
1000
+ name: "getTokensPrices",
1001
+ outputs: [
1002
+ {
1003
+ internalType: "uint256[]",
1004
+ name: "tokenPricesInEth",
1005
+ type: "uint256[]",
1006
+ },
1007
+ ],
1008
+ stateMutability: "view",
1009
+ type: "function",
1010
+ },
1011
+ {
1012
+ inputs: [],
1013
+ name: "instaIndex",
1014
+ outputs: [
1015
+ {
1016
+ internalType: "contract IndexInterface",
1017
+ name: "",
1018
+ type: "address",
1019
+ },
1020
+ ],
1021
+ stateMutability: "view",
1022
+ type: "function",
1023
+ },
1024
+ {
1025
+ inputs: [
1026
+ {
1027
+ internalType: "address",
1028
+ name: "user",
1029
+ type: "address",
1030
+ },
1031
+ {
1032
+ internalType: "uint256",
1033
+ name: "safeRatioPercentage",
1034
+ type: "uint256",
1035
+ },
1036
+ ],
1037
+ name: "isPositionSafe",
1038
+ outputs: [
1039
+ {
1040
+ internalType: "bool",
1041
+ name: "isOk",
1042
+ type: "bool",
1043
+ },
1044
+ {
1045
+ internalType: "uint256",
1046
+ name: "userTl",
1047
+ type: "uint256",
1048
+ },
1049
+ {
1050
+ internalType: "uint256",
1051
+ name: "userLtv",
1052
+ type: "uint256",
1053
+ },
1054
+ ],
1055
+ stateMutability: "view",
1056
+ type: "function",
1057
+ },
1058
+ {
1059
+ inputs: [],
1060
+ name: "nativeToken",
1061
+ outputs: [
1062
+ {
1063
+ internalType: "address",
1064
+ name: "",
1065
+ type: "address",
1066
+ },
1067
+ ],
1068
+ stateMutability: "view",
1069
+ type: "function",
1070
+ },
1071
+ {
1072
+ inputs: [
1073
+ {
1074
+ components: [
1075
+ {
1076
+ components: [
1077
+ {
1078
+ internalType: "address",
1079
+ name: "sourceToken",
1080
+ type: "address",
1081
+ },
1082
+ {
1083
+ internalType: "address",
1084
+ name: "targetToken",
1085
+ type: "address",
1086
+ },
1087
+ {
1088
+ internalType: "uint256",
1089
+ name: "amount",
1090
+ type: "uint256",
1091
+ },
1092
+ ],
1093
+ internalType: "struct Variables.TokenInfo[]",
1094
+ name: "supply",
1095
+ type: "tuple[]",
1096
+ },
1097
+ {
1098
+ components: [
1099
+ {
1100
+ internalType: "address",
1101
+ name: "sourceToken",
1102
+ type: "address",
1103
+ },
1104
+ {
1105
+ internalType: "address",
1106
+ name: "targetToken",
1107
+ type: "address",
1108
+ },
1109
+ {
1110
+ internalType: "uint256",
1111
+ name: "amount",
1112
+ type: "uint256",
1113
+ },
1114
+ ],
1115
+ internalType: "struct Variables.TokenInfo[]",
1116
+ name: "withdraw",
1117
+ type: "tuple[]",
1118
+ },
1119
+ ],
1120
+ internalType: "struct Variables.Position",
1121
+ name: "position",
1122
+ type: "tuple",
1123
+ },
1124
+ {
1125
+ internalType: "bool",
1126
+ name: "isTarget",
1127
+ type: "bool",
1128
+ },
1129
+ ],
1130
+ name: "sortData",
1131
+ outputs: [
1132
+ {
1133
+ components: [
1134
+ {
1135
+ internalType: "address",
1136
+ name: "targetDsa",
1137
+ type: "address",
1138
+ },
1139
+ {
1140
+ internalType: "uint256[]",
1141
+ name: "supplyAmts",
1142
+ type: "uint256[]",
1143
+ },
1144
+ {
1145
+ internalType: "uint256[]",
1146
+ name: "borrowAmts",
1147
+ type: "uint256[]",
1148
+ },
1149
+ {
1150
+ internalType: "address[]",
1151
+ name: "supplyTokens",
1152
+ type: "address[]",
1153
+ },
1154
+ {
1155
+ internalType: "address[]",
1156
+ name: "borrowTokens",
1157
+ type: "address[]",
1158
+ },
1159
+ ],
1160
+ internalType: "struct Variables.AaveData",
1161
+ name: "aaveData",
1162
+ type: "tuple",
1163
+ },
1164
+ ],
1165
+ stateMutability: "view",
1166
+ type: "function",
1167
+ },
1168
+ {
1169
+ inputs: [],
1170
+ name: "wnativeToken",
1171
+ outputs: [
1172
+ {
1173
+ internalType: "address",
1174
+ name: "",
1175
+ type: "address",
1176
+ },
1177
+ ],
1178
+ stateMutability: "view",
1179
+ type: "function",
1180
+ },
1181
+ ];
1182
+ class AaveV2Resolver__factory {
1183
+ static createInterface() {
1184
+ return new ethers_1.utils.Interface(_abi);
1185
+ }
1186
+ static connect(address, signerOrProvider) {
1187
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
1188
+ }
1189
+ }
1190
+ exports.AaveV2Resolver__factory = AaveV2Resolver__factory;
1191
+ AaveV2Resolver__factory.abi = _abi;