@instadapp/interop-x 0.0.0-dev.e916c22 → 0.0.0-dev.ea4acf6

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