@instadapp/interop-x 0.0.0-dev.bfeca30 → 0.0.0-dev.c279cb8

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 (236) hide show
  1. package/.github/workflows/ci.yml +19 -0
  2. package/dist/package.json +4 -2
  3. package/dist/src/abi/connectors/index.js +36 -0
  4. package/dist/src/abi/connectors/v1/aave.js +148 -0
  5. package/dist/src/abi/connectors/v1/aave_claim.js +4 -0
  6. package/dist/src/abi/connectors/v1/aave_migrate.js +109 -0
  7. package/dist/src/abi/connectors/v1/aave_polygon_migrate.js +110 -0
  8. package/dist/src/abi/connectors/v1/aave_stake.js +4 -0
  9. package/dist/src/abi/connectors/v1/aave_v1_import.js +54 -0
  10. package/dist/src/abi/connectors/v1/aave_v2.js +230 -0
  11. package/dist/src/abi/connectors/v1/aave_v2_import.js +59 -0
  12. package/dist/src/abi/connectors/v1/authority.js +100 -0
  13. package/dist/src/abi/connectors/v1/basic.js +136 -0
  14. package/dist/src/abi/connectors/v1/chi.js +36 -0
  15. package/dist/src/abi/connectors/v1/comp.js +4 -0
  16. package/dist/src/abi/connectors/v1/compound.js +4 -0
  17. package/dist/src/abi/connectors/v1/compoundImport.js +69 -0
  18. package/dist/src/abi/connectors/v1/compoundImport_v2.js +4 -0
  19. package/dist/src/abi/connectors/v1/compound_old.js +448 -0
  20. package/dist/src/abi/connectors/v1/curve.js +140 -0
  21. package/dist/src/abi/connectors/v1/curve_claim.js +63 -0
  22. package/dist/src/abi/connectors/v1/curve_gauge.js +158 -0
  23. package/dist/src/abi/connectors/v1/curve_sbtc.js +140 -0
  24. package/dist/src/abi/connectors/v1/curve_susd.js +140 -0
  25. package/dist/src/abi/connectors/v1/curve_three.js +79 -0
  26. package/dist/src/abi/connectors/v1/curve_y.js +140 -0
  27. package/dist/src/abi/connectors/v1/dsa_migrate_v1_to_v2.js +4 -0
  28. package/dist/src/abi/connectors/v1/dydx.js +148 -0
  29. package/dist/src/abi/connectors/v1/dydx_flash.js +52 -0
  30. package/dist/src/abi/connectors/v1/fee.js +50 -0
  31. package/dist/src/abi/connectors/v1/gelato.js +1138 -0
  32. package/dist/src/abi/connectors/v1/index.js +58 -0
  33. package/dist/src/abi/connectors/v1/instapool.js +439 -0
  34. package/dist/src/abi/connectors/v1/instapool_v2.js +126 -0
  35. package/dist/src/abi/connectors/v1/kyber.js +117 -0
  36. package/dist/src/abi/connectors/v1/maker.js +480 -0
  37. package/dist/src/abi/connectors/v1/maker_old.js +300 -0
  38. package/dist/src/abi/connectors/v1/math.js +43 -0
  39. package/dist/src/abi/connectors/v1/migrate.js +46 -0
  40. package/dist/src/abi/connectors/v1/oasis.js +198 -0
  41. package/dist/src/abi/connectors/v1/oneInch.js +160 -0
  42. package/dist/src/abi/connectors/v1/polygon_bridge.js +4 -0
  43. package/dist/src/abi/connectors/v1/refinance.js +4 -0
  44. package/dist/src/abi/connectors/v1/staking.js +220 -0
  45. package/dist/src/abi/connectors/v1/swerve.js +179 -0
  46. package/dist/src/abi/connectors/v1/uniswap.js +297 -0
  47. package/dist/src/abi/connectors/v2/1INCH-A.js +4 -0
  48. package/dist/src/abi/connectors/v2/1INCH-B.js +4 -0
  49. package/dist/src/abi/connectors/v2/AAVE-CLAIM-A.js +4 -0
  50. package/dist/src/abi/connectors/v2/AAVE-CLAIM-B.js +166 -0
  51. package/dist/src/abi/connectors/v2/AAVE-STAKE-A.js +4 -0
  52. package/dist/src/abi/connectors/v2/AAVE-V1-A.js +130 -0
  53. package/dist/src/abi/connectors/v2/AAVE-V1-IMPORT-A.js +4 -0
  54. package/dist/src/abi/connectors/v2/AAVE-V2-A.js +230 -0
  55. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-A.js +4 -0
  56. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-B.js +225 -0
  57. package/dist/src/abi/connectors/v2/AUTHORITY-A.js +100 -0
  58. package/dist/src/abi/connectors/v2/B-COMPOUND-A.js +4 -0
  59. package/dist/src/abi/connectors/v2/B-LIQUITY-A.js +4 -0
  60. package/dist/src/abi/connectors/v2/B-MAKERDAO-A.js +4 -0
  61. package/dist/src/abi/connectors/v2/BASIC-A.js +136 -0
  62. package/dist/src/abi/connectors/v2/BASIC-B.js +4 -0
  63. package/dist/src/abi/connectors/v2/BASIC-C.js +4 -0
  64. package/dist/src/abi/connectors/v2/COMP-A.js +4 -0
  65. package/dist/src/abi/connectors/v2/COMPOUND-A.js +4 -0
  66. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-A.js +4 -0
  67. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-B.js +195 -0
  68. package/dist/src/abi/connectors/v2/G-UNISWAP-A.js +4 -0
  69. package/dist/src/abi/connectors/v2/GELATO-AAVE-A.js +4 -0
  70. package/dist/src/abi/connectors/v2/INST-A.js +4 -0
  71. package/dist/src/abi/connectors/v2/INST-LM-A.js +4 -0
  72. package/dist/src/abi/connectors/v2/INST-STAKING-A.js +4 -0
  73. package/dist/src/abi/connectors/v2/INST-STAKING-B.js +4 -0
  74. package/dist/src/abi/connectors/v2/INSTAPOOL-A.js +4 -0
  75. package/dist/src/abi/connectors/v2/LIQUITY-A.js +4 -0
  76. package/dist/src/abi/connectors/v2/MAKERDAO-A.js +4 -0
  77. package/dist/src/abi/connectors/v2/MAKERDAO-CLAIM-A.js +136 -0
  78. package/dist/src/abi/connectors/v2/PARASWAP-A.js +4 -0
  79. package/dist/src/abi/connectors/v2/POLYGON-BRIDGE-A.js +4 -0
  80. package/dist/src/abi/connectors/v2/REFINANCE-A.js +4 -0
  81. package/dist/src/abi/connectors/v2/REFLEXER-A.js +4 -0
  82. package/dist/src/abi/connectors/v2/STAKE-ERC20-A.js +4 -0
  83. package/dist/src/abi/connectors/v2/UNISWAP-A.js +297 -0
  84. package/dist/src/abi/connectors/v2/UNISWAP-V2-A.js +4 -0
  85. package/dist/src/abi/connectors/v2/UNISWAP-V3-A.js +4 -0
  86. package/dist/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.js +4 -0
  87. package/dist/src/abi/connectors/v2/WETH-A.js +4 -0
  88. package/dist/src/abi/connectors/v2/YEARN-VAULT-A.js +4 -0
  89. package/dist/src/abi/connectors/v2/index.js +89 -0
  90. package/dist/src/abi/index.js +4 -2
  91. package/dist/src/abi/interopX.json +1436 -0
  92. package/dist/src/api/index.js +1 -1
  93. package/dist/src/constants/addresses.js +4 -7
  94. package/dist/src/constants/blockConfirmations.js +8 -0
  95. package/dist/src/constants/index.js +1 -0
  96. package/dist/src/constants/tokens.js +44 -51
  97. package/dist/src/db/models/transaction.js +11 -9
  98. package/dist/src/gnosis/actions/aaveV2/index.js +11 -0
  99. package/dist/src/gnosis/actions/aaveV2/source.js +75 -0
  100. package/dist/src/gnosis/actions/aaveV2/target.js +8 -0
  101. package/dist/src/gnosis/actions/index.js +2 -2
  102. package/dist/src/index.js +1 -1
  103. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +2 -2
  104. package/dist/src/tasks/InteropX/ProcessSubmitSubmitEvents.js +180 -0
  105. package/dist/src/tasks/{InteropXContract/SyncBridgeRequestEvents.js → InteropX/SyncLogSubmitEvents.js} +23 -15
  106. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +6 -3
  107. package/dist/src/tasks/index.js +9 -13
  108. package/dist/src/typechain/{InteropXContract.js → InteropX.js} +0 -0
  109. package/dist/src/typechain/factories/InteropX__factory.js +1928 -0
  110. package/dist/src/typechain/factories/index.js +3 -3
  111. package/dist/src/typechain/index.js +3 -3
  112. package/dist/src/utils/index.js +68 -31
  113. package/package.json +4 -2
  114. package/src/abi/connectors/index.ts +14 -0
  115. package/src/abi/connectors/v1/aave.ts +147 -0
  116. package/src/abi/connectors/v1/aave_claim.ts +3 -0
  117. package/src/abi/connectors/v1/aave_migrate.ts +108 -0
  118. package/src/abi/connectors/v1/aave_polygon_migrate.ts +109 -0
  119. package/src/abi/connectors/v1/aave_stake.ts +3 -0
  120. package/src/abi/connectors/v1/aave_v1_import.ts +53 -0
  121. package/src/abi/connectors/v1/aave_v2.ts +229 -0
  122. package/src/abi/connectors/v1/aave_v2_import.ts +58 -0
  123. package/src/abi/connectors/v1/authority.ts +99 -0
  124. package/src/abi/connectors/v1/basic.ts +135 -0
  125. package/src/abi/connectors/v1/chi.ts +35 -0
  126. package/src/abi/connectors/v1/comp.ts +3 -0
  127. package/src/abi/connectors/v1/compound.ts +3 -0
  128. package/src/abi/connectors/v1/compoundImport.ts +68 -0
  129. package/src/abi/connectors/v1/compoundImport_v2.ts +3 -0
  130. package/src/abi/connectors/v1/compound_old.ts +447 -0
  131. package/src/abi/connectors/v1/curve.ts +139 -0
  132. package/src/abi/connectors/v1/curve_claim.ts +62 -0
  133. package/src/abi/connectors/v1/curve_gauge.ts +157 -0
  134. package/src/abi/connectors/v1/curve_sbtc.ts +139 -0
  135. package/src/abi/connectors/v1/curve_susd.ts +139 -0
  136. package/src/abi/connectors/v1/curve_three.ts +78 -0
  137. package/src/abi/connectors/v1/curve_y.ts +139 -0
  138. package/src/abi/connectors/v1/dsa_migrate_v1_to_v2.ts +3 -0
  139. package/src/abi/connectors/v1/dydx.ts +147 -0
  140. package/src/abi/connectors/v1/dydx_flash.ts +51 -0
  141. package/src/abi/connectors/v1/fee.ts +49 -0
  142. package/src/abi/connectors/v1/gelato.ts +1137 -0
  143. package/src/abi/connectors/v1/index.ts +42 -0
  144. package/src/abi/connectors/v1/instapool.ts +438 -0
  145. package/src/abi/connectors/v1/instapool_v2.ts +125 -0
  146. package/src/abi/connectors/v1/kyber.ts +116 -0
  147. package/src/abi/connectors/v1/maker.ts +479 -0
  148. package/src/abi/connectors/v1/maker_old.ts +299 -0
  149. package/src/abi/connectors/v1/math.ts +42 -0
  150. package/src/abi/connectors/v1/migrate.ts +45 -0
  151. package/src/abi/connectors/v1/oasis.ts +197 -0
  152. package/src/abi/connectors/v1/oneInch.ts +159 -0
  153. package/src/abi/connectors/v1/polygon_bridge.ts +3 -0
  154. package/src/abi/connectors/v1/refinance.ts +3 -0
  155. package/src/abi/connectors/v1/staking.ts +219 -0
  156. package/src/abi/connectors/v1/swerve.ts +178 -0
  157. package/src/abi/connectors/v1/uniswap.ts +297 -0
  158. package/src/abi/connectors/v2/1INCH-A.ts +3 -0
  159. package/src/abi/connectors/v2/1INCH-B.ts +3 -0
  160. package/src/abi/connectors/v2/AAVE-CLAIM-A.ts +3 -0
  161. package/src/abi/connectors/v2/AAVE-CLAIM-B.ts +165 -0
  162. package/src/abi/connectors/v2/AAVE-STAKE-A.ts +3 -0
  163. package/src/abi/connectors/v2/AAVE-V1-A.ts +130 -0
  164. package/src/abi/connectors/v2/AAVE-V1-IMPORT-A.ts +3 -0
  165. package/src/abi/connectors/v2/AAVE-V2-A.ts +229 -0
  166. package/src/abi/connectors/v2/AAVE-V2-IMPORT-A.ts +3 -0
  167. package/src/abi/connectors/v2/AAVE-V2-IMPORT-B.ts +224 -0
  168. package/src/abi/connectors/v2/AUTHORITY-A.ts +99 -0
  169. package/src/abi/connectors/v2/B-COMPOUND-A.ts +3 -0
  170. package/src/abi/connectors/v2/B-LIQUITY-A.ts +3 -0
  171. package/src/abi/connectors/v2/B-MAKERDAO-A.ts +3 -0
  172. package/src/abi/connectors/v2/BASIC-A.ts +135 -0
  173. package/src/abi/connectors/v2/BASIC-B.ts +3 -0
  174. package/src/abi/connectors/v2/BASIC-C.ts +3 -0
  175. package/src/abi/connectors/v2/COMP-A.ts +3 -0
  176. package/src/abi/connectors/v2/COMPOUND-A.ts +3 -0
  177. package/src/abi/connectors/v2/COMPOUND-IMPORT-A.ts +3 -0
  178. package/src/abi/connectors/v2/COMPOUND-IMPORT-B.ts +194 -0
  179. package/src/abi/connectors/v2/G-UNISWAP-A.ts +3 -0
  180. package/src/abi/connectors/v2/GELATO-AAVE-A.ts +3 -0
  181. package/src/abi/connectors/v2/INST-A.ts +3 -0
  182. package/src/abi/connectors/v2/INST-LM-A.ts +3 -0
  183. package/src/abi/connectors/v2/INST-STAKING-A.ts +3 -0
  184. package/src/abi/connectors/v2/INST-STAKING-B.ts +3 -0
  185. package/src/abi/connectors/v2/INSTAPOOL-A.ts +3 -0
  186. package/src/abi/connectors/v2/LIQUITY-A.ts +3 -0
  187. package/src/abi/connectors/v2/MAKERDAO-A.ts +3 -0
  188. package/src/abi/connectors/v2/MAKERDAO-CLAIM-A.ts +135 -0
  189. package/src/abi/connectors/v2/PARASWAP-A.ts +3 -0
  190. package/src/abi/connectors/v2/POLYGON-BRIDGE-A.ts +3 -0
  191. package/src/abi/connectors/v2/REFINANCE-A.ts +3 -0
  192. package/src/abi/connectors/v2/REFLEXER-A.ts +3 -0
  193. package/src/abi/connectors/v2/STAKE-ERC20-A.ts +3 -0
  194. package/src/abi/connectors/v2/UNISWAP-A.ts +297 -0
  195. package/src/abi/connectors/v2/UNISWAP-V2-A.ts +3 -0
  196. package/src/abi/connectors/v2/UNISWAP-V3-A.ts +3 -0
  197. package/src/abi/connectors/v2/UNISWAP-V3-STAKE-A.ts +3 -0
  198. package/src/abi/connectors/v2/WETH-A.ts +3 -0
  199. package/src/abi/connectors/v2/YEARN-VAULT-A.ts +3 -0
  200. package/src/abi/connectors/v2/index.ts +87 -0
  201. package/src/abi/index.ts +7 -5
  202. package/src/abi/interopX.json +1436 -0
  203. package/src/api/index.ts +1 -1
  204. package/src/constants/addresses.ts +5 -8
  205. package/src/constants/blockConfirmations.ts +5 -0
  206. package/src/constants/index.ts +1 -0
  207. package/src/constants/tokens.ts +44 -51
  208. package/src/db/models/transaction.ts +28 -37
  209. package/src/gnosis/actions/aaveV2/index.ts +9 -0
  210. package/src/gnosis/actions/aaveV2/source.ts +120 -0
  211. package/src/gnosis/actions/aaveV2/target.ts +13 -0
  212. package/src/gnosis/actions/index.ts +2 -2
  213. package/src/net/protocol/dial/SignatureDialProtocol.ts +3 -2
  214. package/src/tasks/InteropX/ProcessSubmitSubmitEvents.ts +270 -0
  215. package/src/tasks/InteropX/SyncLogSubmitEvents.ts +138 -0
  216. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +6 -3
  217. package/src/tasks/index.ts +8 -15
  218. package/src/typechain/InteropX.ts +1216 -0
  219. package/src/typechain/factories/InteropX__factory.ts +1932 -0
  220. package/src/typechain/factories/index.ts +1 -1
  221. package/src/typechain/index.ts +2 -2
  222. package/src/utils/index.ts +185 -88
  223. package/dist/src/abi/interopXContract.json +0 -454
  224. package/dist/src/gnosis/actions/withdraw/index.js +0 -55
  225. package/dist/src/tasks/InteropXContract/ProcessBridgeRequestEvents.js +0 -152
  226. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +0 -92
  227. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +0 -90
  228. package/dist/src/typechain/factories/InteropXContract__factory.js +0 -635
  229. package/src/abi/interopXContract.json +0 -454
  230. package/src/gnosis/actions/withdraw/index.ts +0 -77
  231. package/src/tasks/InteropXContract/ProcessBridgeRequestEvents.ts +0 -216
  232. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +0 -124
  233. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +0 -115
  234. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +0 -121
  235. package/src/typechain/InteropXContract.ts +0 -680
  236. package/src/typechain/factories/InteropXContract__factory.ts +0 -642
