@instadapp/interop-x 0.0.0-dev.8cb1c22 → 0.0.0-dev.909c44a

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 (204) hide show
  1. package/dist/package.json +9 -2
  2. package/dist/src/abi/aaveV2Resolver.json +832 -0
  3. package/dist/src/abi/aaveV3Resolver.json +628 -0
  4. package/dist/src/abi/balanceResolver.json +211 -0
  5. package/dist/src/abi/connectors/index.js +2 -2
  6. package/dist/src/abi/connectors/v2/1INCH-A.js +39 -1
  7. package/dist/src/abi/connectors/v2/1INCH-V3-A.js +42 -0
  8. package/dist/src/abi/connectors/v2/1INCH-V4-A.js +42 -0
  9. package/dist/src/abi/connectors/v2/AAVE-IMPORT-V2-V3-A.js +57 -0
  10. package/dist/src/abi/connectors/v2/AAVE-V2-A.js +91 -133
  11. package/dist/src/abi/connectors/v2/AAVE-V2-IMPORT-C.js +4 -0
  12. package/dist/src/abi/connectors/v2/AAVE-V3-A.js +322 -0
  13. package/dist/src/abi/connectors/v2/AAVE-V3-CLAIM-A.js +58 -0
  14. package/dist/src/abi/connectors/v2/AAVE-V3-IMPORT-A.js +59 -0
  15. package/dist/src/abi/connectors/v2/AAVE-V3-IMPORT-PERMIT-A.js +81 -0
  16. package/dist/src/abi/connectors/v2/BASIC-A.js +44 -86
  17. package/dist/src/abi/connectors/v2/BENQI-A.js +901 -0
  18. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-C.js +4 -0
  19. package/dist/src/abi/connectors/v2/COMPOUND-IMPORT-D.js +27 -0
  20. package/dist/src/abi/connectors/v2/DSA-SPELL-A.js +60 -0
  21. package/dist/src/abi/connectors/v2/HOP-A.js +41 -0
  22. package/dist/src/abi/connectors/v2/HOP-MAINNET-A.js +38 -0
  23. package/dist/src/abi/connectors/v2/INSTA-DEX-SIMULATION-A.js +40 -0
  24. package/dist/src/abi/connectors/v2/INSTAPOOL-B.js +4 -0
  25. package/dist/src/abi/connectors/v2/INSTAPOOL-C.js +4 -0
  26. package/dist/src/abi/connectors/v2/INTEROP-A.js +4 -0
  27. package/dist/src/abi/connectors/v2/INTEROP-STAGING-A.js +4 -0
  28. package/dist/src/abi/connectors/v2/LIDO-STETH-A.js +36 -0
  29. package/dist/src/abi/connectors/v2/LITE-A.js +4 -0
  30. package/dist/src/abi/connectors/v2/MSTABLE-A.js +4 -0
  31. package/dist/src/abi/connectors/v2/NOTIONAL-V2-A.js +484 -0
  32. package/dist/src/abi/connectors/v2/PANGOLIN-A.js +136 -0
  33. package/dist/src/abi/connectors/v2/PANGOLIN-STAKE-A.js +227 -0
  34. package/dist/src/abi/connectors/v2/PARASWAP-A.js +26 -1
  35. package/dist/src/abi/connectors/v2/PARASWAP-V5-A.js +29 -0
  36. package/dist/src/abi/connectors/v2/POOLTOGETHER-A.js +4 -0
  37. package/dist/src/abi/connectors/v2/QI-A.js +4 -0
  38. package/dist/src/abi/connectors/v2/QUICKSWAP-A.js +136 -0
  39. package/dist/src/abi/connectors/v2/SUSHISWAP-A.js +136 -0
  40. package/dist/src/abi/connectors/v2/SWAP-AGGREGATOR-A.js +25 -0
  41. package/dist/src/abi/connectors/v2/UBIQUITY-A.js +73 -0
  42. package/dist/src/abi/connectors/v2/UNISWAP-SELL-BETA.js +4 -0
  43. package/dist/src/abi/connectors/v2/UNISWAP-V3-A.js +1 -1
  44. package/dist/src/abi/connectors/v2/UNISWAP-V3-ROUTER-A.js +4 -0
  45. package/dist/src/abi/connectors/v2/UNISWAP-V3-STAKER-B.js +193 -0
  46. package/dist/src/abi/connectors/v2/UNISWAP-V3-SWAP-A.js +74 -0
  47. package/dist/src/abi/connectors/v2/UNIVERSE-A.js +4 -0
  48. package/dist/src/abi/connectors/v2/WAVAX-A.js +4 -0
  49. package/dist/src/abi/connectors/v2/WFTM-A.js +60 -0
  50. package/dist/src/abi/connectors/v2/WMATIC-A.js +4 -0
  51. package/dist/src/abi/connectors/v2/ZEROX-A.js +29 -0
  52. package/dist/src/abi/connectors/v2/ZEROX-V4-A.js +29 -0
  53. package/dist/src/abi/connectors/v2/index.js +128 -44
  54. package/dist/src/abi/index.js +8 -0
  55. package/dist/src/abi/instList.json +232 -0
  56. package/dist/src/api/index.js +7 -0
  57. package/dist/src/constants/addresses.js +9 -1
  58. package/dist/src/constants/capPerChain.js +8 -0
  59. package/dist/src/constants/index.js +2 -0
  60. package/dist/src/constants/tokens.js +44 -44
  61. package/dist/src/constants/wrappedNativeToken.js +8 -0
  62. package/dist/src/crons/index.js +3 -0
  63. package/dist/src/crons/prices.js +16 -0
  64. package/dist/src/db/models/transaction.js +5 -1
  65. package/dist/src/errors/index.js +30 -0
  66. package/dist/src/gnosis/actions/aaveV2/source.js +26 -1
  67. package/dist/src/gnosis/actions/aaveV2/target.js +20 -5
  68. package/dist/src/gnosis/actions/aaveV3/index.js +11 -0
  69. package/dist/src/gnosis/actions/aaveV3/source.js +74 -0
  70. package/dist/src/gnosis/actions/aaveV3/target.js +87 -0
  71. package/dist/src/gnosis/actions/index.js +2 -0
  72. package/dist/src/index.js +2 -1
  73. package/dist/src/providers/index.js +17 -0
  74. package/dist/src/providers/retry-provider.js +45 -0
  75. package/dist/src/services/Prices.js +74 -0
  76. package/dist/src/services/index.js +8 -0
  77. package/dist/src/tasks/InteropX/{ProcessSubmitSubmitEvents.js → ProcessSubmitEvents.js} +110 -16
  78. package/dist/src/tasks/InteropX/ProcessValidateEvents.js +30 -10
  79. package/dist/src/tasks/InteropX/SyncLogExecuteEvents.js +113 -0
  80. package/dist/src/tasks/InteropX/SyncLogSubmitEvents.js +3 -2
  81. package/dist/src/tasks/InteropX/SyncLogValidateEvents.js +6 -5
  82. package/dist/src/tasks/index.js +7 -5
  83. package/dist/src/typechain/AaveV2Resolver.js +2 -0
  84. package/dist/src/typechain/AaveV3Resolver.js +2 -0
  85. package/dist/src/typechain/BalanceResolver.js +2 -0
  86. package/dist/src/typechain/InstList.js +2 -0
  87. package/dist/src/typechain/factories/AaveV2Resolver__factory.js +1191 -0
  88. package/dist/src/typechain/factories/AaveV3Resolver__factory.js +887 -0
  89. package/dist/src/typechain/factories/BalanceResolver__factory.js +228 -0
  90. package/dist/src/typechain/factories/InstList__factory.js +249 -0
  91. package/dist/src/typechain/factories/index.js +9 -1
  92. package/dist/src/typechain/index.js +9 -1
  93. package/dist/src/utils/async.js +18 -0
  94. package/dist/src/utils/dsa.js +36 -0
  95. package/dist/src/utils/formatting.js +67 -0
  96. package/dist/src/utils/gnosis.js +87 -0
  97. package/dist/src/utils/http.js +10 -0
  98. package/dist/src/utils/index.js +22 -220
  99. package/dist/src/utils/interop.js +16 -0
  100. package/dist/src/utils/tokens.js +22 -0
  101. package/dist/src/utils/validate.js +111 -0
  102. package/dist/src/utils/web3.js +93 -0
  103. package/package.json +9 -2
  104. package/src/abi/aaveV2Resolver.json +832 -0
  105. package/src/abi/aaveV3Resolver.json +628 -0
  106. package/src/abi/balanceResolver.json +211 -0
  107. package/src/abi/connectors/index.ts +5 -5
  108. package/src/abi/connectors/v2/1INCH-A.ts +39 -1
  109. package/src/abi/connectors/v2/1INCH-V3-A.ts +41 -0
  110. package/src/abi/connectors/v2/1INCH-V4-A.ts +41 -0
  111. package/src/abi/connectors/v2/AAVE-IMPORT-V2-V3-A.ts +56 -0
  112. package/src/abi/connectors/v2/AAVE-V2-A.ts +93 -135
  113. package/src/abi/connectors/v2/AAVE-V2-IMPORT-C.ts +3 -0
  114. package/src/abi/connectors/v2/AAVE-V3-A.ts +321 -0
  115. package/src/abi/connectors/v2/AAVE-V3-CLAIM-A.ts +57 -0
  116. package/src/abi/connectors/v2/AAVE-V3-IMPORT-A.ts +58 -0
  117. package/src/abi/connectors/v2/AAVE-V3-IMPORT-PERMIT-A.ts +80 -0
  118. package/src/abi/connectors/v2/BASIC-A.ts +44 -86
  119. package/src/abi/connectors/v2/BENQI-A.ts +900 -0
  120. package/src/abi/connectors/v2/COMPOUND-IMPORT-C.ts +3 -0
  121. package/src/abi/connectors/v2/COMPOUND-IMPORT-D.ts +26 -0
  122. package/src/abi/connectors/v2/DSA-SPELL-A.ts +59 -0
  123. package/src/abi/connectors/v2/HOP-A.ts +40 -0
  124. package/src/abi/connectors/v2/HOP-MAINNET-A.ts +37 -0
  125. package/src/abi/connectors/v2/INSTA-DEX-SIMULATION-A.ts +39 -0
  126. package/src/abi/connectors/v2/INSTAPOOL-B.ts +3 -0
  127. package/src/abi/connectors/v2/INSTAPOOL-C.ts +3 -0
  128. package/src/abi/connectors/v2/INTEROP-A.ts +3 -0
  129. package/src/abi/connectors/v2/INTEROP-STAGING-A.ts +3 -0
  130. package/src/abi/connectors/v2/LIDO-STETH-A.ts +35 -0
  131. package/src/abi/connectors/v2/LITE-A.ts +3 -0
  132. package/src/abi/connectors/v2/MSTABLE-A.ts +3 -0
  133. package/src/abi/connectors/v2/NOTIONAL-V2-A.ts +483 -0
  134. package/src/abi/connectors/v2/PANGOLIN-A.ts +135 -0
  135. package/src/abi/connectors/v2/PANGOLIN-STAKE-A.ts +226 -0
  136. package/src/abi/connectors/v2/PARASWAP-A.ts +26 -1
  137. package/src/abi/connectors/v2/PARASWAP-V5-A.ts +28 -0
  138. package/src/abi/connectors/v2/POOLTOGETHER-A.ts +3 -0
  139. package/src/abi/connectors/v2/QI-A.ts +3 -0
  140. package/src/abi/connectors/v2/QUICKSWAP-A.ts +135 -0
  141. package/src/abi/connectors/v2/SUSHISWAP-A.ts +135 -0
  142. package/src/abi/connectors/v2/SWAP-AGGREGATOR-A.ts +24 -0
  143. package/src/abi/connectors/v2/UBIQUITY-A.ts +72 -0
  144. package/src/abi/connectors/v2/UNISWAP-SELL-BETA.ts +3 -0
  145. package/src/abi/connectors/v2/UNISWAP-V3-A.ts +1 -1
  146. package/src/abi/connectors/v2/UNISWAP-V3-ROUTER-A.ts +3 -0
  147. package/src/abi/connectors/v2/UNISWAP-V3-STAKER-B.ts +192 -0
  148. package/src/abi/connectors/v2/UNISWAP-V3-SWAP-A.ts +73 -0
  149. package/src/abi/connectors/v2/UNIVERSE-A.ts +3 -0
  150. package/src/abi/connectors/v2/WAVAX-A.ts +3 -0
  151. package/src/abi/connectors/v2/WFTM-A.ts +59 -0
  152. package/src/abi/connectors/v2/WMATIC-A.ts +3 -0
  153. package/src/abi/connectors/v2/ZEROX-A.ts +28 -0
  154. package/src/abi/connectors/v2/ZEROX-V4-A.ts +28 -0
  155. package/src/abi/connectors/v2/index.ts +171 -85
  156. package/src/abi/index.ts +8 -0
  157. package/src/abi/instList.json +232 -0
  158. package/src/api/index.ts +8 -0
  159. package/src/constants/addresses.ts +21 -2
  160. package/src/constants/capPerChain.ts +5 -0
  161. package/src/constants/index.ts +2 -0
  162. package/src/constants/tokens.ts +44 -44
  163. package/src/constants/wrappedNativeToken.ts +5 -0
  164. package/src/crons/index.ts +1 -0
  165. package/src/crons/prices.ts +12 -0
  166. package/src/db/models/transaction.ts +22 -1
  167. package/src/errors/index.ts +26 -0
  168. package/src/gnosis/actions/aaveV2/source.ts +56 -3
  169. package/src/gnosis/actions/aaveV2/target.ts +35 -7
  170. package/src/gnosis/actions/aaveV3/index.ts +9 -0
  171. package/src/gnosis/actions/aaveV3/source.ts +119 -0
  172. package/src/gnosis/actions/aaveV3/target.ts +142 -0
  173. package/src/gnosis/actions/index.ts +2 -0
  174. package/src/index.ts +1 -0
  175. package/src/providers/index.ts +1 -0
  176. package/src/providers/retry-provider.ts +51 -0
  177. package/src/services/Prices.ts +89 -0
  178. package/src/services/index.ts +1 -0
  179. package/src/tasks/InteropX/{ProcessSubmitSubmitEvents.ts → ProcessSubmitEvents.ts} +139 -22
  180. package/src/tasks/InteropX/ProcessValidateEvents.ts +42 -19
  181. package/src/tasks/InteropX/SyncLogExecuteEvents.ts +161 -0
  182. package/src/tasks/InteropX/SyncLogSubmitEvents.ts +6 -7
  183. package/src/tasks/InteropX/SyncLogValidateEvents.ts +9 -10
  184. package/src/tasks/index.ts +8 -5
  185. package/src/typechain/AaveV2Resolver.ts +1017 -0
  186. package/src/typechain/AaveV3Resolver.ts +935 -0
  187. package/src/typechain/BalanceResolver.ts +266 -0
  188. package/src/typechain/InstList.ts +402 -0
  189. package/src/typechain/factories/AaveV2Resolver__factory.ts +1198 -0
  190. package/src/typechain/factories/AaveV3Resolver__factory.ts +894 -0
  191. package/src/typechain/factories/BalanceResolver__factory.ts +235 -0
  192. package/src/typechain/factories/InstList__factory.ts +253 -0
  193. package/src/typechain/factories/index.ts +4 -0
  194. package/src/typechain/index.ts +8 -0
  195. package/src/utils/async.ts +22 -0
  196. package/src/utils/dsa.ts +56 -0
  197. package/src/utils/formatting.ts +68 -0
  198. package/src/utils/gnosis.ts +166 -0
  199. package/src/utils/http.ts +6 -0
  200. package/src/utils/index.ts +9 -365
  201. package/src/utils/interop.ts +28 -0
  202. package/src/utils/tokens.ts +21 -0
  203. package/src/utils/validate.ts +179 -0
  204. package/src/utils/web3.ts +132 -0
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BalanceResolver__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_wnativeToken",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ components: [
24
+ {
25
+ components: [
26
+ {
27
+ internalType: "address",
28
+ name: "sourceToken",
29
+ type: "address",
30
+ },
31
+ {
32
+ internalType: "address",
33
+ name: "targetToken",
34
+ type: "address",
35
+ },
36
+ {
37
+ internalType: "uint256",
38
+ name: "amount",
39
+ type: "uint256",
40
+ },
41
+ ],
42
+ internalType: "struct Variables.TokenInfo[]",
43
+ name: "supply",
44
+ type: "tuple[]",
45
+ },
46
+ {
47
+ components: [
48
+ {
49
+ internalType: "address",
50
+ name: "sourceToken",
51
+ type: "address",
52
+ },
53
+ {
54
+ internalType: "address",
55
+ name: "targetToken",
56
+ type: "address",
57
+ },
58
+ {
59
+ internalType: "uint256",
60
+ name: "amount",
61
+ type: "uint256",
62
+ },
63
+ ],
64
+ internalType: "struct Variables.TokenInfo[]",
65
+ name: "withdraw",
66
+ type: "tuple[]",
67
+ },
68
+ ],
69
+ internalType: "struct Variables.Position",
70
+ name: "position",
71
+ type: "tuple",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "liquidityContract",
76
+ type: "address",
77
+ },
78
+ {
79
+ internalType: "bool",
80
+ name: "isSupply",
81
+ type: "bool",
82
+ },
83
+ {
84
+ internalType: "bool",
85
+ name: "isTargetToken",
86
+ type: "bool",
87
+ },
88
+ ],
89
+ name: "checkLiquidity",
90
+ outputs: [
91
+ {
92
+ components: [
93
+ {
94
+ internalType: "bool",
95
+ name: "isOk",
96
+ type: "bool",
97
+ },
98
+ {
99
+ components: [
100
+ {
101
+ internalType: "address",
102
+ name: "token",
103
+ type: "address",
104
+ },
105
+ {
106
+ internalType: "uint256",
107
+ name: "liquidityAvailable",
108
+ type: "uint256",
109
+ },
110
+ {
111
+ internalType: "uint256",
112
+ name: "liquidityShort",
113
+ type: "uint256",
114
+ },
115
+ ],
116
+ internalType: "struct Helpers.LiquidityData[]",
117
+ name: "supply",
118
+ type: "tuple[]",
119
+ },
120
+ {
121
+ components: [
122
+ {
123
+ internalType: "address",
124
+ name: "token",
125
+ type: "address",
126
+ },
127
+ {
128
+ internalType: "uint256",
129
+ name: "liquidityAvailable",
130
+ type: "uint256",
131
+ },
132
+ {
133
+ internalType: "uint256",
134
+ name: "liquidityShort",
135
+ type: "uint256",
136
+ },
137
+ ],
138
+ internalType: "struct Helpers.LiquidityData[]",
139
+ name: "withdraw",
140
+ type: "tuple[]",
141
+ },
142
+ ],
143
+ internalType: "struct Helpers.PositionData",
144
+ name: "p",
145
+ type: "tuple",
146
+ },
147
+ ],
148
+ stateMutability: "view",
149
+ type: "function",
150
+ },
151
+ {
152
+ inputs: [
153
+ {
154
+ internalType: "address[]",
155
+ name: "tokens",
156
+ type: "address[]",
157
+ },
158
+ {
159
+ internalType: "address",
160
+ name: "liquidityContract",
161
+ type: "address",
162
+ },
163
+ ],
164
+ name: "getLiquidity",
165
+ outputs: [
166
+ {
167
+ components: [
168
+ {
169
+ internalType: "address",
170
+ name: "token",
171
+ type: "address",
172
+ },
173
+ {
174
+ internalType: "uint256",
175
+ name: "liquidityAvailable",
176
+ type: "uint256",
177
+ },
178
+ {
179
+ internalType: "uint256",
180
+ name: "liquidityShort",
181
+ type: "uint256",
182
+ },
183
+ ],
184
+ internalType: "struct Helpers.LiquidityData[]",
185
+ name: "l",
186
+ type: "tuple[]",
187
+ },
188
+ ],
189
+ stateMutability: "view",
190
+ type: "function",
191
+ },
192
+ {
193
+ inputs: [],
194
+ name: "nativeToken",
195
+ outputs: [
196
+ {
197
+ internalType: "address",
198
+ name: "",
199
+ type: "address",
200
+ },
201
+ ],
202
+ stateMutability: "view",
203
+ type: "function",
204
+ },
205
+ {
206
+ inputs: [],
207
+ name: "wnativeToken",
208
+ outputs: [
209
+ {
210
+ internalType: "address",
211
+ name: "",
212
+ type: "address",
213
+ },
214
+ ],
215
+ stateMutability: "view",
216
+ type: "function",
217
+ },
218
+ ];
219
+ class BalanceResolver__factory {
220
+ static createInterface() {
221
+ return new ethers_1.utils.Interface(_abi);
222
+ }
223
+ static connect(address, signerOrProvider) {
224
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
225
+ }
226
+ }
227
+ exports.BalanceResolver__factory = BalanceResolver__factory;
228
+ BalanceResolver__factory.abi = _abi;
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InstList__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_instaIndex",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "uint64",
24
+ name: "",
25
+ type: "uint64",
26
+ },
27
+ ],
28
+ name: "accountAddr",
29
+ outputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "",
33
+ type: "address",
34
+ },
35
+ ],
36
+ stateMutability: "view",
37
+ type: "function",
38
+ },
39
+ {
40
+ inputs: [
41
+ {
42
+ internalType: "address",
43
+ name: "",
44
+ type: "address",
45
+ },
46
+ ],
47
+ name: "accountID",
48
+ outputs: [
49
+ {
50
+ internalType: "uint64",
51
+ name: "",
52
+ type: "uint64",
53
+ },
54
+ ],
55
+ stateMutability: "view",
56
+ type: "function",
57
+ },
58
+ {
59
+ inputs: [
60
+ {
61
+ internalType: "uint64",
62
+ name: "",
63
+ type: "uint64",
64
+ },
65
+ ],
66
+ name: "accountLink",
67
+ outputs: [
68
+ {
69
+ internalType: "address",
70
+ name: "first",
71
+ type: "address",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "last",
76
+ type: "address",
77
+ },
78
+ {
79
+ internalType: "uint64",
80
+ name: "count",
81
+ type: "uint64",
82
+ },
83
+ ],
84
+ stateMutability: "view",
85
+ type: "function",
86
+ },
87
+ {
88
+ inputs: [
89
+ {
90
+ internalType: "uint64",
91
+ name: "",
92
+ type: "uint64",
93
+ },
94
+ {
95
+ internalType: "address",
96
+ name: "",
97
+ type: "address",
98
+ },
99
+ ],
100
+ name: "accountList",
101
+ outputs: [
102
+ {
103
+ internalType: "address",
104
+ name: "prev",
105
+ type: "address",
106
+ },
107
+ {
108
+ internalType: "address",
109
+ name: "next",
110
+ type: "address",
111
+ },
112
+ ],
113
+ stateMutability: "view",
114
+ type: "function",
115
+ },
116
+ {
117
+ inputs: [],
118
+ name: "accounts",
119
+ outputs: [
120
+ {
121
+ internalType: "uint64",
122
+ name: "",
123
+ type: "uint64",
124
+ },
125
+ ],
126
+ stateMutability: "view",
127
+ type: "function",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "address",
133
+ name: "_owner",
134
+ type: "address",
135
+ },
136
+ ],
137
+ name: "addAuth",
138
+ outputs: [],
139
+ stateMutability: "nonpayable",
140
+ type: "function",
141
+ },
142
+ {
143
+ inputs: [
144
+ {
145
+ internalType: "address",
146
+ name: "_account",
147
+ type: "address",
148
+ },
149
+ ],
150
+ name: "init",
151
+ outputs: [],
152
+ stateMutability: "nonpayable",
153
+ type: "function",
154
+ },
155
+ {
156
+ inputs: [],
157
+ name: "instaIndex",
158
+ outputs: [
159
+ {
160
+ internalType: "address",
161
+ name: "",
162
+ type: "address",
163
+ },
164
+ ],
165
+ stateMutability: "view",
166
+ type: "function",
167
+ },
168
+ {
169
+ inputs: [
170
+ {
171
+ internalType: "address",
172
+ name: "_owner",
173
+ type: "address",
174
+ },
175
+ ],
176
+ name: "removeAuth",
177
+ outputs: [],
178
+ stateMutability: "nonpayable",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [
183
+ {
184
+ internalType: "address",
185
+ name: "",
186
+ type: "address",
187
+ },
188
+ ],
189
+ name: "userLink",
190
+ outputs: [
191
+ {
192
+ internalType: "uint64",
193
+ name: "first",
194
+ type: "uint64",
195
+ },
196
+ {
197
+ internalType: "uint64",
198
+ name: "last",
199
+ type: "uint64",
200
+ },
201
+ {
202
+ internalType: "uint64",
203
+ name: "count",
204
+ type: "uint64",
205
+ },
206
+ ],
207
+ stateMutability: "view",
208
+ type: "function",
209
+ },
210
+ {
211
+ inputs: [
212
+ {
213
+ internalType: "address",
214
+ name: "",
215
+ type: "address",
216
+ },
217
+ {
218
+ internalType: "uint64",
219
+ name: "",
220
+ type: "uint64",
221
+ },
222
+ ],
223
+ name: "userList",
224
+ outputs: [
225
+ {
226
+ internalType: "uint64",
227
+ name: "prev",
228
+ type: "uint64",
229
+ },
230
+ {
231
+ internalType: "uint64",
232
+ name: "next",
233
+ type: "uint64",
234
+ },
235
+ ],
236
+ stateMutability: "view",
237
+ type: "function",
238
+ },
239
+ ];
240
+ class InstList__factory {
241
+ static createInterface() {
242
+ return new ethers_1.utils.Interface(_abi);
243
+ }
244
+ static connect(address, signerOrProvider) {
245
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
246
+ }
247
+ }
248
+ exports.InstList__factory = InstList__factory;
249
+ InstList__factory.abi = _abi;
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InteropX__factory = exports.GnosisSafe__factory = exports.Erc20__factory = void 0;
3
+ exports.InteropX__factory = exports.InstList__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.BalanceResolver__factory = exports.AaveV3Resolver__factory = exports.AaveV2Resolver__factory = void 0;
4
4
  /* Autogenerated file. Do not edit manually. */
