@instadapp/interop-x 0.0.0-dev.3d1c295 → 0.0.0-dev.3ee660b

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 (308) hide show
  1. package/.github/workflows/ci.yml +19 -0
  2. package/dist/package.json +12 -3
  3. package/dist/src/abi/aaveV2Resolver.json +832 -0
  4. package/dist/src/abi/aaveV3Resolver.json +628 -0
  5. package/dist/src/abi/balanceResolver.json +211 -0
  6. package/dist/src/abi/connectors/index.js +36 -0
  7. package/dist/src/abi/connectors/v1/aave.js +148 -0
  8. package/dist/src/abi/connectors/v1/aave_claim.js +4 -0
  9. package/dist/src/abi/connectors/v1/aave_migrate.js +109 -0
  10. package/dist/src/abi/connectors/v1/aave_polygon_migrate.js +110 -0
  11. package/dist/src/abi/connectors/v1/aave_stake.js +4 -0
  12. package/dist/src/abi/connectors/v1/aave_v1_import.js +54 -0
  13. package/dist/src/abi/connectors/v1/aave_v2.js +230 -0
  14. package/dist/src/abi/connectors/v1/aave_v2_import.js +59 -0
  15. package/dist/src/abi/connectors/v1/authority.js +100 -0
  16. package/dist/src/abi/connectors/v1/basic.js +136 -0
  17. package/dist/src/abi/connectors/v1/chi.js +36 -0
  18. package/dist/src/abi/connectors/v1/comp.js +4 -0
  19. package/dist/src/abi/connectors/v1/compound.js +4 -0
  20. package/dist/src/abi/connectors/v1/compoundImport.js +69 -0
  21. package/dist/src/abi/connectors/v1/compoundImport_v2.js +4 -0
  22. package/dist/src/abi/connectors/v1/compound_old.js +448 -0
  23. package/dist/src/abi/connectors/v1/curve.js +140 -0
  24. package/dist/src/abi/connectors/v1/curve_claim.js +63 -0
  25. package/dist/src/abi/connectors/v1/curve_gauge.js +158 -0
  26. package/dist/src/abi/connectors/v1/curve_sbtc.js +140 -0
  27. package/dist/src/abi/connectors/v1/curve_susd.js +140 -0
  28. package/dist/src/abi/connectors/v1/curve_three.js +79 -0
  29. package/dist/src/abi/connectors/v1/curve_y.js +140 -0
  30. package/dist/src/abi/connectors/v1/dsa_migrate_v1_to_v2.js +4 -0
  31. package/dist/src/abi/connectors/v1/dydx.js +148 -0
  32. package/dist/src/abi/connectors/v1/dydx_flash.js +52 -0
  33. package/dist/src/abi/connectors/v1/fee.js +50 -0
  34. package/dist/src/abi/connectors/v1/gelato.js +1138 -0
  35. package/dist/src/abi/connectors/v1/index.js +58 -0
  36. package/dist/src/abi/connectors/v1/instapool.js +439 -0
  37. package/dist/src/abi/connectors/v1/instapool_v2.js +126 -0
  38. package/dist/src/abi/connectors/v1/kyber.js +117 -0
  39. package/dist/src/abi/connectors/v1/maker.js +480 -0
  40. package/dist/src/abi/connectors/v1/maker_old.js +300 -0
  41. package/dist/src/abi/connectors/v1/math.js +43 -0
  42. package/dist/src/abi/connectors/v1/migrate.js +46 -0
  43. package/dist/src/abi/connectors/v1/oasis.js +198 -0
  44. package/dist/src/abi/connectors/v1/oneInch.js +160 -0
  45. package/dist/src/abi/connectors/v1/polygon_bridge.js +4 -0
  46. package/dist/src/abi/connectors/v1/refinance.js +4 -0
  47. package/dist/src/abi/connectors/v1/staking.js +220 -0
  48. package/dist/src/abi/connectors/v1/swerve.js +179 -0
  49. package/dist/src/abi/connectors/v1/uniswap.js +297 -0
  50. package/dist/src/abi/connectors/v2/1INCH-A.js +4 -0
  51. package/dist/src/abi/connectors/v2/1INCH-B.js +4 -0
  52. package/dist/src/abi/connectors/v2/AAVE-CLAIM-A.js +4 -0
  53. package/dist/src/abi/connectors/v2/AAVE-CLAIM-B.js +166 -0
  54. package/dist/src/abi/connectors/v2/AAVE-STAKE-A.js +4 -0
  55. package/dist/src/abi/connectors/v2/AAVE-V1-A.js +130 -0
  56. package/dist/src/abi/connectors/v2/AAVE-V1-IMPORT-A.js +4 -0
  57. package/dist/src/abi/connectors/v2/AAVE-V2-A.js +230 -0
  58. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-A.js +4 -0
  59. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-B.js +225 -0
  60. package/dist/src/abi/connectors/v2/AUTHORITY-A.js +100 -0
  61. package/dist/src/abi/connectors/v2/B-COMPOUND-A.js +4 -0
  62. package/dist/src/abi/connectors/v2/B-LIQUITY-A.js +4 -0
  63. package/dist/src/abi/connectors/v2/B-MAKERDAO-A.js +4 -0
  64. package/dist/src/abi/connectors/v2/BASIC-A.js +136 -0
  65. package/dist/src/abi/connectors/v2/BASIC-B.js +4 -0
  66. package/dist/src/abi/connectors/v2/BASIC-C.js +4 -0
  67. package/dist/src/abi/connectors/v2/COMP-A.js +4 -0
  68. package/dist/src/abi/connectors/v2/COMPOUND-A.js +4 -0
  69. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-A.js +4 -0
  70. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-B.js +195 -0
  71. package/dist/src/abi/connectors/v2/G-UNISWAP-A.js +4 -0
  72. package/dist/src/abi/connectors/v2/GELATO-AAVE-A.js +4 -0
  73. package/dist/src/abi/connectors/v2/INST-A.js +4 -0
  74. package/dist/src/abi/connectors/v2/INST-LM-A.js +4 -0
  75. package/dist/src/abi/connectors/v2/INST-STAKING-A.js +4 -0
  76. package/dist/src/abi/connectors/v2/INST-STAKING-B.js +4 -0
  77. package/dist/src/abi/connectors/v2/INSTAPOOL-A.js +4 -0
  78. package/dist/src/abi/connectors/v2/LIQUITY-A.js +4 -0
  79. package/dist/src/abi/connectors/v2/MAKERDAO-A.js +4 -0
  80. package/dist/src/abi/connectors/v2/MAKERDAO-CLAIM-A.js +136 -0
  81. package/dist/src/abi/connectors/v2/PARASWAP-A.js +4 -0
  82. package/dist/src/abi/connectors/v2/POLYGON-BRIDGE-A.js +4 -0
  83. package/dist/src/abi/connectors/v2/REFINANCE-A.js +4 -0
  84. package/dist/src/abi/connectors/v2/REFLEXER-A.js +4 -0
  85. package/dist/src/abi/connectors/v2/STAKE-ERC20-A.js +4 -0
  86. package/dist/src/abi/connectors/v2/UNISWAP-A.js +297 -0
  87. package/dist/src/abi/connectors/v2/UNISWAP-V2-A.js +4 -0
  88. package/dist/src/abi/connectors/v2/UNISWAP-V3-A.js +4 -0
  89. package/dist/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.js +4 -0
  90. package/dist/src/abi/connectors/v2/WETH-A.js +4 -0
  91. package/dist/src/abi/connectors/v2/YEARN-VAULT-A.js +4 -0
  92. package/dist/src/abi/connectors/v2/index.js +89 -0
  93. package/dist/src/abi/index.js +12 -2
  94. package/dist/src/abi/instList.json +232 -0
  95. package/dist/src/abi/interopX.json +1436 -0
  96. package/dist/src/api/index.js +8 -1
  97. package/dist/src/constants/addresses.js +12 -7
  98. package/dist/src/constants/blockConfirmations.js +8 -0
  99. package/dist/src/constants/capPerChain.js +8 -0
  100. package/dist/src/constants/index.js +3 -0
  101. package/dist/src/constants/tokens.js +44 -44
  102. package/dist/src/constants/wrappedNativeToken.js +8 -0
  103. package/dist/src/crons/index.js +3 -0
  104. package/dist/src/crons/prices.js +16 -0
  105. package/dist/src/db/models/transaction.js +25 -15
  106. package/dist/src/errors/index.js +30 -0
  107. package/dist/src/gnosis/actions/aaveV2/index.js +11 -0
  108. package/dist/src/gnosis/actions/aaveV2/source.js +98 -0
  109. package/dist/src/gnosis/actions/aaveV2/target.js +100 -0
  110. package/dist/src/gnosis/actions/aaveV3/index.js +11 -0
  111. package/dist/src/gnosis/actions/aaveV3/source.js +74 -0
  112. package/dist/src/gnosis/actions/aaveV3/target.js +87 -0
  113. package/dist/src/gnosis/actions/index.js +4 -2
  114. package/dist/src/index.js +2 -1
  115. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +2 -2
  116. package/dist/src/providers/index.js +17 -0
  117. package/dist/src/providers/retry-provider.js +45 -0
  118. package/dist/src/services/Prices.js +74 -0
  119. package/dist/src/services/index.js +8 -0
  120. package/dist/src/tasks/InteropX/ProcessSubmitEvents.js +274 -0
  121. package/dist/src/tasks/InteropX/ProcessValidateEvents.js +203 -0
  122. package/dist/src/tasks/InteropX/SyncLogExecuteEvents.js +113 -0
  123. package/dist/src/tasks/{InteropXContract/SyncBridgeRequestEvents.js → InteropX/SyncLogSubmitEvents.js} +26 -16
  124. package/dist/src/tasks/{InteropXContract/SyncBridgeRequestSentEvents.js → InteropX/SyncLogValidateEvents.js} +42 -26
  125. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +6 -3
  126. package/dist/src/tasks/index.js +19 -15
  127. package/dist/src/typechain/{InteropXContract.js → AaveV2Resolver.js} +0 -0
  128. package/dist/src/typechain/AaveV3Resolver.js +2 -0
  129. package/dist/src/typechain/BalanceResolver.js +2 -0
  130. package/dist/src/typechain/InstList.js +2 -0
  131. package/dist/src/typechain/InteropX.js +2 -0
  132. package/dist/src/typechain/factories/AaveV2Resolver__factory.js +1191 -0
  133. package/dist/src/typechain/factories/AaveV3Resolver__factory.js +887 -0
  134. package/dist/src/typechain/factories/BalanceResolver__factory.js +228 -0
  135. package/dist/src/typechain/factories/InstList__factory.js +249 -0
  136. package/dist/src/typechain/factories/InteropX__factory.js +1928 -0
  137. package/dist/src/typechain/factories/index.js +11 -3
  138. package/dist/src/typechain/index.js +11 -3
  139. package/dist/src/utils/async.js +18 -0
  140. package/dist/src/utils/dsa.js +36 -0
  141. package/dist/src/utils/formatting.js +67 -0
  142. package/dist/src/utils/gnosis.js +87 -0
  143. package/dist/src/utils/http.js +10 -0
  144. package/dist/src/utils/index.js +22 -190
  145. package/dist/src/utils/interop.js +16 -0
  146. package/dist/src/utils/tokens.js +22 -0
  147. package/dist/src/utils/validate.js +111 -0
  148. package/dist/src/utils/web3.js +93 -0
  149. package/package.json +12 -3
  150. package/src/abi/aaveV2Resolver.json +832 -0
  151. package/src/abi/aaveV3Resolver.json +628 -0
  152. package/src/abi/balanceResolver.json +211 -0
  153. package/src/abi/connectors/index.ts +14 -0
  154. package/src/abi/connectors/v1/aave.ts +147 -0
  155. package/src/abi/connectors/v1/aave_claim.ts +3 -0
  156. package/src/abi/connectors/v1/aave_migrate.ts +108 -0
  157. package/src/abi/connectors/v1/aave_polygon_migrate.ts +109 -0
  158. package/src/abi/connectors/v1/aave_stake.ts +3 -0
  159. package/src/abi/connectors/v1/aave_v1_import.ts +53 -0
  160. package/src/abi/connectors/v1/aave_v2.ts +229 -0
  161. package/src/abi/connectors/v1/aave_v2_import.ts +58 -0
  162. package/src/abi/connectors/v1/authority.ts +99 -0
  163. package/src/abi/connectors/v1/basic.ts +135 -0
  164. package/src/abi/connectors/v1/chi.ts +35 -0
  165. package/src/abi/connectors/v1/comp.ts +3 -0
  166. package/src/abi/connectors/v1/compound.ts +3 -0
  167. package/src/abi/connectors/v1/compoundImport.ts +68 -0
  168. package/src/abi/connectors/v1/compoundImport_v2.ts +3 -0
  169. package/src/abi/connectors/v1/compound_old.ts +447 -0
  170. package/src/abi/connectors/v1/curve.ts +139 -0
  171. package/src/abi/connectors/v1/curve_claim.ts +62 -0
  172. package/src/abi/connectors/v1/curve_gauge.ts +157 -0
  173. package/src/abi/connectors/v1/curve_sbtc.ts +139 -0
  174. package/src/abi/connectors/v1/curve_susd.ts +139 -0
  175. package/src/abi/connectors/v1/curve_three.ts +78 -0
  176. package/src/abi/connectors/v1/curve_y.ts +139 -0
  177. package/src/abi/connectors/v1/dsa_migrate_v1_to_v2.ts +3 -0
  178. package/src/abi/connectors/v1/dydx.ts +147 -0
  179. package/src/abi/connectors/v1/dydx_flash.ts +51 -0
  180. package/src/abi/connectors/v1/fee.ts +49 -0
  181. package/src/abi/connectors/v1/gelato.ts +1137 -0
  182. package/src/abi/connectors/v1/index.ts +42 -0
  183. package/src/abi/connectors/v1/instapool.ts +438 -0
  184. package/src/abi/connectors/v1/instapool_v2.ts +125 -0
  185. package/src/abi/connectors/v1/kyber.ts +116 -0
  186. package/src/abi/connectors/v1/maker.ts +479 -0
  187. package/src/abi/connectors/v1/maker_old.ts +299 -0
  188. package/src/abi/connectors/v1/math.ts +42 -0
  189. package/src/abi/connectors/v1/migrate.ts +45 -0
  190. package/src/abi/connectors/v1/oasis.ts +197 -0
  191. package/src/abi/connectors/v1/oneInch.ts +159 -0
  192. package/src/abi/connectors/v1/polygon_bridge.ts +3 -0
  193. package/src/abi/connectors/v1/refinance.ts +3 -0
  194. package/src/abi/connectors/v1/staking.ts +219 -0
  195. package/src/abi/connectors/v1/swerve.ts +178 -0
  196. package/src/abi/connectors/v1/uniswap.ts +297 -0
  197. package/src/abi/connectors/v2/1INCH-A.ts +3 -0
  198. package/src/abi/connectors/v2/1INCH-B.ts +3 -0
  199. package/src/abi/connectors/v2/AAVE-CLAIM-A.ts +3 -0
  200. package/src/abi/connectors/v2/AAVE-CLAIM-B.ts +165 -0
  201. package/src/abi/connectors/v2/AAVE-STAKE-A.ts +3 -0
  202. package/src/abi/connectors/v2/AAVE-V1-A.ts +130 -0
  203. package/src/abi/connectors/v2/AAVE-V1-IMPORT-A.ts +3 -0
  204. package/src/abi/connectors/v2/AAVE-V2-A.ts +229 -0
  205. package/src/abi/connectors/v2/AAVE-V2-IMPORT-A.ts +3 -0
  206. package/src/abi/connectors/v2/AAVE-V2-IMPORT-B.ts +224 -0
  207. package/src/abi/connectors/v2/AUTHORITY-A.ts +99 -0
  208. package/src/abi/connectors/v2/B-COMPOUND-A.ts +3 -0
  209. package/src/abi/connectors/v2/B-LIQUITY-A.ts +3 -0
  210. package/src/abi/connectors/v2/B-MAKERDAO-A.ts +3 -0
  211. package/src/abi/connectors/v2/BASIC-A.ts +135 -0
  212. package/src/abi/connectors/v2/BASIC-B.ts +3 -0
  213. package/src/abi/connectors/v2/BASIC-C.ts +3 -0
  214. package/src/abi/connectors/v2/COMP-A.ts +3 -0
  215. package/src/abi/connectors/v2/COMPOUND-A.ts +3 -0
  216. package/src/abi/connectors/v2/COMPOUND-IMPORT-A.ts +3 -0
  217. package/src/abi/connectors/v2/COMPOUND-IMPORT-B.ts +194 -0
  218. package/src/abi/connectors/v2/G-UNISWAP-A.ts +3 -0
  219. package/src/abi/connectors/v2/GELATO-AAVE-A.ts +3 -0
  220. package/src/abi/connectors/v2/INST-A.ts +3 -0
  221. package/src/abi/connectors/v2/INST-LM-A.ts +3 -0
  222. package/src/abi/connectors/v2/INST-STAKING-A.ts +3 -0
  223. package/src/abi/connectors/v2/INST-STAKING-B.ts +3 -0
  224. package/src/abi/connectors/v2/INSTAPOOL-A.ts +3 -0
  225. package/src/abi/connectors/v2/LIQUITY-A.ts +3 -0
  226. package/src/abi/connectors/v2/MAKERDAO-A.ts +3 -0
  227. package/src/abi/connectors/v2/MAKERDAO-CLAIM-A.ts +135 -0
  228. package/src/abi/connectors/v2/PARASWAP-A.ts +3 -0
  229. package/src/abi/connectors/v2/POLYGON-BRIDGE-A.ts +3 -0
  230. package/src/abi/connectors/v2/REFINANCE-A.ts +3 -0
  231. package/src/abi/connectors/v2/REFLEXER-A.ts +3 -0
  232. package/src/abi/connectors/v2/STAKE-ERC20-A.ts +3 -0
  233. package/src/abi/connectors/v2/UNISWAP-A.ts +297 -0
  234. package/src/abi/connectors/v2/UNISWAP-V2-A.ts +3 -0
  235. package/src/abi/connectors/v2/UNISWAP-V3-A.ts +3 -0
  236. package/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.ts +3 -0
  237. package/src/abi/connectors/v2/WETH-A.ts +3 -0
  238. package/src/abi/connectors/v2/YEARN-VAULT-A.ts +3 -0
  239. package/src/abi/connectors/v2/index.ts +87 -0
  240. package/src/abi/index.ts +15 -5
  241. package/src/abi/instList.json +232 -0
  242. package/src/abi/interopX.json +1436 -0
  243. package/src/api/index.ts +9 -1
  244. package/src/constants/addresses.ts +24 -8
  245. package/src/constants/blockConfirmations.ts +5 -0
  246. package/src/constants/capPerChain.ts +5 -0
  247. package/src/constants/index.ts +3 -0
  248. package/src/constants/tokens.ts +44 -44
  249. package/src/constants/wrappedNativeToken.ts +5 -0
  250. package/src/crons/index.ts +1 -0
  251. package/src/crons/prices.ts +12 -0
  252. package/src/db/models/transaction.ts +147 -102
  253. package/src/errors/index.ts +26 -0
  254. package/src/gnosis/actions/aaveV2/index.ts +9 -0
  255. package/src/gnosis/actions/aaveV2/source.ts +171 -0
  256. package/src/gnosis/actions/aaveV2/target.ts +160 -0
  257. package/src/gnosis/actions/aaveV3/index.ts +9 -0
  258. package/src/gnosis/actions/aaveV3/source.ts +119 -0
  259. package/src/gnosis/actions/aaveV3/target.ts +142 -0
  260. package/src/gnosis/actions/index.ts +4 -2
  261. package/src/index.ts +1 -0
  262. package/src/net/protocol/dial/SignatureDialProtocol.ts +3 -2
  263. package/src/providers/index.ts +1 -0
  264. package/src/providers/retry-provider.ts +51 -0
  265. package/src/services/Prices.ts +89 -0
  266. package/src/services/index.ts +1 -0
  267. package/src/tasks/InteropX/ProcessSubmitEvents.ts +386 -0
  268. package/src/tasks/InteropX/ProcessValidateEvents.ts +297 -0
  269. package/src/tasks/InteropX/SyncLogExecuteEvents.ts +161 -0
  270. package/src/tasks/InteropX/SyncLogSubmitEvents.ts +138 -0
  271. package/src/tasks/InteropX/SyncLogValidateEvents.ts +151 -0
  272. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +6 -3
  273. package/src/tasks/index.ts +19 -15
  274. package/src/typechain/AaveV2Resolver.ts +1017 -0
  275. package/src/typechain/AaveV3Resolver.ts +935 -0
  276. package/src/typechain/BalanceResolver.ts +266 -0
  277. package/src/typechain/InstList.ts +402 -0
  278. package/src/typechain/InteropX.ts +1216 -0
  279. package/src/typechain/factories/AaveV2Resolver__factory.ts +1198 -0
  280. package/src/typechain/factories/AaveV3Resolver__factory.ts +894 -0
  281. package/src/typechain/factories/BalanceResolver__factory.ts +235 -0
  282. package/src/typechain/factories/InstList__factory.ts +253 -0
  283. package/src/typechain/factories/InteropX__factory.ts +1932 -0
  284. package/src/typechain/factories/index.ts +5 -1
  285. package/src/typechain/index.ts +10 -2
  286. package/src/utils/async.ts +22 -0
  287. package/src/utils/dsa.ts +56 -0
  288. package/src/utils/formatting.ts +68 -0
  289. package/src/utils/gnosis.ts +166 -0
  290. package/src/utils/http.ts +6 -0
  291. package/src/utils/index.ts +9 -275
  292. package/src/utils/interop.ts +28 -0
  293. package/src/utils/tokens.ts +21 -0
  294. package/src/utils/validate.ts +179 -0
  295. package/src/utils/web3.ts +132 -0
  296. package/dist/src/abi/interopXContract.json +0 -454
  297. package/dist/src/gnosis/actions/withdraw/index.js +0 -115
  298. package/dist/src/tasks/InteropXContract/ProcessBridgeRequestEvents.js +0 -158
  299. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +0 -93
  300. package/dist/src/typechain/factories/InteropXContract__factory.js +0 -635
  301. package/src/abi/interopXContract.json +0 -454
  302. package/src/gnosis/actions/withdraw/index.ts +0 -155
  303. package/src/tasks/InteropXContract/ProcessBridgeRequestEvents.ts +0 -226
  304. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +0 -125
  305. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +0 -115
  306. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +0 -121
  307. package/src/typechain/InteropXContract.ts +0 -680
  308. package/src/typechain/factories/InteropXContract__factory.ts +0 -642
