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

Sign up to get free protection for your applications and to get access to all the features.
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 });