5
5
  /* tslint:disable */
6
6
  /* eslint-disable */
7
+ var AaveV2Resolver__factory_1 = require("./AaveV2Resolver__factory");
8
+ Object.defineProperty(exports, "AaveV2Resolver__factory", { enumerable: true, get: function () { return AaveV2Resolver__factory_1.AaveV2Resolver__factory; } });
9
+ var AaveV3Resolver__factory_1 = require("./AaveV3Resolver__factory");
10
+ Object.defineProperty(exports, "AaveV3Resolver__factory", { enumerable: true, get: function () { return AaveV3Resolver__factory_1.AaveV3Resolver__factory; } });
11
+ var BalanceResolver__factory_1 = require("./BalanceResolver__factory");
12
+ Object.defineProperty(exports, "BalanceResolver__factory", { enumerable: true, get: function () { return BalanceResolver__factory_1.BalanceResolver__factory; } });
7
13
  var Erc20__factory_1 = require("./Erc20__factory");
8
14
  Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
9
15
  var GnosisSafe__factory_1 = require("./GnosisSafe__factory");
10
16
  Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
17
+ var InstList__factory_1 = require("./InstList__factory");
18
+ Object.defineProperty(exports, "InstList__factory", { enumerable: true, get: function () { return InstList__factory_1.InstList__factory; } });
11
19
  var InteropX__factory_1 = require("./InteropX__factory");
