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