package/src/api/index.ts CHANGED
@@ -21,11 +21,19 @@ export const startApiServer = async () => {
21
21
  limit: 20,
22
22
  offset: 0,
23
23
  order: [
24
- ['createdAt', 'DESC']
24
+ ['updatedAt', 'DESC']
25
25
  ]
26
26
  })
27
27
  })
28
28
 
29
+ server.get('/transactions/:transaction', async (req) => {
30
+ return await Transaction.findOne({
31
+ where: {
32
+ transactionHash: (req.params as any).transaction
33
+ }
34
+ })
35
+ })
36
+
29
37
  await server.listen(PORT, HOST)
30
38
 
31
39
  logger.log(`RPC Server listening at http://${HOST}:${PORT}`)
@@ -1,17 +1,33 @@
1
+ export type NetworkAddresses = {
2
+ gnosisSafe: string
3
+ multisend: string
4
+ interopX: string
5
+ dsaAddress: string
6
+ instList: string
7
+ aaveV2Resolver: string
8
+ aaveV3Resolver: string
9
+ balanceResolver: string
10
+ }
11
+
1
12
  export const addresses = {
2
- // 1: {
3
- // gnosisSafe: '0x811Bff6eF88dAAA0aD6438386B534A81cE3F160F',
4
- // multisend: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761',
5
- // interopXContract: '',
6
- // },
7
13
  137: {
8
14
  gnosisSafe: '0x5635d2910e51da33d9DC0422c893CF4F28B69A25',
9
15
  multisend: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761',
10
- interopXContract: '0x65AcB77B5191CED1B1ae85B454D20E2d128fAfEe',
16
+ interopX: '0xDB6083df37C5F224a3dF84A4B5f9fB60b6c8670a',
17
+ dsaAddress: '0x9Fbd453a8e7a158510fBae5D9935958507cf4b19',
18
+ instList: "0x839c2D3aDe63DF5b0b8F3E57D5e145057Ab41556",
19
+ aaveV2Resolver: "0x0731c1d0154C2bE74d50e2083Df10aa531AAbb10",
20
+ aaveV3Resolver: "0x1bD311bd5aD4DCfE18bCb55d42F0a3c714E2bfDe",
21
+ balanceResolver: "0xecc3991846bB21717B95A593Fd86C5930A491F95",
11
22
  },
12
23
  43114: {
13
24
  gnosisSafe: '0x31d7a5194Fe60AC209Cf1Ce2d539C9A60662Ed6b',
14
25
  multisend: '0x998739BFdAAdde7C933B942a68053933098f9EDa',
15
- interopXContract: '0xd61f55C6d9deD35B9d13243b816c4BcC1d78592b',
26
+ interopX: '0xA82A87096709E3D8648c9d9a22f31133bC4B6d32',
27
+ dsaAddress: '0x995e67a652d2be45a8bff438b3dfac66dfff1c46',
28
+ instList: "0x9926955e0Dd681Dc303370C52f4Ad0a4dd061687",
29
+ aaveV2Resolver: "0x7C5C59944263311a1e350E3B871B0d1d8E9A513E",
30
+ aaveV3Resolver: "0xB0862d7dB941698A0A92F8dF6672F4B56A5F5b02",
31
+ balanceResolver: "0xD45dFA34cEeAB567208041331F5ed9916C23b1E8",
16
32
  }
17
- } as Record<number, { gnosisSafe: string, multisend: string, interopXContract: string }>
33
+ } as Record<number, NetworkAddresses>
@@ -0,0 +1,5 @@
1
+ export const blockConfirmations = {
2
+ "1": 12,
3
+ "137": 32,
4
+ "43114": 12,
5
+ };
@@ -0,0 +1,5 @@
1
+ export const capPerChain = {
2
+ "1": 100_000_000,
3
+ "137": 100_000_000,
4
+ "43114": 100_000_000,
5
+ };
@@ -1,2 +1,5 @@
1
1
  export * from './addresses';