12
20
  Object.defineProperty(exports, "InteropX__factory", { enumerable: true, get: function () { return InteropX__factory_1.InteropX__factory; } });
@@ -23,11 +23,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InteropX__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.factories = void 0;
26
+ exports.InteropX__factory = exports.InstList__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.BalanceResolver__factory = exports.AaveV3Resolver__factory = exports.AaveV2Resolver__factory = exports.factories = void 0;
27
27
  exports.factories = __importStar(require("./factories"));
28
+ var AaveV2Resolver__factory_1 = require("./factories/AaveV2Resolver__factory");
29
+ Object.defineProperty(exports, "AaveV2Resolver__factory", { enumerable: true, get: function () { return AaveV2Resolver__factory_1.AaveV2Resolver__factory; } });
30
+ var AaveV3Resolver__factory_1 = require("./factories/AaveV3Resolver__factory");
31
+ Object.defineProperty(exports, "AaveV3Resolver__factory", { enumerable: true, get: function () { return AaveV3Resolver__factory_1.AaveV3Resolver__factory; } });
32
+ var BalanceResolver__factory_1 = require("./factories/BalanceResolver__factory");
33
+ Object.defineProperty(exports, "BalanceResolver__factory", { enumerable: true, get: function () { return BalanceResolver__factory_1.BalanceResolver__factory; } });
28
34
  var Erc20__factory_1 = require("./factories/Erc20__factory");
