@defisaver/positions-sdk 2.1.96 → 2.1.98-aave-v4-apy-1
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.
- package/.mocharc.json +4 -4
- package/.nvmrc +1 -1
- package/README.md +64 -64
- package/cjs/aaveV3/index.js +3 -3
- package/cjs/aaveV4/index.js +2 -0
- package/cjs/config/contracts.d.ts +61 -1
- package/cjs/config/contracts.js +2 -2
- package/cjs/contracts.d.ts +2963 -82
- package/cjs/helpers/aaveV4Helpers/index.d.ts +11 -1
- package/cjs/helpers/aaveV4Helpers/index.js +59 -1
- package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
- package/cjs/savings/morphoVaults/index.js +17 -17
- package/cjs/services/utils.d.ts +1 -1
- package/cjs/services/utils.js +2 -1
- package/cjs/types/aaveV4.d.ts +2 -0
- package/esm/aaveV3/index.js +3 -3
- package/esm/aaveV4/index.js +2 -0
- package/esm/config/contracts.d.ts +61 -1
- package/esm/config/contracts.js +2 -2
- package/esm/contracts.d.ts +2963 -82
- package/esm/helpers/aaveV4Helpers/index.d.ts +11 -1
- package/esm/helpers/aaveV4Helpers/index.js +57 -0
- package/esm/helpers/morphoBlueHelpers/index.js +66 -66
- package/esm/savings/morphoVaults/index.js +17 -17
- package/esm/services/utils.d.ts +1 -1
- package/esm/services/utils.js +2 -1
- package/esm/types/aaveV4.d.ts +2 -0
- package/package.json +48 -48
- package/src/aaveV2/index.ts +240 -240
- package/src/aaveV3/index.ts +634 -634
- package/src/aaveV3/merit.ts +97 -97
- package/src/aaveV3/merkl.ts +74 -74
- package/src/aaveV4/index.ts +238 -236
- package/src/aaveV4/lend.ts +185 -185
- package/src/claiming/aaveV3.ts +154 -154
- package/src/claiming/compV3.ts +22 -22
- package/src/claiming/ethena.ts +61 -61
- package/src/claiming/index.ts +12 -12
- package/src/claiming/king.ts +66 -66
- package/src/claiming/morphoBlue.ts +118 -118
- package/src/claiming/spark.ts +225 -225
- package/src/compoundV2/index.ts +245 -245
- package/src/compoundV3/index.ts +280 -280
- package/src/config/contracts.ts +1357 -1357
- package/src/constants/index.ts +10 -10
- package/src/contracts.ts +183 -183
- package/src/curveUsd/index.ts +254 -254
- package/src/eulerV2/index.ts +330 -330
- package/src/exchange/index.ts +25 -25
- package/src/fluid/index.ts +1800 -1800
- package/src/helpers/aaveHelpers/index.ts +203 -203
- package/src/helpers/aaveV4Helpers/index.ts +350 -291
- package/src/helpers/compoundHelpers/index.ts +280 -280
- package/src/helpers/curveUsdHelpers/index.ts +44 -44
- package/src/helpers/eulerHelpers/index.ts +230 -230
- package/src/helpers/fluidHelpers/index.ts +338 -338
- package/src/helpers/index.ts +11 -11
- package/src/helpers/liquityV2Helpers/index.ts +85 -85
- package/src/helpers/llamaLendHelpers/index.ts +56 -56
- package/src/helpers/makerHelpers/index.ts +52 -52
- package/src/helpers/morphoBlueHelpers/index.ts +406 -406
- package/src/helpers/sparkHelpers/index.ts +170 -170
- package/src/index.ts +51 -51
- package/src/liquity/index.ts +161 -161
- package/src/liquityV2/index.ts +703 -703
- package/src/llamaLend/index.ts +305 -305
- package/src/maker/index.ts +225 -225
- package/src/markets/aave/index.ts +118 -118
- package/src/markets/aave/marketAssets.ts +54 -54
- package/src/markets/aaveV4/index.ts +191 -191
- package/src/markets/compound/index.ts +243 -243
- package/src/markets/compound/marketsAssets.ts +97 -97
- package/src/markets/curveUsd/index.ts +69 -69
- package/src/markets/euler/index.ts +26 -26
- package/src/markets/fluid/index.ts +2900 -2900
- package/src/markets/index.ts +29 -29
- package/src/markets/liquityV2/index.ts +102 -102
- package/src/markets/llamaLend/contractAddresses.ts +141 -141
- package/src/markets/llamaLend/index.ts +235 -235
- package/src/markets/morphoBlue/index.ts +1370 -1370
- package/src/markets/spark/index.ts +29 -29
- package/src/markets/spark/marketAssets.ts +12 -12
- package/src/moneymarket/moneymarketCommonService.ts +91 -91
- package/src/morphoBlue/index.ts +274 -274
- package/src/portfolio/index.ts +606 -606
- package/src/savings/index.ts +111 -111
- package/src/savings/makerDsr/index.ts +53 -53
- package/src/savings/makerDsr/options.ts +9 -9
- package/src/savings/morphoVaults/index.ts +80 -80
- package/src/savings/morphoVaults/options.ts +193 -193
- package/src/savings/skyOptions/index.ts +95 -95
- package/src/savings/skyOptions/options.ts +10 -10
- package/src/savings/sparkSavingsVaults/index.ts +60 -60
- package/src/savings/sparkSavingsVaults/options.ts +35 -35
- package/src/savings/summerVaults/index.ts +56 -56
- package/src/savings/summerVaults/options.ts +117 -117
- package/src/savings/yearnV3Vaults/index.ts +61 -61
- package/src/savings/yearnV3Vaults/options.ts +55 -55
- package/src/savings/yearnVaults/index.ts +73 -73
- package/src/savings/yearnVaults/options.ts +32 -32
- package/src/services/priceService.ts +278 -278
- package/src/services/utils.ts +122 -117
- package/src/services/viem.ts +57 -57
- package/src/setup.ts +8 -8
- package/src/spark/index.ts +460 -460
- package/src/staking/eligibility.ts +105 -105
- package/src/staking/index.ts +1 -1
- package/src/staking/staking.ts +201 -201
- package/src/types/aave.ts +200 -200
- package/src/types/aaveV4.ts +179 -177
- package/src/types/claiming.ts +114 -114
- package/src/types/common.ts +117 -117
- package/src/types/compound.ts +147 -147
- package/src/types/curveUsd.ts +125 -125
- package/src/types/euler.ts +177 -177
- package/src/types/fluid.ts +486 -486
- package/src/types/index.ts +16 -16
- package/src/types/liquity.ts +31 -31
- package/src/types/liquityV2.ts +130 -130
- package/src/types/llamaLend.ts +163 -163
- package/src/types/maker.ts +64 -64
- package/src/types/merit.ts +1 -1
- package/src/types/merkl.ts +70 -70
- package/src/types/morphoBlue.ts +228 -228
- package/src/types/portfolio.ts +64 -64
- package/src/types/savings/index.ts +25 -25
- package/src/types/savings/makerDsr.ts +13 -13
- package/src/types/savings/morphoVaults.ts +32 -32
- package/src/types/savings/sky.ts +14 -14
- package/src/types/savings/sparkSavingsVaults.ts +15 -15
- package/src/types/savings/summerVaults.ts +24 -24
- package/src/types/savings/yearnV3Vaults.ts +17 -17
- package/src/types/savings/yearnVaults.ts +14 -14
- package/src/types/spark.ts +136 -136
- package/src/umbrella/index.ts +69 -69
- package/src/umbrella/umbrellaUtils.ts +29 -29
package/.mocharc.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{
|
|
2
|
-
"require": "ts-node/register",
|
|
3
|
-
"extension": ["ts"]
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"require": "ts-node/register",
|
|
3
|
+
"extension": ["ts"]
|
|
4
|
+
}
|
package/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v20.17.0
|
|
1
|
+
v20.17.0
|
package/README.md
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
# DeFi Saver Positions SDK
|
|
2
|
-
|
|
3
|
-
Supported protocols:
|
|
4
|
-
- [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
|
|
5
|
-
- [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
|
|
6
|
-
- [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
|
|
7
|
-
- [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
|
|
8
|
-
- [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
|
|
9
|
-
- [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
|
|
10
|
-
- [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
|
|
11
|
-
- [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
|
|
12
|
-
|
|
13
|
-
## Setup
|
|
14
|
-
Supported Node version is v10.
|
|
15
|
-
|
|
16
|
-
- run `npm install` (first time)
|
|
17
|
-
- run `npm run build`
|
|
18
|
-
|
|
19
|
-
`build` command will generate contracts and build ejs and esm folders
|
|
20
|
-
|
|
21
|
-
## How to use
|
|
22
|
-
[All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
|
|
23
|
-
|
|
24
|
-
This is a Compound V3 example, and every other protocol is similar
|
|
25
|
-
```js
|
|
26
|
-
import { compoundV3 } from '@defisaver/positions-sdk';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// every protocol has market data and user data getters
|
|
30
|
-
const {
|
|
31
|
-
getCompoundV3MarketsData,
|
|
32
|
-
getCompoundV3AccountData,
|
|
33
|
-
} = compoundV3;
|
|
34
|
-
|
|
35
|
-
const provider = 'Your RPC provider';
|
|
36
|
-
|
|
37
|
-
const user = '0x123...';
|
|
38
|
-
|
|
39
|
-
const { assetsData } = await getCompoundV3MarketsData(
|
|
40
|
-
provider, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
|
|
41
|
-
1, // network
|
|
42
|
-
selectedMarket, // market object like in /src/markets/compound/index.ts
|
|
43
|
-
provider, // this must be mainnet rpc - used for getting prices onchain and calculating apys
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
const userData = await getCompoundV3AccountData(
|
|
47
|
-
provider,
|
|
48
|
-
1, // network
|
|
49
|
-
userAddress, // EOA or DSProxy
|
|
50
|
-
'', // proxy address of the user, or just empty string if checking for EOA
|
|
51
|
-
{
|
|
52
|
-
selectedMarket, // market object as in /src/markets/compound/index.ts
|
|
53
|
-
assetsData,
|
|
54
|
-
}
|
|
55
|
-
);
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
|
|
59
|
-
|
|
60
|
-
## Testing
|
|
61
|
-
|
|
62
|
-
`npm run test` - Run all tests
|
|
63
|
-
|
|
64
|
-
`npm run test-single --name=your_test_name` - Run single test for specified name e.g. for MyTest.js test name is MyTest
|
|
1
|
+
# DeFi Saver Positions SDK
|
|
2
|
+
|
|
3
|
+
Supported protocols:
|
|
4
|
+
- [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
|
|
5
|
+
- [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
|
|
6
|
+
- [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
|
|
7
|
+
- [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
|
|
8
|
+
- [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
|
|
9
|
+
- [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
|
|
10
|
+
- [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
|
|
11
|
+
- [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
|
|
12
|
+
|
|
13
|
+
## Setup
|
|
14
|
+
Supported Node version is v10.
|
|
15
|
+
|
|
16
|
+
- run `npm install` (first time)
|
|
17
|
+
- run `npm run build`
|
|
18
|
+
|
|
19
|
+
`build` command will generate contracts and build ejs and esm folders
|
|
20
|
+
|
|
21
|
+
## How to use
|
|
22
|
+
[All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
|
|
23
|
+
|
|
24
|
+
This is a Compound V3 example, and every other protocol is similar
|
|
25
|
+
```js
|
|
26
|
+
import { compoundV3 } from '@defisaver/positions-sdk';
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
// every protocol has market data and user data getters
|
|
30
|
+
const {
|
|
31
|
+
getCompoundV3MarketsData,
|
|
32
|
+
getCompoundV3AccountData,
|
|
33
|
+
} = compoundV3;
|
|
34
|
+
|
|
35
|
+
const provider = 'Your RPC provider';
|
|
36
|
+
|
|
37
|
+
const user = '0x123...';
|
|
38
|
+
|
|
39
|
+
const { assetsData } = await getCompoundV3MarketsData(
|
|
40
|
+
provider, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
|
|
41
|
+
1, // network
|
|
42
|
+
selectedMarket, // market object like in /src/markets/compound/index.ts
|
|
43
|
+
provider, // this must be mainnet rpc - used for getting prices onchain and calculating apys
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const userData = await getCompoundV3AccountData(
|
|
47
|
+
provider,
|
|
48
|
+
1, // network
|
|
49
|
+
userAddress, // EOA or DSProxy
|
|
50
|
+
'', // proxy address of the user, or just empty string if checking for EOA
|
|
51
|
+
{
|
|
52
|
+
selectedMarket, // market object as in /src/markets/compound/index.ts
|
|
53
|
+
assetsData,
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
|
|
59
|
+
|
|
60
|
+
## Testing
|
|
61
|
+
|
|
62
|
+
`npm run test` - Run all tests
|
|
63
|
+
|
|
64
|
+
`npm run test-single --name=your_test_name` - Run single test for specified name e.g. for MyTest.js test name is MyTest
|
package/cjs/aaveV3/index.js
CHANGED
|
@@ -109,11 +109,11 @@ function _getAaveV3MarketData(provider_1, network_1, market_1) {
|
|
|
109
109
|
const symbol = market.assets[i];
|
|
110
110
|
// eslint-disable-next-line guard-for-in
|
|
111
111
|
for (const eModeIndex in eModeCategoriesData) {
|
|
112
|
-
if ((0, utils_1.isEnabledOnBitmap)(
|
|
112
|
+
if ((0, utils_1.isEnabledOnBitmap)(eModeCategoriesData[eModeIndex].collateralBitmap, Number(tokenMarket.assetId)))
|
|
113
113
|
eModeCategoriesData[eModeIndex].collateralAssets.push(symbol);
|
|
114
|
-
if ((0, utils_1.isEnabledOnBitmap)(
|
|
114
|
+
if ((0, utils_1.isEnabledOnBitmap)(eModeCategoriesData[eModeIndex].borrowableBitmap, Number(tokenMarket.assetId)))
|
|
115
115
|
eModeCategoriesData[eModeIndex].borrowAssets.push(symbol);
|
|
116
|
-
if ((0, utils_1.isEnabledOnBitmap)(
|
|
116
|
+
if ((0, utils_1.isEnabledOnBitmap)(eModeCategoriesData[eModeIndex].ltvzeroBitmap, Number(tokenMarket.assetId)))
|
|
117
117
|
eModeCategoriesData[eModeIndex].ltvZeroAssets.push(symbol);
|
|
118
118
|
}
|
|
119
119
|
const borrowCap = tokenMarket.borrowCap.toString();
|
package/cjs/aaveV4/index.js
CHANGED
|
@@ -165,6 +165,8 @@ const formatReserveAsset = (reserveAsset, hubAsset, reserveId, oracleDecimals, n
|
|
|
165
165
|
canBePayBacked: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
166
166
|
utilization,
|
|
167
167
|
hubLiquidity,
|
|
168
|
+
premiumMultiplier: premiumMultiplier.toString(),
|
|
169
|
+
liquidityFee: liquidityFee.toString(),
|
|
168
170
|
});
|
|
169
171
|
});
|
|
170
172
|
function _getAaveV4SpokeData(provider_1, network_1, market_1) {
|
|
@@ -97696,6 +97696,66 @@ export declare const YearnV3Vault: {
|
|
|
97696
97696
|
};
|
|
97697
97697
|
export declare const AaveV4View: {
|
|
97698
97698
|
readonly abi: readonly [{
|
|
97699
|
+
readonly inputs: readonly [{
|
|
97700
|
+
readonly internalType: "address";
|
|
97701
|
+
readonly name: "_spoke";
|
|
97702
|
+
readonly type: "address";
|
|
97703
|
+
}, {
|
|
97704
|
+
readonly components: readonly [{
|
|
97705
|
+
readonly internalType: "uint256";
|
|
97706
|
+
readonly name: "reserveId";
|
|
97707
|
+
readonly type: "uint256";
|
|
97708
|
+
}, {
|
|
97709
|
+
readonly internalType: "uint256";
|
|
97710
|
+
readonly name: "liquidityAdded";
|
|
97711
|
+
readonly type: "uint256";
|
|
97712
|
+
}, {
|
|
97713
|
+
readonly internalType: "uint256";
|
|
97714
|
+
readonly name: "liquidityTaken";
|
|
97715
|
+
readonly type: "uint256";
|
|
97716
|
+
}, {
|
|
97717
|
+
readonly internalType: "bool";
|
|
97718
|
+
readonly name: "isDebtAsset";
|
|
97719
|
+
readonly type: "bool";
|
|
97720
|
+
}];
|
|
97721
|
+
readonly internalType: "struct AaveV4View.LiquidityChangeParams[]";
|
|
97722
|
+
readonly name: "_reserveParams";
|
|
97723
|
+
readonly type: "tuple[]";
|
|
97724
|
+
}];
|
|
97725
|
+
readonly name: "getApyAfterValuesEstimation";
|
|
97726
|
+
readonly outputs: readonly [{
|
|
97727
|
+
readonly components: readonly [{
|
|
97728
|
+
readonly internalType: "uint256";
|
|
97729
|
+
readonly name: "reserveId";
|
|
97730
|
+
readonly type: "uint256";
|
|
97731
|
+
}, {
|
|
97732
|
+
readonly internalType: "uint256";
|
|
97733
|
+
readonly name: "hubDrawnRateEstimation";
|
|
97734
|
+
readonly type: "uint256";
|
|
97735
|
+
}, {
|
|
97736
|
+
readonly internalType: "uint256";
|
|
97737
|
+
readonly name: "hubTotalDrawnEstimation";
|
|
97738
|
+
readonly type: "uint256";
|
|
97739
|
+
}, {
|
|
97740
|
+
readonly internalType: "uint256";
|
|
97741
|
+
readonly name: "hubTotalLiquidityEstimation";
|
|
97742
|
+
readonly type: "uint256";
|
|
97743
|
+
}, {
|
|
97744
|
+
readonly internalType: "uint256";
|
|
97745
|
+
readonly name: "hubSwept";
|
|
97746
|
+
readonly type: "uint256";
|
|
97747
|
+
}, {
|
|
97748
|
+
readonly internalType: "uint16";
|
|
97749
|
+
readonly name: "liquidityFee";
|
|
97750
|
+
readonly type: "uint16";
|
|
97751
|
+
}];
|
|
97752
|
+
readonly internalType: "struct AaveV4View.EstimatedRates[]";
|
|
97753
|
+
readonly name: "";
|
|
97754
|
+
readonly type: "tuple[]";
|
|
97755
|
+
}];
|
|
97756
|
+
readonly stateMutability: "view";
|
|
97757
|
+
readonly type: "function";
|
|
97758
|
+
}, {
|
|
97699
97759
|
readonly inputs: readonly [{
|
|
97700
97760
|
readonly internalType: "address";
|
|
97701
97761
|
readonly name: "_eoa";
|
|
@@ -99241,7 +99301,7 @@ export declare const AaveV4View: {
|
|
|
99241
99301
|
}];
|
|
99242
99302
|
readonly networks: {
|
|
99243
99303
|
readonly "1": {
|
|
99244
|
-
readonly address: "
|
|
99304
|
+
readonly address: "0xeCa884900ccC0481F1b65707a80eb294d1245F68";
|
|
99245
99305
|
};
|
|
99246
99306
|
};
|
|
99247
99307
|
};
|
package/cjs/config/contracts.js
CHANGED
|
@@ -1351,10 +1351,10 @@ exports.YearnV3Vault = {
|
|
|
1351
1351
|
"abi": [{ "stateMutability": "view", "type": "function", "name": "balanceOf", "inputs": [{ "name": "addr", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }] }, { "stateMutability": "view", "type": "function", "name": "totalAssets", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }] }, { "stateMutability": "view", "type": "function", "name": "totalDebt", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }] }, { "stateMutability": "view", "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }] }]
|
|
1352
1352
|
};
|
|
1353
1353
|
exports.AaveV4View = {
|
|
1354
|
-
"abi": [{ "inputs": [{ "internalType": "address", "name": "_eoa", "type": "address" }, { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getEOAApprovalsAndBalances", "outputs": [{ "components": [{ "internalType": "address", "name": "eoa", "type": "address" }, { "internalType": "address", "name": "proxy", "type": "address" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "giverPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "takerPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "configPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "canSetUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "canUpdateUserRiskPremium", "type": "bool" }, { "internalType": "bool", "name": "canUpdateUserDynamicConfig", "type": "bool" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "delegateeBorrowApproval", "type": "uint256" }, { "internalType": "uint256", "name": "delegateeWithdrawApproval", "type": "uint256" }, { "internalType": "uint256", "name": "eoaReserveBalance", "type": "uint256" }], "internalType": "struct AaveV4View.EOAReserveApprovalData[]", "name": "reserveApprovals", "type": "tuple[]" }], "internalType": "struct AaveV4View.EOAApprovalData", "name": "data", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getHealthFactor", "outputs": [{ "internalType": "uint256", "name": "healthFactor", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }], "name": "getHubAllAssetsData", "outputs": [{ "components": [{ "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawnShares", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremiumShares", "type": "uint256" }, { "internalType": "uint256", "name": "swept", "type": "uint256" }, { "internalType": "uint16", "name": "liquidityFee", "type": "uint16" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "address", "name": "irStrategy", "type": "address" }, { "internalType": "address", "name": "reinvestmentController", "type": "address" }, { "internalType": "address", "name": "feeReceiver", "type": "address" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.HubAssetData[]", "name": "hubAssetData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }, { "internalType": "uint256", "name": "_assetId", "type": "uint256" }], "name": "getHubAssetData", "outputs": [{ "components": [{ "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawnShares", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremiumShares", "type": "uint256" }, { "internalType": "uint256", "name": "swept", "type": "uint256" }, { "internalType": "uint16", "name": "liquidityFee", "type": "uint16" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "address", "name": "irStrategy", "type": "address" }, { "internalType": "address", "name": "reinvestmentController", "type": "address" }, { "internalType": "address", "name": "feeReceiver", "type": "address" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.HubAssetData", "name": "hubAssetData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getLoanData", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData", "name": "loanData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address[]", "name": "_spokes", "type": "address[]" }], "name": "getLoanDataForMultipleSpokes", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData[]", "name": "loans", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address[]", "name": "_users", "type": "address[]" }], "name": "getLoanDataForMultipleUsers", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData[]", "name": "loans", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getLoanDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }, { "internalType": "bool", "name": "reservePaused", "type": "bool" }, { "internalType": "bool", "name": "reserveFrozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "userSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "userDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "userPremium", "type": "uint256" }, { "internalType": "uint256", "name": "userTotalDebt", "type": "uint256" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "userCollateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "userMaxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "userLiquidationFee", "type": "uint16" }, { "internalType": "uint16", "name": "latestCollateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "latestMaxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "latestLiquidationFee", "type": "uint16" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "hubAssetId", "type": "uint16" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint256", "name": "spokeTotalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "spokeSupplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeBorrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeDeficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.UserReserveDataFull[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanDataWithFullReserves", "name": "loanData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReserveData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData", "name": "reserveData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReserveDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull", "name": "reserveData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReservePrice", "outputs": [{ "internalType": "uint256", "name": "price", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservePrices", "outputs": [{ "internalType": "uint256[]", "name": "prices", "type": "uint256[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservesData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData[]", "name": "reserveData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservesDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull[]", "name": "reserveData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getSpokeData", "outputs": [{ "components": [{ "internalType": "uint128", "name": "targetHealthFactor", "type": "uint128" }, { "internalType": "uint64", "name": "healthFactorForMaxBonus", "type": "uint64" }, { "internalType": "uint16", "name": "liquidationBonusFactor", "type": "uint16" }, { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint256", "name": "oracleDecimals", "type": "uint256" }, { "internalType": "uint256", "name": "reserveCount", "type": "uint256" }], "internalType": "struct AaveV4View.SpokeData", "name": "spokeData", "type": "tuple" }, { "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData[]", "name": "reserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getSpokeDataFull", "outputs": [{ "components": [{ "internalType": "uint128", "name": "targetHealthFactor", "type": "uint128" }, { "internalType": "uint64", "name": "healthFactorForMaxBonus", "type": "uint64" }, { "internalType": "uint16", "name": "liquidationBonusFactor", "type": "uint16" }, { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint256", "name": "oracleDecimals", "type": "uint256" }, { "internalType": "uint256", "name": "reserveCount", "type": "uint256" }], "internalType": "struct AaveV4View.SpokeData", "name": "spokeData", "type": "tuple" }, { "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull[]", "name": "reserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }, { "internalType": "uint256", "name": "_assetId", "type": "uint256" }], "name": "getSpokesForAsset", "outputs": [{ "internalType": "address[]", "name": "spokes", "type": "address[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getTokenizationSpokeData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlyingAsset", "type": "address" }, { "internalType": "uint256", "name": "assetId", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "spokeDepositCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalAssets", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalShares", "type": "uint256" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "hubDrawnRate", "type": "uint96" }, { "internalType": "uint256", "name": "convertToShares", "type": "uint256" }, { "internalType": "uint256", "name": "convertToAssets", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "userSuppliedAssets", "type": "uint256" }, { "internalType": "uint256", "name": "userSuppliedShares", "type": "uint256" }], "internalType": "struct AaveV4View.TokenizationSpokeData", "name": "spokeData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address[]", "name": "_spokes", "type": "address[]" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getTokenizationSpokesData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlyingAsset", "type": "address" }, { "internalType": "uint256", "name": "assetId", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "spokeDepositCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalAssets", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalShares", "type": "uint256" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "hubDrawnRate", "type": "uint96" }, { "internalType": "uint256", "name": "convertToShares", "type": "uint256" }, { "internalType": "uint256", "name": "convertToAssets", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "userSuppliedAssets", "type": "uint256" }, { "internalType": "uint256", "name": "userSuppliedShares", "type": "uint256" }], "internalType": "struct AaveV4View.TokenizationSpokeData[]", "name": "spokeData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getUserReserveData", "outputs": [{ "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "_userReserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }],
|
|
1354
|
+
"abi": [{ "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityAdded", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityTaken", "type": "uint256" }, { "internalType": "bool", "name": "isDebtAsset", "type": "bool" }], "internalType": "struct AaveV4View.LiquidityChangeParams[]", "name": "_reserveParams", "type": "tuple[]" }], "name": "getApyAfterValuesEstimation", "outputs": [{ "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint256", "name": "hubDrawnRateEstimation", "type": "uint256" }, { "internalType": "uint256", "name": "hubTotalDrawnEstimation", "type": "uint256" }, { "internalType": "uint256", "name": "hubTotalLiquidityEstimation", "type": "uint256" }, { "internalType": "uint256", "name": "hubSwept", "type": "uint256" }, { "internalType": "uint16", "name": "liquidityFee", "type": "uint16" }], "internalType": "struct AaveV4View.EstimatedRates[]", "name": "", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_eoa", "type": "address" }, { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getEOAApprovalsAndBalances", "outputs": [{ "components": [{ "internalType": "address", "name": "eoa", "type": "address" }, { "internalType": "address", "name": "proxy", "type": "address" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "giverPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "takerPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "configPositionManagerEnabled", "type": "bool" }, { "internalType": "bool", "name": "canSetUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "canUpdateUserRiskPremium", "type": "bool" }, { "internalType": "bool", "name": "canUpdateUserDynamicConfig", "type": "bool" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "delegateeBorrowApproval", "type": "uint256" }, { "internalType": "uint256", "name": "delegateeWithdrawApproval", "type": "uint256" }, { "internalType": "uint256", "name": "eoaReserveBalance", "type": "uint256" }], "internalType": "struct AaveV4View.EOAReserveApprovalData[]", "name": "reserveApprovals", "type": "tuple[]" }], "internalType": "struct AaveV4View.EOAApprovalData", "name": "data", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getHealthFactor", "outputs": [{ "internalType": "uint256", "name": "healthFactor", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }], "name": "getHubAllAssetsData", "outputs": [{ "components": [{ "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawnShares", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremiumShares", "type": "uint256" }, { "internalType": "uint256", "name": "swept", "type": "uint256" }, { "internalType": "uint16", "name": "liquidityFee", "type": "uint16" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "address", "name": "irStrategy", "type": "address" }, { "internalType": "address", "name": "reinvestmentController", "type": "address" }, { "internalType": "address", "name": "feeReceiver", "type": "address" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.HubAssetData[]", "name": "hubAssetData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }, { "internalType": "uint256", "name": "_assetId", "type": "uint256" }], "name": "getHubAssetData", "outputs": [{ "components": [{ "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawnShares", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremiumShares", "type": "uint256" }, { "internalType": "uint256", "name": "swept", "type": "uint256" }, { "internalType": "uint16", "name": "liquidityFee", "type": "uint16" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "address", "name": "irStrategy", "type": "address" }, { "internalType": "address", "name": "reinvestmentController", "type": "address" }, { "internalType": "address", "name": "feeReceiver", "type": "address" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.HubAssetData", "name": "hubAssetData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getLoanData", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData", "name": "loanData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address[]", "name": "_spokes", "type": "address[]" }], "name": "getLoanDataForMultipleSpokes", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData[]", "name": "loans", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address[]", "name": "_users", "type": "address[]" }], "name": "getLoanDataForMultipleUsers", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanData[]", "name": "loans", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getLoanDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "riskPremium", "type": "uint256" }, { "internalType": "uint256", "name": "avgCollateralFactor", "type": "uint256" }, { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }, { "internalType": "uint256", "name": "totalCollateralInUsd", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebtInUsdRay", "type": "uint256" }, { "internalType": "uint256", "name": "activeCollateralCount", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCount", "type": "uint256" }, { "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }, { "internalType": "bool", "name": "reservePaused", "type": "bool" }, { "internalType": "bool", "name": "reserveFrozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "userSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "userDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "userPremium", "type": "uint256" }, { "internalType": "uint256", "name": "userTotalDebt", "type": "uint256" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "userCollateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "userMaxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "userLiquidationFee", "type": "uint16" }, { "internalType": "uint16", "name": "latestCollateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "latestMaxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "latestLiquidationFee", "type": "uint16" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "hubAssetId", "type": "uint16" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "drawnRate", "type": "uint96" }, { "internalType": "uint120", "name": "drawnIndex", "type": "uint120" }, { "internalType": "uint256", "name": "spokeTotalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "spokeSupplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeBorrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeDeficitRay", "type": "uint256" }], "internalType": "struct AaveV4View.UserReserveDataFull[]", "name": "reserves", "type": "tuple[]" }], "internalType": "struct AaveV4View.LoanDataWithFullReserves", "name": "loanData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReserveData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData", "name": "reserveData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReserveDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull", "name": "reserveData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256", "name": "_reserveId", "type": "uint256" }], "name": "getReservePrice", "outputs": [{ "internalType": "uint256", "name": "price", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservePrices", "outputs": [{ "internalType": "uint256[]", "name": "prices", "type": "uint256[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservesData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData[]", "name": "reserveData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getReservesDataFull", "outputs": [{ "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull[]", "name": "reserveData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getSpokeData", "outputs": [{ "components": [{ "internalType": "uint128", "name": "targetHealthFactor", "type": "uint128" }, { "internalType": "uint64", "name": "healthFactorForMaxBonus", "type": "uint64" }, { "internalType": "uint16", "name": "liquidationBonusFactor", "type": "uint16" }, { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint256", "name": "oracleDecimals", "type": "uint256" }, { "internalType": "uint256", "name": "reserveCount", "type": "uint256" }], "internalType": "struct AaveV4View.SpokeData", "name": "spokeData", "type": "tuple" }, { "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }], "internalType": "struct AaveV4View.ReserveData[]", "name": "reserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }], "name": "getSpokeDataFull", "outputs": [{ "components": [{ "internalType": "uint128", "name": "targetHealthFactor", "type": "uint128" }, { "internalType": "uint64", "name": "healthFactorForMaxBonus", "type": "uint64" }, { "internalType": "uint16", "name": "liquidationBonusFactor", "type": "uint16" }, { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint256", "name": "oracleDecimals", "type": "uint256" }, { "internalType": "uint256", "name": "reserveCount", "type": "uint256" }], "internalType": "struct AaveV4View.SpokeData", "name": "spokeData", "type": "tuple" }, { "components": [{ "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "frozen", "type": "bool" }, { "internalType": "bool", "name": "borrowable", "type": "bool" }, { "internalType": "uint24", "name": "collateralRisk", "type": "uint24" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupplied", "type": "uint256" }, { "internalType": "uint256", "name": "totalDrawn", "type": "uint256" }, { "internalType": "uint256", "name": "totalPremium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint256", "name": "supplyCap", "type": "uint256" }, { "internalType": "uint256", "name": "borrowCap", "type": "uint256" }, { "internalType": "uint256", "name": "deficitRay", "type": "uint256" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }], "internalType": "struct AaveV4View.ReserveDataFull[]", "name": "reserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_hub", "type": "address" }, { "internalType": "uint256", "name": "_assetId", "type": "uint256" }], "name": "getSpokesForAsset", "outputs": [{ "internalType": "address[]", "name": "spokes", "type": "address[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getTokenizationSpokeData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlyingAsset", "type": "address" }, { "internalType": "uint256", "name": "assetId", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "spokeDepositCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalAssets", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalShares", "type": "uint256" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "hubDrawnRate", "type": "uint96" }, { "internalType": "uint256", "name": "convertToShares", "type": "uint256" }, { "internalType": "uint256", "name": "convertToAssets", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "userSuppliedAssets", "type": "uint256" }, { "internalType": "uint256", "name": "userSuppliedShares", "type": "uint256" }], "internalType": "struct AaveV4View.TokenizationSpokeData", "name": "spokeData", "type": "tuple" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address[]", "name": "_spokes", "type": "address[]" }, { "internalType": "address", "name": "_user", "type": "address" }], "name": "getTokenizationSpokesData", "outputs": [{ "components": [{ "internalType": "address", "name": "underlyingAsset", "type": "address" }, { "internalType": "uint256", "name": "assetId", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "spoke", "type": "address" }, { "internalType": "bool", "name": "spokeActive", "type": "bool" }, { "internalType": "bool", "name": "spokeHalted", "type": "bool" }, { "internalType": "uint256", "name": "spokeDepositCap", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalAssets", "type": "uint256" }, { "internalType": "uint256", "name": "spokeTotalShares", "type": "uint256" }, { "internalType": "address", "name": "hub", "type": "address" }, { "internalType": "uint256", "name": "hubLiquidity", "type": "uint256" }, { "internalType": "uint96", "name": "hubDrawnRate", "type": "uint96" }, { "internalType": "uint256", "name": "convertToShares", "type": "uint256" }, { "internalType": "uint256", "name": "convertToAssets", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "userSuppliedAssets", "type": "uint256" }, { "internalType": "uint256", "name": "userSuppliedShares", "type": "uint256" }], "internalType": "struct AaveV4View.TokenizationSpokeData[]", "name": "spokeData", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_spoke", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256[]", "name": "_reserveIds", "type": "uint256[]" }], "name": "getUserReserveData", "outputs": [{ "components": [{ "internalType": "uint256", "name": "reserveId", "type": "uint256" }, { "internalType": "uint16", "name": "assetId", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "uint256", "name": "supplied", "type": "uint256" }, { "internalType": "uint256", "name": "drawn", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "totalDebt", "type": "uint256" }, { "internalType": "uint16", "name": "collateralFactor", "type": "uint16" }, { "internalType": "uint32", "name": "maxLiquidationBonus", "type": "uint32" }, { "internalType": "uint16", "name": "liquidationFee", "type": "uint16" }, { "internalType": "bool", "name": "isUsingAsCollateral", "type": "bool" }, { "internalType": "bool", "name": "isBorrowing", "type": "bool" }], "internalType": "struct AaveV4View.UserReserveData[]", "name": "_userReserves", "type": "tuple[]" }], "stateMutability": "view", "type": "function" }],
|
|
1355
1355
|
"networks": {
|
|
1356
1356
|
"1": {
|
|
1357
|
-
"address": "
|
|
1357
|
+
"address": "0xeCa884900ccC0481F1b65707a80eb294d1245F68",
|
|
1358
1358
|
}
|
|
1359
1359
|
}
|
|
1360
1360
|
};
|