2
2
  export * from './tokens';
3
+ export * from './blockConfirmations';
4
+ export * from './wrappedNativeToken';
5
+ export * from './capPerChain';
@@ -1,48 +1,48 @@
1
1
  export const tokens = {
2
- // 1: [
3
- // {
4
- // aliases: ['eth'],
5
- // symbol: "ETH",
6
- // name: "Ethereum",
7
- // address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
8
- // decimals: 18,
9
- // },
10
- // {
11
- // aliases: ['weth'],
12
- // symbol: "WETH",
13
- // name: "Wrapped Ethereum",
14
- // address: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
15
- // decimals: 18,
16
- // },
17
- // {
18
- // aliases: ['dai'],
19
- // symbol: "DAI",
20
- // name: "DAI Stable",
21
- // address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
22
- // decimals: 18,
23
- // },
24
- // {
25
- // aliases: ['usdc'],
26
- // symbol: "USDC",
27
- // name: "USD Coin",
28
- // address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
29
- // decimals: 6,
30
- // },
31
- // {
32
- // aliases: ['usdt'],
33
- // symbol: "USDT",
34
- // name: "Tether USD Coin",
35
- // address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
36
- // decimals: 6,
37
- // },
38
- // {
39
- // aliases: ['wbtc'],
40
- // symbol: "WBTC",
41
- // name: "Wrapped BTC",
42
- // address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
43
- // decimals: 8,
44
- // },
45
- // ],
2
+ 1: [
3
+ {
4
+ aliases: ['eth'],
5
+ symbol: "ETH",
6
+ name: "Ethereum",
7
+ address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
8
+ decimals: 18,
9
+ },
10
+ {
11
+ aliases: ['weth'],
12
+ symbol: "WETH",
13
+ name: "Wrapped Ethereum",
14
+ address: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
15
+ decimals: 18,
16
+ },
17
+ {
18
+ aliases: ['dai'],
19
+ symbol: "DAI",
20
+ name: "DAI Stable",
21
+ address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
22
+ decimals: 18,
23
+ },
24
+ {
25
+ aliases: ['usdc'],
26
+ symbol: "USDC",
27
+ name: "USD Coin",
28
+ address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
29
+ decimals: 6,
30
+ },
31
+ {
32
+ aliases: ['usdt'],
33
+ symbol: "USDT",
34
+ name: "Tether USD Coin",
35
+ address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
36
+ decimals: 6,
37
+ },
38
+ {
39
+ aliases: ['wbtc'],
40
+ symbol: "WBTC",
41
+ name: "Wrapped BTC",
42
+ address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
43
+ decimals: 8,
44
+ },
45
+ ],
46
46
  137: [
47
47
  {
48
48
  aliases: ['eth', 'weth'],
@@ -0,0 +1,5 @@
1
+ export const wrappedNativeToken = {
2
+ "1": '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
3
+ "137": '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
4
+ "43114": '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'
5
+ };
@@ -0,0 +1 @@
1
+ import "./prices"
@@ -0,0 +1,12 @@
1
+ import { Prices } from "@/services";
2
+ import cron from "node-cron";
3
+
4
+ Prices.fetch().catch(console.log);
5
+
6
+ cron.schedule(`* * * * *`, async () => {
7
+ try {
8
+ await Prices.fetch();
9
+ } catch (error) {
10
+ console.log("Prices: ", error.message);
11
+ }
12
+ });
@@ -1,145 +1,190 @@
1
- import { sequelize } from '@/db/sequelize'
2
- import { CreationOptional, InferAttributes, InferCreationAttributes, Model, DataTypes } from 'sequelize';
3
-
4
- export interface IPositionTokenInfo{
5
- amount: string;
6
- sourceToken: string;
7
- targetToken: string;
1
+ import { sequelize } from "@/db/sequelize";
2
+ import {
3
+ CreationOptional,
4
+ InferAttributes,
5
+ InferCreationAttributes,
6
+ Model,
7
+ DataTypes,
8
+ } from "sequelize";
9
+
10
+ export interface IPositionTokenInfo {
11
+ amount: string;
12
+ sourceToken: string;
13
+ targetToken: string;
8
14
  }
9
15
 
10
16
  export interface IPosition {
11
- supply: IPositionTokenInfo[];
12
- withdraw: IPositionTokenInfo[];
17
+ supply: IPositionTokenInfo[];
18
+ withdraw: IPositionTokenInfo[];
13
19
  }
14
20
 
15
- export class Transaction extends Model<InferAttributes<Transaction>, InferCreationAttributes<Transaction>> {
16
- declare id: CreationOptional<number>;
17
-
18
- declare transactionHash: string;
19
-
20
- declare actionId: string;
21
- declare bridger: string;
22
- declare requestTransactionHash: string;
23
-
24
- declare requestBlockNumber: number;
25
-
26
- declare sourceChainId: number;
27
- declare sourceTransactionHash: CreationOptional<string>;
28
- declare sourceBlockNumber: CreationOptional<number>;
29
- declare sourceStatus: CreationOptional<string>;
30
- declare sourceErrors: CreationOptional<string[]>;
31
- declare sourceLogs: CreationOptional<any[]>;
32
- declare sourceCreatedAt: CreationOptional<Date>;
33
- declare sourceDelayUntil: CreationOptional<Date>;
34
-
35
- declare targetChainId: number;
36
- declare targetTransactionHash: CreationOptional<string>;
37
- declare targetBlockNumber: CreationOptional<number>;
38
- declare targetStatus: CreationOptional<string>;
39
- declare targetErrors: CreationOptional<string[]>;
40
- declare targetLogs: CreationOptional<any[]>;
41
- declare targetCreatedAt: CreationOptional<Date>;
42
- declare targetDelayUntil: CreationOptional<Date>;
43
-
44
- declare requestEvent: {
45
- actionId: string;
46
- bridger: string;
47
- metadata: string;
48
- position: IPosition;
49
- sourceChainId: number;
50
- targetChainId: number;
51
- };
52
- declare requestSentEvent: CreationOptional<{
53
- actionId: string;
54
- bridger: string;
55
- metadata: string;
56
- position: IPosition;
57
- sourceChainId: number;
58
- targetChainId: number;
59
- requestTransactionHash: string;
60
- }>;
61
- declare committedEvent: CreationOptional<{
62
- actionId: string;
63
- bridger: string;
64
- metadata: string;
65
- position: IPosition;
66
- sourceChainId: number;
67
- targetChainId: number;
68
- requestTransactionHash: string;
69
- }>;
70
- declare completedEvent: CreationOptional<any>;
71
-
72
- declare status: CreationOptional<string>;
73
-
74
- declare createdAt: CreationOptional<Date>;
75
- declare updatedAt: CreationOptional<Date>;
21
+ export class Transaction extends Model<
22
+ InferAttributes<Transaction>,
23
+ InferCreationAttributes<Transaction>
24
+ > {
25
+ declare id: CreationOptional<number>;
26
+
27
+ declare transactionHash: string;
28
+ declare vnonce: string;
29
+ declare actionId: string;
30
+ declare sourceSender: string;
31
+
32
+ declare submitChainId: number;
33
+ declare submitTransactionHash: string;
34
+ declare submitBlockNumber: number;
35
+ declare submitCreatedAt: Date;
36
+
37
+ declare sourceChainId: number;
38
+ declare sourceDsaId: string;
39
+ declare sourceTransactionHash: CreationOptional<string>;
40
+ declare sourceBlockNumber: CreationOptional<number>;
41
+ declare sourceStatus: CreationOptional<string>;
42
+ declare sourceErrors: CreationOptional<string[]>;
43
+ declare sourceLogs: CreationOptional<any[]>;
44
+ declare sourceCreatedAt: CreationOptional<Date>;
45
+ declare sourceDelayUntil: CreationOptional<Date>;
46
+
47
+ declare targetChainId: number;
48
+ declare targetDsaId: string;
49
+ declare targetTransactionHash: CreationOptional<string>;
50
+ declare targetBlockNumber: CreationOptional<number>;
51
+ declare targetStatus: CreationOptional<string>;
52
+ declare targetErrors: CreationOptional<string[]>;
53
+ declare targetLogs: CreationOptional<any[]>;
54
+ declare targetCreatedAt: CreationOptional<Date>;
55
+ declare targetDelayUntil: CreationOptional<Date>;
56
+
57
+ declare submitEvent: {
58
+ position: IPosition;
59
+ actionId: string;
60
+ actionIdHashHash: string;
61
+ actionIdHash: string;
62
+ sourceSender: string;
63
+ sourceDsaId: string;
64
+ targetDsaId: string;
65
+ sourceChainId: number;
66
+ targetChainId: number;
67
+ vnonce: string;
68
+ metadata: string;
69
+ };
70
+
71
+ declare validateEvent: CreationOptional<{
72
+ sourceSpells: Array<{ connector: string; data: string }>;
73
+ position: IPosition;
74
+ actionId: string;
75
+ actionIdHashHash: string;
76
+ actionIdHash: string;
77
+ sourceSender: string;
78
+ sourceDsaId: string;
79
+ targetDsaId: string;
80
+ sourceChainId: number;
81
+ targetChainId: number;
82
+ vnonce: string;
83
+ metadata: string;
84
+ }>;
85
+
86
+ declare executeEvent: CreationOptional<{
87
+ sourceSpells: Array<{ connector: string; data: string }>;
88
+ targetSpells: Array<{ connector: string; data: string }>;
89
+ position: IPosition;
90
+ actionId: string;
91
+ actionIdHashHash: string;
92
+ actionIdHash: string;
93
+ sourceSender: string;
94
+ sourceDsaId: string;
95
+ targetDsaId: string;
96
+ sourceChainId: number;
97
+ targetChainId: number;
98
+ vnonce: string;
99
+ metadata: string;
100
+ }>;
101
+
102
+ declare status: CreationOptional<string>;
103
+
104
+ declare createdAt: CreationOptional<Date>;
105
+ declare updatedAt: CreationOptional<Date>;
76
106
  }
77
107
 
78
- Transaction.init({
108
+ Transaction.init(
109
+ {
79
110
  id: {
80
- type: DataTypes.INTEGER,
81
- autoIncrement: true,
82
- primaryKey: true
111
+ type: DataTypes.INTEGER,
112
+ autoIncrement: true,
113
+ primaryKey: true,
83
114
  },
84
115
 
85
- requestTransactionHash: DataTypes.NUMBER,
86
- requestBlockNumber: DataTypes.NUMBER,
87
-
88
116
  transactionHash: DataTypes.STRING,
89
117
  actionId: DataTypes.STRING,
90
- bridger: DataTypes.STRING,
118
+ vnonce: DataTypes.STRING,
119
+ sourceSender: DataTypes.STRING,
120
+
121
+ submitChainId: DataTypes.NUMBER,
122
+ submitTransactionHash: DataTypes.STRING,
123
+ submitBlockNumber: DataTypes.NUMBER,
124
+ submitCreatedAt: DataTypes.DATE,
91
125
 
92
126
  sourceChainId: DataTypes.NUMBER,
127
+ sourceDsaId: DataTypes.STRING,
93
128
  sourceTransactionHash: DataTypes.STRING,
94
129
  sourceBlockNumber: DataTypes.NUMBER,
95
130
  sourceStatus: {
96
- type: DataTypes.STRING,
97
- defaultValue: 'uninitialised'
131
+ type: DataTypes.STRING,
132
+ defaultValue: "pending",
98
133
  },
99
134
  sourceErrors: {
100
- type: DataTypes.JSON,
101
- // defaultValue: [],
135
+ type: DataTypes.JSON,
136
+ // defaultValue: [],
102
137
  },
103
138
  sourceLogs: {
104
- type: DataTypes.JSON,
105
- // defaultValue: [],
139
+ type: DataTypes.JSON,
140
+ // defaultValue: [],
106
141
  },
107
142
  sourceCreatedAt: {
108
- type: DataTypes.DATE,
109
- defaultValue: Date.now()
143
+ type: DataTypes.DATE,
144
+ defaultValue: Date.now(),
110
145
  },
111
- sourceDelayUntil: DataTypes.STRING,
146
+ sourceDelayUntil: DataTypes.DATE,
112
147
 
113
148
  targetChainId: DataTypes.NUMBER,
149
+ targetDsaId: DataTypes.STRING,
114
150
  targetTransactionHash: DataTypes.STRING,
115
151
  targetBlockNumber: DataTypes.NUMBER,
116
152
  targetStatus: {
117
- type: DataTypes.STRING,
118
- defaultValue: 'uninitialised'
153
+ type: DataTypes.STRING,
154
+ defaultValue: "pending",
119
155
  },
120
156
  targetErrors: {
121
- type: DataTypes.JSON,
122
- // defaultValue: [],
157
+ type: DataTypes.JSON,
158
+ // defaultValue: [],
123
159
  },
124
160
  targetLogs: {
125
- type: DataTypes.JSON,
126
- // defaultValue: [],
161
+ type: DataTypes.JSON,
162
+ // defaultValue: [],
127
163
  },
128
164
  targetCreatedAt: DataTypes.DATE,
129
165
  targetDelayUntil: DataTypes.DATE,
130
166
 
131
- requestEvent: {
132
- type: DataTypes.JSON,
133
- allowNull: false
167
+ submitEvent: {
168
+ type: DataTypes.JSON,
169
+ allowNull: false,
170
+ },
171
+
172
+ validateEvent: {
173
+ type: DataTypes.JSON,
174
+ allowNull: true,
175
+ },
176
+
177
+ executeEvent: {
178
+ type: DataTypes.JSON,
179
+ allowNull: true,
134
180
  },
135
- requestSentEvent: DataTypes.JSON,
136
- committedEvent: DataTypes.JSON,
137
- completedEvent: DataTypes.JSON,
138
181
 
139
182
  status: {
140
- type: DataTypes.STRING,
141
- defaultValue: 'pending'
183
+ type: DataTypes.STRING,
184
+ defaultValue: "pending",
142
185
  },
143
186
  createdAt: DataTypes.DATE,
144
187
  updatedAt: DataTypes.DATE,
145
- }, { sequelize, tableName: 'transactions' });
188
+ },
189
+ { sequelize, tableName: "transactions" }
190
+ );
@@ -0,0 +1,26 @@
1
+ export class UnsupportedChaindIdError extends Error {
2
+ constructor(chainId: any) {
3
+ super(`Unsupported chainId: ${chainId}`);
4
+ }
5
+ }
6
+
7
+ export class LiquidityError extends Error {
8
+ constructor(message?: string) {
9
+ super(message || "Not enough liquidity");
10
+ Object.setPrototypeOf(this, new.target.prototype);
11
+ }
12
+ }
13
+
14
+ export class InvalidChaindIdError extends Error {
15
+ constructor(message?: string) {
16
+ super(message || "Invalid chain id");
17
+ Object.setPrototypeOf(this, new.target.prototype);
18
+ }
19
+ }
20
+
21
+ export class LowLiquidityError extends Error {
22
+ constructor(message?: string) {
23
+ super(message || "Low liquidity");
24
+ Object.setPrototypeOf(this, new.target.prototype);
25
+ }
26
+ }
@@ -0,0 +1,9 @@
1
+ import { Transaction } from "@/db";
2
+ import source from "./source";
3
+ import target from "./target";
4
+
5
+
6
+
7
+ export default async function (transaction: Transaction, type: 'source' | 'target') {
8
+ return type === 'source' ? source(transaction) : target(transaction);
9
+ }