29
35
  Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
30
36
  var GnosisSafe__factory_1 = require("./factories/GnosisSafe__factory");
31
37
  Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
38
+ var InstList__factory_1 = require("./factories/InstList__factory");
39
+ Object.defineProperty(exports, "InstList__factory", { enumerable: true, get: function () { return InstList__factory_1.InstList__factory; } });
32
40
  var InteropX__factory_1 = require("./factories/InteropX__factory");
33
41
  Object.defineProperty(exports, "InteropX__factory", { enumerable: true, get: function () { return InteropX__factory_1.InteropX__factory; } });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.asyncCallWithTimeout = void 0;
4
+ /**
5
+ * Call an async function with a maximum time limit (in milliseconds) for the timeout
6
+ * Resolved promise for async function call, or an error if time limit reached
7
+ */
8
+ const asyncCallWithTimeout = async (asyncPromise, timeout) => {
9
+ let timeoutHandle;
10
+ const timeoutPromise = new Promise((_resolve, reject) => {
11
+ timeoutHandle = setTimeout(() => reject(new Error("Async call timeout limit reached")), timeout);
12
+ });
13
+ return Promise.race([asyncPromise, timeoutPromise]).then((result) => {
14
+ clearTimeout(timeoutHandle);
15
+ return result;
16
+ });
17
+ };
18
+ exports.asyncCallWithTimeout = asyncCallWithTimeout;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDsaAccountAddress = exports.encodeConnectorMethod = void 0;
7
+ const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
8
+ const connectors_1 = require("@/abi/connectors");
9
+ const web3_1 = require("./web3");
10
+ const constants_1 = require("@/constants");
11
+ const abi_1 = __importDefault(require("@/abi"));
12
+ const providers_1 = require("@/providers");
13
+ const encodeConnectorMethod = (params) => {
14
+ const connectorInterface = getInterface(connectors_1.connectors.versions[2][params.connector], params.method);
15
+ if (!connectorInterface)
16
+ throw new Error(`ConnectorInterface '${params.method}' not found`);
17
+ //@ts-ignore
18
+ return web3_eth_abi_1.default.encodeFunctionCall(connectorInterface, params.args);
19
+ };
20
+ exports.encodeConnectorMethod = encodeConnectorMethod;
21
+ const getInterface = (abiItems, method) => {
22
+ const abiItem = abiItems.find((abiItem) => abiItem.name === method);
23
+ if (!abiItem) {
24
+ console.error(`${method} is an invalid method.`);
25
+ return;
26
+ }
27
+ return abiItem;
28
+ };
29
+ const getDsaAccountAddress = async ({ dsaId, chainId, provider = null, }) => {
30
+ if (!dsaId)
31
+ throw new Error("DSA id is required");
32
+ provider = provider || new providers_1.JsonRpcRetryProvider((0, web3_1.getRpcProviderUrl)(chainId));
33
+ const instListContract = (0, web3_1.getContract)(constants_1.addresses[chainId].instList, abi_1.default.instList, provider);
34
+ return await instListContract.accountAddr(dsaId);
35
+ };
36
+ exports.getDsaAccountAddress = getDsaAccountAddress;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExplorerUrl = exports.getChainIdNativeSymbol = exports.chainIdToName = exports.short = exports.shortenHash = exports.formatUsd = void 0;
4
+ const locale = "en-US";
5
+ function formatUsd(value, fractionDigits = 0) {
6
+ const formatter = new Intl.NumberFormat(locale, {
7
+ style: "currency",
8
+ currency: "USD",
9
+ minimumFractionDigits: fractionDigits,
10
+ maximumFractionDigits: fractionDigits
11
+ });
12
+ return formatter.format(value);
13
+ }
14
+ exports.formatUsd = formatUsd;
15
+ function shortenHash(hash, length = 4) {
16
+ if (!hash)
17
+ return;
18
+ if (hash.length < 12)
19
+ return hash;
20
+ const beginningChars = hash.startsWith("0x") ? length + 2 : length;
21
+ const shortened = hash.substr(0, beginningChars) + "…" + hash.substr(-length);
22
+ return shortened;
23
+ }
24
+ exports.shortenHash = shortenHash;
25
+ function short(buffer) {
26
+ return buffer.toString("hex").slice(0, 8) + "...";
27
+ }
28
+ exports.short = short;
29
+ const chainIdToName = (chainId) => {
30
+ switch (String(chainId)) {
31
+ case "1":
32
+ return "Mainnet";
33
+ case "137":
34
+ return "Polygon";
35
+ case "43114":
36
+ return "Avalanche";
37
+ default:
38
+ return "Mainnet";
39
+ }
40
+ };
41
+ exports.chainIdToName = chainIdToName;
42
+ const getChainIdNativeSymbol = (chainId) => {
43
+ switch (String(chainId)) {
44
+ case "137":
45
+ return "MATIC";
46
+ case "43114":
47
+ return "AVAX";
48
+ case "1":
49
+ return "ETH";
50
+ default:
51
+ return "ETH";
52
+ }
53
+ };
54
+ exports.getChainIdNativeSymbol = getChainIdNativeSymbol;
55
+ const getExplorerUrl = (chainId, suffix = '/') => {
56
+ switch (String(chainId)) {
57
+ case "1":
58
+ return `https://etherscan.io${suffix}`;
59
+ case "137":
60
+ return `https://polygonscan.com${suffix}`;
61
+ case "43114":
62
+ return `https://snowtrace.io${suffix}`;
63
+ default:
64
+ return `https://etherscan.io${suffix}`;
65
+ }
66
+ };
67
+ exports.getExplorerUrl = getExplorerUrl;