package/src/api/index.ts CHANGED
@@ -21,7 +21,7 @@ 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
  })
@@ -1,17 +1,14 @@
1
1
  export const addresses = {
2
- 1: {
3
- gnosisSafe: '0x811Bff6eF88dAAA0aD6438386B534A81cE3F160F',
4
- multisend: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761',
5
- interopXContract: '',
6
- },
7
2
  137: {
8
3
  gnosisSafe: '0x5635d2910e51da33d9DC0422c893CF4F28B69A25',
9
4
  multisend: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761',
10
- interopXContract: '0x41bd77583674B3a5c073FBb4922C0C8dA91C43cF',
5
+ interopX: '0xDB6083df37C5F224a3dF84A4B5f9fB60b6c8670a',
6
+ dsaAddress: '0x9Fbd453a8e7a158510fBae5D9935958507cf4b19',
11
7
  },
12
8
  43114: {
13
9
  gnosisSafe: '0x31d7a5194Fe60AC209Cf1Ce2d539C9A60662Ed6b',
14
10
  multisend: '0x998739BFdAAdde7C933B942a68053933098f9EDa',
15
- interopXContract: '0xCF391A3057eDba541c80307aC5E3Bc1E4a9471b7',
11
+ interopX: '0xd61f55C6d9deD35B9d13243b816c4BcC1d78592b',
12
+ dsaAddress: '0xFcB7d826E32081c4799de2f83b47b49df600dc8c',
16
13
  }
17
- }
14
+ } as Record<number, { gnosisSafe: string, multisend: string, interopX: string, dsaAddress: string }>
@@ -0,0 +1,5 @@
1
+ export const blockConfirmations = {
2
+ "1": 12,
3
+ "137": 32,
4
+ "43114": 12,
5
+ };
@@ -1,2 +1,3 @@
1
1
  export * from './addresses';
