@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,1017 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ PopulatedTransaction,
11
+ Signer,
12
+ utils,
13
+ } from "ethers";
14
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
15
+ import type { Listener, Provider } from "@ethersproject/providers";
16
+ import type {
17
+ TypedEventFilter,
18
+ TypedEvent,
19
+ TypedListener,
20
+ OnEvent,
21
+ } from "./common";
22
+
23
+ export declare namespace Variables {
24
+ export type TokenInfoStruct = {
25
+ sourceToken: string;
26
+ targetToken: string;
27
+ amount: BigNumberish;
28
+ };
29
+
30
+ export type TokenInfoStructOutput = [string, string, BigNumber] & {
31
+ sourceToken: string;
32
+ targetToken: string;
33
+ amount: BigNumber;
34
+ };
35
+
36
+ export type PositionStruct = {
37
+ supply: Variables.TokenInfoStruct[];
38
+ withdraw: Variables.TokenInfoStruct[];
39
+ };
40
+
41
+ export type PositionStructOutput = [
42
+ Variables.TokenInfoStructOutput[],
43
+ Variables.TokenInfoStructOutput[]
44
+ ] & {
45
+ supply: Variables.TokenInfoStructOutput[];
46
+ withdraw: Variables.TokenInfoStructOutput[];
47
+ };
48
+
49
+ export type AaveDataStruct = {
50
+ targetDsa: string;
51
+ supplyAmts: BigNumberish[];
52
+ borrowAmts: BigNumberish[];
53
+ supplyTokens: string[];
54
+ borrowTokens: string[];
55
+ };
56
+
57
+ export type AaveDataStructOutput = [
58
+ string,
59
+ BigNumber[],
60
+ BigNumber[],
61
+ string[],
62
+ string[]
63
+ ] & {
64
+ targetDsa: string;
65
+ supplyAmts: BigNumber[];
66
+ borrowAmts: BigNumber[];
67
+ supplyTokens: string[];
68
+ borrowTokens: string[];
69
+ };
70
+ }
71
+
72
+ export declare namespace Helpers {
73
+ export type PositionDataStruct = {
74
+ isOk: boolean;
75
+ ratio: BigNumberish;
76
+ maxRatio: BigNumberish;
77
+ maxLiquidationRatio: BigNumberish;
78
+ ltv: BigNumberish;
79
+ currentLiquidationThreshold: BigNumberish;
80
+ totalSupply: BigNumberish;
81
+ totalBorrow: BigNumberish;
82
+ price: BigNumberish;
83
+ };
84
+
85
+ export type PositionDataStructOutput = [
86
+ boolean,
87
+ BigNumber,
88
+ BigNumber,
89
+ BigNumber,
90
+ BigNumber,
91
+ BigNumber,
92
+ BigNumber,
93
+ BigNumber,
94
+ BigNumber
95
+ ] & {
96
+ isOk: boolean;
97
+ ratio: BigNumber;
98
+ maxRatio: BigNumber;
99
+ maxLiquidationRatio: BigNumber;
100
+ ltv: BigNumber;
101
+ currentLiquidationThreshold: BigNumber;
102
+ totalSupply: BigNumber;
103
+ totalBorrow: BigNumber;
104
+ price: BigNumber;
105
+ };
106
+
107
+ export type ReserveConfigDataStruct = {
108
+ decimals: BigNumberish;
109
+ ltv: BigNumberish;
110
+ tl: BigNumberish;
111
+ enabledAsCollateral: boolean;
112
+ borrowingEnabled: boolean;
113
+ isActive: boolean;
114
+ isFrozen: boolean;
115
+ availableLiquidity: BigNumberish;
116
+ totalOverallDebt: BigNumberish;
117
+ };
118
+
119
+ export type ReserveConfigDataStructOutput = [
120
+ BigNumber,
121
+ BigNumber,
122
+ BigNumber,
123
+ boolean,
124
+ boolean,
125
+ boolean,
126
+ boolean,
127
+ BigNumber,
128
+ BigNumber
129
+ ] & {
130
+ decimals: BigNumber;
131
+ ltv: BigNumber;
132
+ tl: BigNumber;
133
+ enabledAsCollateral: boolean;
134
+ borrowingEnabled: boolean;
135
+ isActive: boolean;
136
+ isFrozen: boolean;
137
+ availableLiquidity: BigNumber;
138
+ totalOverallDebt: BigNumber;
139
+ };
140
+ }
141
+
142
+ export interface AaveV2ResolverInterface extends utils.Interface {
143
+ functions: {
144
+ "_checkAaveLiquidityRatio(address,((address,address,uint256)[],(address,address,uint256)[]),uint256)": FunctionFragment;
145
+ "_checkLiquidityRatio(address,uint256,uint256)": FunctionFragment;
146
+ "_checkRatio(address,((address,address,uint256)[],(address,address,uint256)[]),uint256,bool)": FunctionFragment;
147
+ "aaveLendingPoolAddressesProvider()": FunctionFragment;
148
+ "aaveProtocolDataProvider()": FunctionFragment;
149
+ "checkAaveLiquidity(address,((address,address,uint256)[],(address,address,uint256)[]),uint256)": FunctionFragment;
150
+ "checkAavePosition(address,((address,address,uint256)[],(address,address,uint256)[]),uint256,bool)": FunctionFragment;
151
+ "checkBorrowToken(address,(address,uint256[],uint256[],address[],address[]),bool)": FunctionFragment;
152
+ "checkLiquidity(address,address[],uint256,uint256,uint256,bool)": FunctionFragment;
153
+ "checkLiquidityToken(address,address[])": FunctionFragment;
154
+ "checkSupplyToken(address,(address,uint256[],uint256[],address[],address[]),bool)": FunctionFragment;
155
+ "checkUserPositionAfterMigration(address,uint256,uint256)": FunctionFragment;
156
+ "getTokenInfos(address[])": FunctionFragment;
157
+ "getTokensPrices(address[])": FunctionFragment;
158
+ "instaIndex()": FunctionFragment;
159
+ "isPositionSafe(address,uint256)": FunctionFragment;
160
+ "nativeToken()": FunctionFragment;
161
+ "sortData(((address,address,uint256)[],(address,address,uint256)[]),bool)": FunctionFragment;
162
+ "wnativeToken()": FunctionFragment;
163
+ };
164
+
165
+ getFunction(
166
+ nameOrSignatureOrTopic:
167
+ | "_checkAaveLiquidityRatio"
168
+ | "_checkLiquidityRatio"
169
+ | "_checkRatio"
170
+ | "aaveLendingPoolAddressesProvider"
171
+ | "aaveProtocolDataProvider"
172
+ | "checkAaveLiquidity"
173
+ | "checkAavePosition"
174
+ | "checkBorrowToken"
175
+ | "checkLiquidity"
176
+ | "checkLiquidityToken"
177
+ | "checkSupplyToken"
178
+ | "checkUserPositionAfterMigration"
179
+ | "getTokenInfos"
180
+ | "getTokensPrices"
181
+ | "instaIndex"
182
+ | "isPositionSafe"
183
+ | "nativeToken"
184
+ | "sortData"
185
+ | "wnativeToken"
186
+ ): FunctionFragment;
187
+
188
+ encodeFunctionData(
189
+ functionFragment: "_checkAaveLiquidityRatio",
190
+ values: [string, Variables.PositionStruct, BigNumberish]
191
+ ): string;
192
+ encodeFunctionData(
193
+ functionFragment: "_checkLiquidityRatio",
194
+ values: [string, BigNumberish, BigNumberish]
195
+ ): string;
196
+ encodeFunctionData(
197
+ functionFragment: "_checkRatio",
198
+ values: [string, Variables.PositionStruct, BigNumberish, boolean]
199
+ ): string;
200
+ encodeFunctionData(
201
+ functionFragment: "aaveLendingPoolAddressesProvider",
202
+ values?: undefined
203
+ ): string;
204
+ encodeFunctionData(
205
+ functionFragment: "aaveProtocolDataProvider",
206
+ values?: undefined
207
+ ): string;
208
+ encodeFunctionData(
209
+ functionFragment: "checkAaveLiquidity",
210
+ values: [string, Variables.PositionStruct, BigNumberish]
211
+ ): string;
212
+ encodeFunctionData(
213
+ functionFragment: "checkAavePosition",
214
+ values: [string, Variables.PositionStruct, BigNumberish, boolean]
215
+ ): string;
216
+ encodeFunctionData(
217
+ functionFragment: "checkBorrowToken",
218
+ values: [string, Variables.AaveDataStruct, boolean]
219
+ ): string;
220
+ encodeFunctionData(
221
+ functionFragment: "checkLiquidity",
222
+ values: [
223
+ string,
224
+ string[],
225
+ BigNumberish,
226
+ BigNumberish,
227
+ BigNumberish,
228
+ boolean
229
+ ]
230
+ ): string;
231
+ encodeFunctionData(
232
+ functionFragment: "checkLiquidityToken",
233
+ values: [string, string[]]
234
+ ): string;
235
+ encodeFunctionData(
236
+ functionFragment: "checkSupplyToken",
237
+ values: [string, Variables.AaveDataStruct, boolean]
238
+ ): string;
239
+ encodeFunctionData(
240
+ functionFragment: "checkUserPositionAfterMigration",
241
+ values: [string, BigNumberish, BigNumberish]
242
+ ): string;
243
+ encodeFunctionData(
244
+ functionFragment: "getTokenInfos",
245
+ values: [string[]]
246
+ ): string;
247
+ encodeFunctionData(
248
+ functionFragment: "getTokensPrices",
249
+ values: [string[]]
250
+ ): string;
251
+ encodeFunctionData(
252
+ functionFragment: "instaIndex",
253
+ values?: undefined
254
+ ): string;
255
+ encodeFunctionData(
256
+ functionFragment: "isPositionSafe",
257
+ values: [string, BigNumberish]
258
+ ): string;
259
+ encodeFunctionData(
260
+ functionFragment: "nativeToken",
261
+ values?: undefined
262
+ ): string;
263
+ encodeFunctionData(
264
+ functionFragment: "sortData",
265
+ values: [Variables.PositionStruct, boolean]
266
+ ): string;
267
+ encodeFunctionData(
268
+ functionFragment: "wnativeToken",
269
+ values?: undefined
270
+ ): string;
271
+
272
+ decodeFunctionResult(
273
+ functionFragment: "_checkAaveLiquidityRatio",
274
+ data: BytesLike
275
+ ): Result;
276
+ decodeFunctionResult(
277
+ functionFragment: "_checkLiquidityRatio",
278
+ data: BytesLike
279
+ ): Result;
280
+ decodeFunctionResult(
281
+ functionFragment: "_checkRatio",
282
+ data: BytesLike
283
+ ): Result;
284
+ decodeFunctionResult(
285
+ functionFragment: "aaveLendingPoolAddressesProvider",
286
+ data: BytesLike
287
+ ): Result;
288
+ decodeFunctionResult(
289
+ functionFragment: "aaveProtocolDataProvider",
290
+ data: BytesLike
291
+ ): Result;
292
+ decodeFunctionResult(
293
+ functionFragment: "checkAaveLiquidity",
294
+ data: BytesLike
295
+ ): Result;
296
+ decodeFunctionResult(
297
+ functionFragment: "checkAavePosition",
298
+ data: BytesLike
299
+ ): Result;
300
+ decodeFunctionResult(
301
+ functionFragment: "checkBorrowToken",
302
+ data: BytesLike
303
+ ): Result;
304
+ decodeFunctionResult(
305
+ functionFragment: "checkLiquidity",
306
+ data: BytesLike
307
+ ): Result;
308
+ decodeFunctionResult(
309
+ functionFragment: "checkLiquidityToken",
310
+ data: BytesLike
311
+ ): Result;
312
+ decodeFunctionResult(
313
+ functionFragment: "checkSupplyToken",
314
+ data: BytesLike
315
+ ): Result;
316
+ decodeFunctionResult(
317
+ functionFragment: "checkUserPositionAfterMigration",
318
+ data: BytesLike
319
+ ): Result;
320
+ decodeFunctionResult(
321
+ functionFragment: "getTokenInfos",
322
+ data: BytesLike
323
+ ): Result;
324
+ decodeFunctionResult(
325
+ functionFragment: "getTokensPrices",
326
+ data: BytesLike
327
+ ): Result;
328
+ decodeFunctionResult(functionFragment: "instaIndex", data: BytesLike): Result;
329
+ decodeFunctionResult(
330
+ functionFragment: "isPositionSafe",
331
+ data: BytesLike
332
+ ): Result;
333
+ decodeFunctionResult(
334
+ functionFragment: "nativeToken",
335
+ data: BytesLike
336
+ ): Result;
337
+ decodeFunctionResult(functionFragment: "sortData", data: BytesLike): Result;
338
+ decodeFunctionResult(
339
+ functionFragment: "wnativeToken",
340
+ data: BytesLike
341
+ ): Result;
342
+
343
+ events: {};
344
+ }
345
+
346
+ export interface AaveV2Resolver extends BaseContract {
347
+ connect(signerOrProvider: Signer | Provider | string): this;
348
+ attach(addressOrName: string): this;
349
+ deployed(): Promise<this>;
350
+
351
+ interface: AaveV2ResolverInterface;
352
+
353
+ queryFilter<TEvent extends TypedEvent>(
354
+ event: TypedEventFilter<TEvent>,
355
+ fromBlockOrBlockhash?: string | number | undefined,
356
+ toBlock?: string | number | undefined
357
+ ): Promise<Array<TEvent>>;
358
+
359
+ listeners<TEvent extends TypedEvent>(
360
+ eventFilter?: TypedEventFilter<TEvent>
361
+ ): Array<TypedListener<TEvent>>;
362
+ listeners(eventName?: string): Array<Listener>;
363
+ removeAllListeners<TEvent extends TypedEvent>(
364
+ eventFilter: TypedEventFilter<TEvent>
365
+ ): this;
366
+ removeAllListeners(eventName?: string): this;
367
+ off: OnEvent<this>;
368
+ on: OnEvent<this>;
369
+ once: OnEvent<this>;
370
+ removeListener: OnEvent<this>;
371
+
372
+ functions: {
373
+ _checkAaveLiquidityRatio(
374
+ liquidity: string,
375
+ position: Variables.PositionStruct,
376
+ safeRatioPercentage: BigNumberish,
377
+ overrides?: CallOverrides
378
+ ): Promise<
379
+ [Helpers.PositionDataStructOutput] & {
380
+ positionData: Helpers.PositionDataStructOutput;
381
+ }
382
+ >;
383
+
384
+ _checkLiquidityRatio(
385
+ liquidity: string,
386
+ safeRatioPercentage: BigNumberish,
387
+ extraBorrow: BigNumberish,
388
+ overrides?: CallOverrides
389
+ ): Promise<
390
+ [Helpers.PositionDataStructOutput] & {
391
+ positionData: Helpers.PositionDataStructOutput;
392
+ }
393
+ >;
394
+
395
+ _checkRatio(
396
+ userAddress: string,
397
+ position: Variables.PositionStruct,
398
+ safeRatioPercentage: BigNumberish,
399
+ isTarget: boolean,
400
+ overrides?: CallOverrides
401
+ ): Promise<
402
+ [Helpers.PositionDataStructOutput] & {
403
+ positionData: Helpers.PositionDataStructOutput;
404
+ }
405
+ >;
406
+
407
+ aaveLendingPoolAddressesProvider(
408
+ overrides?: CallOverrides
409
+ ): Promise<[string]>;
410
+
411
+ aaveProtocolDataProvider(overrides?: CallOverrides): Promise<[string]>;
412
+
413
+ checkAaveLiquidity(
414
+ liquidityAddress: string,
415
+ position: Variables.PositionStruct,
416
+ safeLiquidityRatioPercentage: BigNumberish,
417
+ overrides?: CallOverrides
418
+ ): Promise<
419
+ [Helpers.PositionDataStructOutput] & {
420
+ p: Helpers.PositionDataStructOutput;
421
+ }
422
+ >;
423
+
424
+ checkAavePosition(
425
+ userAddress: string,
426
+ position: Variables.PositionStruct,
427
+ safeRatioPercentage: BigNumberish,
428
+ isTarget: boolean,
429
+ overrides?: CallOverrides
430
+ ): Promise<
431
+ [Helpers.PositionDataStructOutput] & {
432
+ p: Helpers.PositionDataStructOutput;
433
+ }
434
+ >;
435
+
436
+ checkBorrowToken(
437
+ userAddress: string,
438
+ data: Variables.AaveDataStruct,
439
+ isTarget: boolean,
440
+ overrides?: CallOverrides
441
+ ): Promise<
442
+ [BigNumber, boolean] & { totalBorrow: BigNumber; isOk: boolean }
443
+ >;
444
+
445
+ checkLiquidity(
446
+ liquidityAddress: string,
447
+ tokens: string[],
448
+ totalSupply: BigNumberish,
449
+ totalBorrow: BigNumberish,
450
+ safeLiquidityRatioPercentage: BigNumberish,
451
+ isTarget: boolean,
452
+ overrides?: CallOverrides
453
+ ): Promise<
454
+ [Helpers.PositionDataStructOutput] & {
455
+ p: Helpers.PositionDataStructOutput;
456
+ }
457
+ >;
458
+
459
+ checkLiquidityToken(
460
+ user: string,
461
+ tokens: string[],
462
+ overrides?: CallOverrides
463
+ ): Promise<
464
+ [BigNumber, BigNumber, BigNumber, BigNumber] & {
465
+ totalSupply: BigNumber;
466
+ totalBorrow: BigNumber;
467
+ totalMaxBorrow: BigNumber;
468
+ totalMaxLiquidation: BigNumber;
469
+ }
470
+ >;
471
+
472
+ checkSupplyToken(
473
+ userAddress: string,
474
+ data: Variables.AaveDataStruct,
475
+ isTarget: boolean,
476
+ overrides?: CallOverrides
477
+ ): Promise<
478
+ [BigNumber, BigNumber, BigNumber, boolean] & {
479
+ totalSupply: BigNumber;
480
+ totalMaxBorrow: BigNumber;
481
+ totalMaxLiquidation: BigNumber;
482
+ isOk: boolean;
483
+ }
484
+ >;
485
+
486
+ checkUserPositionAfterMigration(
487
+ user: string,
488
+ totalBorrowMove: BigNumberish,
489
+ totalMaxLiquidationMove: BigNumberish,
490
+ overrides?: CallOverrides
491
+ ): Promise<[boolean] & { isOk: boolean }>;
492
+
493
+ getTokenInfos(
494
+ _tokens: string[],
495
+ overrides?: CallOverrides
496
+ ): Promise<
497
+ [Helpers.ReserveConfigDataStructOutput[]] & {
498
+ reserveConfigData: Helpers.ReserveConfigDataStructOutput[];
499
+ }
500
+ >;
501
+
502
+ getTokensPrices(
503
+ tokens: string[],
504
+ overrides?: CallOverrides
505
+ ): Promise<[BigNumber[]] & { tokenPricesInEth: BigNumber[] }>;
506
+
507
+ instaIndex(overrides?: CallOverrides): Promise<[string]>;
508
+
509
+ isPositionSafe(
510
+ user: string,
511
+ safeRatioPercentage: BigNumberish,
512
+ overrides?: CallOverrides
513
+ ): Promise<
514
+ [boolean, BigNumber, BigNumber] & {
515
+ isOk: boolean;
516
+ userTl: BigNumber;
517
+ userLtv: BigNumber;
518
+ }
519
+ >;
520
+
521
+ nativeToken(overrides?: CallOverrides): Promise<[string]>;
522
+
523
+ sortData(
524
+ position: Variables.PositionStruct,
525
+ isTarget: boolean,
526
+ overrides?: CallOverrides
527
+ ): Promise<
528
+ [Variables.AaveDataStructOutput] & {
529
+ aaveData: Variables.AaveDataStructOutput;
530
+ }
531
+ >;
532
+
533
+ wnativeToken(overrides?: CallOverrides): Promise<[string]>;
534
+ };
535
+
536
+ _checkAaveLiquidityRatio(
537
+ liquidity: string,
538
+ position: Variables.PositionStruct,
539
+ safeRatioPercentage: BigNumberish,
540
+ overrides?: CallOverrides
541
+ ): Promise<Helpers.PositionDataStructOutput>;
542
+
543
+ _checkLiquidityRatio(
544
+ liquidity: string,
545
+ safeRatioPercentage: BigNumberish,
546
+ extraBorrow: BigNumberish,
547
+ overrides?: CallOverrides
548
+ ): Promise<Helpers.PositionDataStructOutput>;
549
+
550
+ _checkRatio(
551
+ userAddress: string,
552
+ position: Variables.PositionStruct,
553
+ safeRatioPercentage: BigNumberish,
554
+ isTarget: boolean,
555
+ overrides?: CallOverrides
556
+ ): Promise<Helpers.PositionDataStructOutput>;
557
+
558
+ aaveLendingPoolAddressesProvider(overrides?: CallOverrides): Promise<string>;
559
+
560
+ aaveProtocolDataProvider(overrides?: CallOverrides): Promise<string>;
561
+
562
+ checkAaveLiquidity(
563
+ liquidityAddress: string,
564
+ position: Variables.PositionStruct,
565
+ safeLiquidityRatioPercentage: BigNumberish,
566
+ overrides?: CallOverrides
567
+ ): Promise<Helpers.PositionDataStructOutput>;
568
+
569
+ checkAavePosition(
570
+ userAddress: string,
571
+ position: Variables.PositionStruct,
572
+ safeRatioPercentage: BigNumberish,
573
+ isTarget: boolean,
574
+ overrides?: CallOverrides
575
+ ): Promise<Helpers.PositionDataStructOutput>;
576
+
577
+ checkBorrowToken(
578
+ userAddress: string,
579
+ data: Variables.AaveDataStruct,
580
+ isTarget: boolean,
581
+ overrides?: CallOverrides
582
+ ): Promise<[BigNumber, boolean] & { totalBorrow: BigNumber; isOk: boolean }>;
583
+
584
+ checkLiquidity(
585
+ liquidityAddress: string,
586
+ tokens: string[],
587
+ totalSupply: BigNumberish,
588
+ totalBorrow: BigNumberish,
589
+ safeLiquidityRatioPercentage: BigNumberish,
590
+ isTarget: boolean,
591
+ overrides?: CallOverrides
592
+ ): Promise<Helpers.PositionDataStructOutput>;
593
+
594
+ checkLiquidityToken(
595
+ user: string,
596
+ tokens: string[],
597
+ overrides?: CallOverrides
598
+ ): Promise<
599
+ [BigNumber, BigNumber, BigNumber, BigNumber] & {
600
+ totalSupply: BigNumber;
601
+ totalBorrow: BigNumber;
602
+ totalMaxBorrow: BigNumber;
603
+ totalMaxLiquidation: BigNumber;
604
+ }
605
+ >;
606
+
607
+ checkSupplyToken(
608
+ userAddress: string,
609
+ data: Variables.AaveDataStruct,
610
+ isTarget: boolean,
611
+ overrides?: CallOverrides
612
+ ): Promise<
613
+ [BigNumber, BigNumber, BigNumber, boolean] & {
614
+ totalSupply: BigNumber;
615
+ totalMaxBorrow: BigNumber;
616
+ totalMaxLiquidation: BigNumber;
617
+ isOk: boolean;
618
+ }
619
+ >;
620
+
621
+ checkUserPositionAfterMigration(
622
+ user: string,
623
+ totalBorrowMove: BigNumberish,
624
+ totalMaxLiquidationMove: BigNumberish,
625
+ overrides?: CallOverrides
626
+ ): Promise<boolean>;
627
+
628
+ getTokenInfos(
629
+ _tokens: string[],
630
+ overrides?: CallOverrides
631
+ ): Promise<Helpers.ReserveConfigDataStructOutput[]>;
632
+
633
+ getTokensPrices(
634
+ tokens: string[],
635
+ overrides?: CallOverrides
636
+ ): Promise<BigNumber[]>;
637
+
638
+ instaIndex(overrides?: CallOverrides): Promise<string>;
639
+
640
+ isPositionSafe(
641
+ user: string,
642
+ safeRatioPercentage: BigNumberish,
643
+ overrides?: CallOverrides
644
+ ): Promise<
645
+ [boolean, BigNumber, BigNumber] & {
646
+ isOk: boolean;
647
+ userTl: BigNumber;
648
+ userLtv: BigNumber;
649
+ }
650
+ >;
651
+
652
+ nativeToken(overrides?: CallOverrides): Promise<string>;
653
+
654
+ sortData(
655
+ position: Variables.PositionStruct,
656
+ isTarget: boolean,
657
+ overrides?: CallOverrides
658
+ ): Promise<Variables.AaveDataStructOutput>;
659
+
660
+ wnativeToken(overrides?: CallOverrides): Promise<string>;
661
+
662
+ callStatic: {
663
+ _checkAaveLiquidityRatio(
664
+ liquidity: string,
665
+ position: Variables.PositionStruct,
666
+ safeRatioPercentage: BigNumberish,
667
+ overrides?: CallOverrides
668
+ ): Promise<Helpers.PositionDataStructOutput>;
669
+
670
+ _checkLiquidityRatio(
671
+ liquidity: string,
672
+ safeRatioPercentage: BigNumberish,
673
+ extraBorrow: BigNumberish,
674
+ overrides?: CallOverrides
675
+ ): Promise<Helpers.PositionDataStructOutput>;
676
+
677
+ _checkRatio(
678
+ userAddress: string,
679
+ position: Variables.PositionStruct,
680
+ safeRatioPercentage: BigNumberish,
681
+ isTarget: boolean,
682
+ overrides?: CallOverrides
683
+ ): Promise<Helpers.PositionDataStructOutput>;
684
+
685
+ aaveLendingPoolAddressesProvider(
686
+ overrides?: CallOverrides
687
+ ): Promise<string>;
688
+
689
+ aaveProtocolDataProvider(overrides?: CallOverrides): Promise<string>;
690
+
691
+ checkAaveLiquidity(
692
+ liquidityAddress: string,
693
+ position: Variables.PositionStruct,
694
+ safeLiquidityRatioPercentage: BigNumberish,
695
+ overrides?: CallOverrides
696
+ ): Promise<Helpers.PositionDataStructOutput>;
697
+
698
+ checkAavePosition(
699
+ userAddress: string,
700
+ position: Variables.PositionStruct,
701
+ safeRatioPercentage: BigNumberish,
702
+ isTarget: boolean,
703
+ overrides?: CallOverrides
704
+ ): Promise<Helpers.PositionDataStructOutput>;
705
+
706
+ checkBorrowToken(
707
+ userAddress: string,
708
+ data: Variables.AaveDataStruct,
709
+ isTarget: boolean,
710
+ overrides?: CallOverrides
711
+ ): Promise<
712
+ [BigNumber, boolean] & { totalBorrow: BigNumber; isOk: boolean }
713
+ >;
714
+
715
+ checkLiquidity(
716
+ liquidityAddress: string,
717
+ tokens: string[],
718
+ totalSupply: BigNumberish,
719
+ totalBorrow: BigNumberish,
720
+ safeLiquidityRatioPercentage: BigNumberish,
721
+ isTarget: boolean,
722
+ overrides?: CallOverrides
723
+ ): Promise<Helpers.PositionDataStructOutput>;
724
+
725
+ checkLiquidityToken(
726
+ user: string,
727
+ tokens: string[],
728
+ overrides?: CallOverrides
729
+ ): Promise<
730
+ [BigNumber, BigNumber, BigNumber, BigNumber] & {
731
+ totalSupply: BigNumber;
732
+ totalBorrow: BigNumber;
733
+ totalMaxBorrow: BigNumber;
734
+ totalMaxLiquidation: BigNumber;
735
+ }
736
+ >;
737
+
738
+ checkSupplyToken(
739
+ userAddress: string,
740
+ data: Variables.AaveDataStruct,
741
+ isTarget: boolean,
742
+ overrides?: CallOverrides
743
+ ): Promise<
744
+ [BigNumber, BigNumber, BigNumber, boolean] & {
745
+ totalSupply: BigNumber;
746
+ totalMaxBorrow: BigNumber;
747
+ totalMaxLiquidation: BigNumber;
748
+ isOk: boolean;
749
+ }
750
+ >;
751
+
752
+ checkUserPositionAfterMigration(
753
+ user: string,
754
+ totalBorrowMove: BigNumberish,
755
+ totalMaxLiquidationMove: BigNumberish,
756
+ overrides?: CallOverrides
757
+ ): Promise<boolean>;
758
+
759
+ getTokenInfos(
760
+ _tokens: string[],
761
+ overrides?: CallOverrides
762
+ ): Promise<Helpers.ReserveConfigDataStructOutput[]>;
763
+
764
+ getTokensPrices(
765
+ tokens: string[],
766
+ overrides?: CallOverrides
767
+ ): Promise<BigNumber[]>;
768
+
769
+ instaIndex(overrides?: CallOverrides): Promise<string>;
770
+
771
+ isPositionSafe(
772
+ user: string,
773
+ safeRatioPercentage: BigNumberish,
774
+ overrides?: CallOverrides
775
+ ): Promise<
776
+ [boolean, BigNumber, BigNumber] & {
777
+ isOk: boolean;
778
+ userTl: BigNumber;
779
+ userLtv: BigNumber;
780
+ }
781
+ >;
782
+
783
+ nativeToken(overrides?: CallOverrides): Promise<string>;
784
+
785
+ sortData(
786
+ position: Variables.PositionStruct,
787
+ isTarget: boolean,
788
+ overrides?: CallOverrides
789
+ ): Promise<Variables.AaveDataStructOutput>;
790
+
791
+ wnativeToken(overrides?: CallOverrides): Promise<string>;
792
+ };
793
+
794
+ filters: {};
795
+
796
+ estimateGas: {
797
+ _checkAaveLiquidityRatio(
798
+ liquidity: string,
799
+ position: Variables.PositionStruct,
800
+ safeRatioPercentage: BigNumberish,
801
+ overrides?: CallOverrides
802
+ ): Promise<BigNumber>;
803
+
804
+ _checkLiquidityRatio(
805
+ liquidity: string,
806
+ safeRatioPercentage: BigNumberish,
807
+ extraBorrow: BigNumberish,
808
+ overrides?: CallOverrides
809
+ ): Promise<BigNumber>;
810
+
811
+ _checkRatio(
812
+ userAddress: string,
813
+ position: Variables.PositionStruct,
814
+ safeRatioPercentage: BigNumberish,
815
+ isTarget: boolean,
816
+ overrides?: CallOverrides
817
+ ): Promise<BigNumber>;
818
+
819
+ aaveLendingPoolAddressesProvider(
820
+ overrides?: CallOverrides
821
+ ): Promise<BigNumber>;
822
+
823
+ aaveProtocolDataProvider(overrides?: CallOverrides): Promise<BigNumber>;
824
+
825
+ checkAaveLiquidity(
826
+ liquidityAddress: string,
827
+ position: Variables.PositionStruct,
828
+ safeLiquidityRatioPercentage: BigNumberish,
829
+ overrides?: CallOverrides
830
+ ): Promise<BigNumber>;
831
+
832
+ checkAavePosition(
833
+ userAddress: string,
834
+ position: Variables.PositionStruct,
835
+ safeRatioPercentage: BigNumberish,
836
+ isTarget: boolean,
837
+ overrides?: CallOverrides
838
+ ): Promise<BigNumber>;
839
+
840
+ checkBorrowToken(
841
+ userAddress: string,
842
+ data: Variables.AaveDataStruct,
843
+ isTarget: boolean,
844
+ overrides?: CallOverrides
845
+ ): Promise<BigNumber>;
846
+
847
+ checkLiquidity(
848
+ liquidityAddress: string,
849
+ tokens: string[],
850
+ totalSupply: BigNumberish,
851
+ totalBorrow: BigNumberish,
852
+ safeLiquidityRatioPercentage: BigNumberish,
853
+ isTarget: boolean,
854
+ overrides?: CallOverrides
855
+ ): Promise<BigNumber>;
856
+
857
+ checkLiquidityToken(
858
+ user: string,
859
+ tokens: string[],
860
+ overrides?: CallOverrides
861
+ ): Promise<BigNumber>;
862
+
863
+ checkSupplyToken(
864
+ userAddress: string,
865
+ data: Variables.AaveDataStruct,
866
+ isTarget: boolean,
867
+ overrides?: CallOverrides
868
+ ): Promise<BigNumber>;
869
+
870
+ checkUserPositionAfterMigration(
871
+ user: string,
872
+ totalBorrowMove: BigNumberish,
873
+ totalMaxLiquidationMove: BigNumberish,
874
+ overrides?: CallOverrides
875
+ ): Promise<BigNumber>;
876
+
877
+ getTokenInfos(
878
+ _tokens: string[],
879
+ overrides?: CallOverrides
880
+ ): Promise<BigNumber>;
881
+
882
+ getTokensPrices(
883
+ tokens: string[],
884
+ overrides?: CallOverrides
885
+ ): Promise<BigNumber>;
886
+
887
+ instaIndex(overrides?: CallOverrides): Promise<BigNumber>;
888
+
889
+ isPositionSafe(
890
+ user: string,
891
+ safeRatioPercentage: BigNumberish,
892
+ overrides?: CallOverrides
893
+ ): Promise<BigNumber>;
894
+
895
+ nativeToken(overrides?: CallOverrides): Promise<BigNumber>;
896
+
897
+ sortData(
898
+ position: Variables.PositionStruct,
899
+ isTarget: boolean,
900
+ overrides?: CallOverrides
901
+ ): Promise<BigNumber>;
902
+
903
+ wnativeToken(overrides?: CallOverrides): Promise<BigNumber>;
904
+ };
905
+
906
+ populateTransaction: {
907
+ _checkAaveLiquidityRatio(
908
+ liquidity: string,
909
+ position: Variables.PositionStruct,
910
+ safeRatioPercentage: BigNumberish,
911
+ overrides?: CallOverrides
912
+ ): Promise<PopulatedTransaction>;
913
+
914
+ _checkLiquidityRatio(
915
+ liquidity: string,
916
+ safeRatioPercentage: BigNumberish,
917
+ extraBorrow: BigNumberish,
918
+ overrides?: CallOverrides
919
+ ): Promise<PopulatedTransaction>;
920
+
921
+ _checkRatio(
922
+ userAddress: string,
923
+ position: Variables.PositionStruct,
924
+ safeRatioPercentage: BigNumberish,
925
+ isTarget: boolean,
926
+ overrides?: CallOverrides
927
+ ): Promise<PopulatedTransaction>;
928
+
929
+ aaveLendingPoolAddressesProvider(
930
+ overrides?: CallOverrides
931
+ ): Promise<PopulatedTransaction>;
932
+
933
+ aaveProtocolDataProvider(
934
+ overrides?: CallOverrides
935
+ ): Promise<PopulatedTransaction>;
936
+
937
+ checkAaveLiquidity(
938
+ liquidityAddress: string,
939
+ position: Variables.PositionStruct,
940
+ safeLiquidityRatioPercentage: BigNumberish,
941
+ overrides?: CallOverrides
942
+ ): Promise<PopulatedTransaction>;
943
+
944
+ checkAavePosition(
945
+ userAddress: string,
946
+ position: Variables.PositionStruct,
947
+ safeRatioPercentage: BigNumberish,
948
+ isTarget: boolean,
949
+ overrides?: CallOverrides
950
+ ): Promise<PopulatedTransaction>;
951
+
952
+ checkBorrowToken(
953
+ userAddress: string,
954
+ data: Variables.AaveDataStruct,
955
+ isTarget: boolean,
956
+ overrides?: CallOverrides
957
+ ): Promise<PopulatedTransaction>;
958
+
959
+ checkLiquidity(
960
+ liquidityAddress: string,
961
+ tokens: string[],
962
+ totalSupply: BigNumberish,
963
+ totalBorrow: BigNumberish,
964
+ safeLiquidityRatioPercentage: BigNumberish,
965
+ isTarget: boolean,
966
+ overrides?: CallOverrides
967
+ ): Promise<PopulatedTransaction>;
968
+
969
+ checkLiquidityToken(
970
+ user: string,
971
+ tokens: string[],
972
+ overrides?: CallOverrides
973
+ ): Promise<PopulatedTransaction>;
974
+
975
+ checkSupplyToken(
976
+ userAddress: string,
977
+ data: Variables.AaveDataStruct,
978
+ isTarget: boolean,
979
+ overrides?: CallOverrides
980
+ ): Promise<PopulatedTransaction>;
981
+
982
+ checkUserPositionAfterMigration(
983
+ user: string,
984
+ totalBorrowMove: BigNumberish,
985
+ totalMaxLiquidationMove: BigNumberish,
986
+ overrides?: CallOverrides
987
+ ): Promise<PopulatedTransaction>;
988
+
989
+ getTokenInfos(
990
+ _tokens: string[],
991
+ overrides?: CallOverrides
992
+ ): Promise<PopulatedTransaction>;
993
+
994
+ getTokensPrices(
995
+ tokens: string[],
996
+ overrides?: CallOverrides
997
+ ): Promise<PopulatedTransaction>;
998
+
999
+ instaIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1000
+
1001
+ isPositionSafe(
1002
+ user: string,
1003
+ safeRatioPercentage: BigNumberish,
1004
+ overrides?: CallOverrides
1005
+ ): Promise<PopulatedTransaction>;
1006
+
1007
+ nativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1008
+
1009
+ sortData(
1010
+ position: Variables.PositionStruct,
1011
+ isTarget: boolean,
1012
+ overrides?: CallOverrides
1013
+ ): Promise<PopulatedTransaction>;
1014
+
1015
+ wnativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1016
+ };
1017
+ }