Siloed Borrowing
This feature allow assets with potentially manipulatable oracles (for example illiquid Uni V3 pairs) to be listed on SparkLend as single borrow asset i.e. if user borrows siloed asset, they cannot borrow any other asset. This helps mitigating the risk associated with such assets from impacting the overall solvency of the protocol.
Supply Siloed Assets
A user can supply S_iloed Asset_ just like any other asset using supply()
method in pool.sol
, though, the asset will not be enabled to use as collateral i.e. supplied amount will not add to total collateral balance of the user.
Borrow Siloed Assets
User can borrow Siloed Assets using borrow()
method in pool.sol
, only if:
- It is first borrow onBehalf of the address
OR
- Existing user debt is of the same siloed asset.
To check if user is in Siloed Borrowing state, you can see if underlying asset borrowed by user is s_iloed_ using getSiloedBorrowing()
method on AaveDataProvider.sol.
Check if Reserved for Siloed Borrowing
import {AaveProtocolDataProvider} from '@aave/core-v3/contracts/misc/AaveProtocolDataProvider.sol';
AaveProtocolDataProvider poolDataProvider = AaveProtocolDataProvider(provider.getPoolDataProvider());
// address of the underlying asset
address asset = "0x...";
protocolDataProvider.getSiloedBorrowing(asset);
FAQ
How can user enter siloed borrowing state?
User automatically enters siloed borrowing state on their first successful borrow of siloed asset.
How does user exit siloed borrowing state?
User must repay all their debt to exist siloed borrowing state.