2
2
  export * from './tokens';
3
+ export * from './blockConfirmations';
@@ -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'],
@@ -79,13 +79,6 @@ export const tokens = {
79
79
  address: "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",
80
80
  decimals: 8,
81
81
  },
82
- {
83
- aliases: ['avax'],
84
- symbol: "AVAX",
85
- name: "Avalanche Token",
86
- address: "0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b",
87
- decimals: 18,
88
- },
89
82
  ],
90
83
  43114: [
91
84
  {
@@ -1,7 +1,7 @@
1
1
  import { sequelize } from '@/db/sequelize'
2
2
  import { CreationOptional, InferAttributes, InferCreationAttributes, Model, DataTypes } from 'sequelize';
3
3
 
4
- export interface IPositionTokenInfo{
4
+ export interface IPositionTokenInfo {
5
5
  amount: string;
6
6
  sourceToken: string;
7
7
  targetToken: string;
@@ -16,14 +16,17 @@ export class Transaction extends Model<InferAttributes<Transaction>, InferCreati
16
16
  declare id: CreationOptional<number>;
17
17
 
18
18
  declare transactionHash: string;
19
-
19
+ declare vnonce: string;
20
20
  declare actionId: string;
21
- declare bridger: string;
22
- declare requestTransactionHash: string;
21
+ declare sourceSender: string;
23
22
 
24
- declare requestBlockNumber: number;
23
+ declare submitChainId: number;
24
+ declare submitTransactionHash: string;
25
+ declare submitBlockNumber: number;
26
+ declare submitCreatedAt: Date;
25
27
 
26
28
  declare sourceChainId: number;
29
+ declare sourceDsaId: string;
27
30
  declare sourceTransactionHash: CreationOptional<string>;
28
31
  declare sourceBlockNumber: CreationOptional<number>;
29
32
  declare sourceStatus: CreationOptional<string>;
@@ -33,6 +36,7 @@ export class Transaction extends Model<InferAttributes<Transaction>, InferCreati
33
36
  declare sourceDelayUntil: CreationOptional<Date>;
34
37
 
35
38
  declare targetChainId: number;
39
+ declare targetDsaId: string;
36
40
  declare targetTransactionHash: CreationOptional<string>;
37
41
  declare targetBlockNumber: CreationOptional<number>;
38
42
  declare targetStatus: CreationOptional<string>;
@@ -41,33 +45,18 @@ export class Transaction extends Model<InferAttributes<Transaction>, InferCreati
41
45
  declare targetCreatedAt: CreationOptional<Date>;
42
46
  declare targetDelayUntil: CreationOptional<Date>;
43
47
 
44
- declare requestEvent: {
45
- actionId: string;
46
- bridger: string;
47
- metadata: string;
48
+ declare submitEvent: {
48
49
  position: IPosition;
49
- sourceChainId: number;
50
- targetChainId: number;
51
- };
52
- declare requestSentEvent: CreationOptional<{
53
50
  actionId: string;
54
- bridger: string;
55
- metadata: string;
56
- position: IPosition;
51
+ actionIdHashHash: string;
52
+ sourceSender: string;
53
+ sourceDsaId: string;
54
+ targetDsaId: string;
57
55
  sourceChainId: number;
58
56
  targetChainId: number;
59
- requestTransactionHash: string;
60
- }>;
61
- declare committedEvent: CreationOptional<{
62
- actionId: string;
63
- bridger: string;
57
+ vnonce: string;
64
58
  metadata: string;
65
- position: IPosition;
66
- sourceChainId: number;
67
- targetChainId: number;
68
- requestTransactionHash: string;
69
- }>;
70
- declare completedEvent: CreationOptional<any>;
59
+ };
71
60
 
72
61
  declare status: CreationOptional<string>;
73
62
 
@@ -82,19 +71,23 @@ Transaction.init({
82
71
  primaryKey: true
83
72
  },
84
73
 
85
- requestTransactionHash: DataTypes.NUMBER,
86
- requestBlockNumber: DataTypes.NUMBER,
87
-
88
74
  transactionHash: DataTypes.STRING,
89
75
  actionId: DataTypes.STRING,
90
- bridger: DataTypes.STRING,
76
+ vnonce: DataTypes.STRING,
77
+ sourceSender: DataTypes.STRING,
78
+
79
+ submitChainId: DataTypes.NUMBER,
80
+ submitTransactionHash: DataTypes.STRING,
81
+ submitBlockNumber: DataTypes.NUMBER,
82
+ submitCreatedAt: DataTypes.DATE,
91
83
 
92
84
  sourceChainId: DataTypes.NUMBER,
85
+ sourceDsaId: DataTypes.STRING,
93
86
  sourceTransactionHash: DataTypes.STRING,
94
87
  sourceBlockNumber: DataTypes.NUMBER,
95
88
  sourceStatus: {
96
89
  type: DataTypes.STRING,
97
- defaultValue: 'uninitialised'
90
+ defaultValue: 'pending'
98
91
  },
99
92
  sourceErrors: {
100
93
  type: DataTypes.JSON,
@@ -111,11 +104,12 @@ Transaction.init({
111
104
  sourceDelayUntil: DataTypes.STRING,
112
105
 
113
106
  targetChainId: DataTypes.NUMBER,
107
+ targetDsaId: DataTypes.STRING,
114
108
  targetTransactionHash: DataTypes.STRING,
115
109
  targetBlockNumber: DataTypes.NUMBER,
116
110
  targetStatus: {
117
111
  type: DataTypes.STRING,
118
- defaultValue: 'uninitialised'
112
+ defaultValue: 'pending'
119
113
  },
120
114
  targetErrors: {
121
115
  type: DataTypes.JSON,
@@ -128,13 +122,10 @@ Transaction.init({
128
122
  targetCreatedAt: DataTypes.DATE,
129
123
  targetDelayUntil: DataTypes.DATE,
130
124
 
131
- requestEvent: {
125
+ submitEvent: {
132
126
  type: DataTypes.JSON,
133
127
  allowNull: false
134
128
  },
135
- requestSentEvent: DataTypes.JSON,
136
- committedEvent: DataTypes.JSON,
137
- completedEvent: DataTypes.JSON,
138
129
 
139
130
  status: {
140
131
  type: DataTypes.STRING,
@@ -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
+ }
@@ -0,0 +1,120 @@
1
+ import abi from "@/abi";
2
+ import config from "@/config";
3
+ import { addresses } from "@/constants";
4
+ import { Transaction } from "@/db";
5
+ import { InteropX } from "@/typechain";
6
+ import { ChainId } from "@/types";
7
+ import { encodeConnectorMethod, getContract, getRpcProviderUrl } from "@/utils";
8
+ import { ethers } from "ethers";
9
+ import { MetaTransaction, OperationType } from "ethers-multisend";
10
+
11
+ export default async function (transaction: Transaction) {
12
+ const transactions: MetaTransaction[] = [];
13
+ const logs: any[] = [];
14
+
15
+ const {
16
+ position,
17
+ actionId,
18
+ actionIdHashHash,
19
+ sourceSender,
20
+ sourceDsaId,
21
+ targetDsaId,
22
+ sourceChainId,
23
+ targetChainId,
24
+ vnonce,
25
+ metadata,
26
+ } = transaction.submitEvent;
27
+
28
+ const sourceChainProvider = new ethers.providers.JsonRpcProvider(
29
+ getRpcProviderUrl(sourceChainId as ChainId)
30
+ );
31
+ const sourceWallet = new ethers.Wallet(
32
+ config.privateKey,
33
+ sourceChainProvider
34
+ );
35
+ const dsaAddress = addresses[sourceChainId].dsaAddress;
36
+ const sourceUserAddress =
37
+ Number(sourceDsaId) == 0 ? sourceSender : dsaAddress;
38
+ const interopAddress = addresses[sourceChainId].interopX;
39
+ const contract = getContract<InteropX>(
40
+ interopAddress,
41
+ abi.interopX,
42
+ sourceWallet
43
+ );
44
+
45
+ const sourceSpells: any[] = [];
46
+ const commonSpells: any[] = [];
47
+
48
+ for (const withdraw of position.withdraw) {
49
+ let spellData = {
50
+ connector: "AAVE-V2-A",
51
+ method: "payback",
52
+ args: [withdraw.sourceToken, withdraw.amount, "2", "0", "0"],
53
+ };
54
+
55
+ sourceSpells.push({
56
+ connector: spellData.method,
57
+ data: encodeConnectorMethod(spellData),
58
+ });
59
+ }
60
+
61
+ for (const supply of position.supply) {
62
+ let spellDataWithdraw = {
63
+ connector: "AAVE-V2-A",
64
+ method: "withdraw",
65
+ args: [supply.sourceToken, supply.amount, "0", "0"],
66
+ };
67
+
68
+ sourceSpells.push({
69
+ connector: spellDataWithdraw.method,
70
+ data: encodeConnectorMethod(spellDataWithdraw),
71
+ });
72
+
73
+ let spellDataBasicWithdraw = {
74
+ connector: "BASIC-A",
75
+ method: "withdraw",
76
+ args: [supply.sourceToken, supply.amount, sourceUserAddress, "0", "0"],
77
+ };
78
+
79
+ commonSpells.push({
80
+ connector: spellDataBasicWithdraw.method,
81
+ data: encodeConnectorMethod(spellDataBasicWithdraw),
82
+ });
83
+ }
84
+
85
+ // for (const withdraw of position.withdraw) {
86
+ // let spellDataBasicWithdraw = {
87
+ // connector: "BASIC-A",
88
+ // method: "withdraw",
89
+ // args: [withdraw.sourceToken, withdraw.amount, sourceUserAddress, "0", "0"],
90
+ // };
91
+
92
+ // commonSpells.push({
93
+ // connector: spellDataBasicWithdraw.method,
94
+ // data: encodeConnectorMethod(spellDataBasicWithdraw),
95
+ // });
96
+ // }
97
+
98
+ const { data } = await contract.populateTransaction.sourceAction(
99
+ sourceSpells,
100
+ commonSpells,
101
+ position,
102
+ actionId,
103
+ sourceSender,
104
+ sourceDsaId,
105
+ targetDsaId,
106
+ sourceChainId,
107
+ targetChainId,
108
+ vnonce,
109
+ metadata
110
+ );
111
+
112
+ transactions.push({
113
+ to: interopAddress,
114
+ data: data!,
115
+ value: "0",
116
+ operation: OperationType.Call,
117
+ });
118
+
119
+ return { transactions, logs };
120
+ }
@@ -0,0 +1,13 @@
1
+
2
+
3
+ import { Transaction } from "@/db";
4
+ import { MetaTransaction, OperationType } from "ethers-multisend";
5
+
6
+
7
+ export default async function (transaction: Transaction) {
8
+ const transactions: MetaTransaction[] = [];
9
+ const logs: any[] = [];
10
+
11
+
12
+ return { transactions, logs }
13
+ }
@@ -1,5 +1,5 @@
1
- import withdraw from "./withdraw"
1
+ import aaveV2 from "./aaveV2"
2
2
 
3
3
  export default {
4
- withdraw,
4
+ 'A:AAVE-V2:AAVE-V2': aaveV2,
5
5
  }
@@ -12,6 +12,7 @@ export interface ISignatureRequest {
12
12
  transactionHash: string
13
13
  safeTxGas: string
14
14
  safeNonce: string
15
+ chainId: number
15
16
  }
16
17
  export interface ISignatureResponse {
17
18
  signer: string,
@@ -54,9 +55,9 @@ export class SignatureDialProtocol extends BaseDialProtocol<ISignatureRequest, I
54
55
  const { data: gnosisData } = await buildGnosisAction(transaction, data.type);
55
56
 
56
57
  const signedData = await signGnosisSafeTx({
57
- to: addresses[transaction.sourceChainId].multisend,
58
+ to: addresses[data.chainId].multisend,
58
59
  data: gnosisData,
59
- chainId: transaction.sourceChainId as ChainId,
60
+ chainId: data.chainId as ChainId,
60
61
  safeTxGas: data.safeTxGas,
61
62
  nonce: data.safeNonce,
62
63
  }, { signer });