Notes
- Each Silo is an isolated two-asset market — risk from one market cannot spread to others
collateralOnly = truegives higher LTV but your deposit cannot be lent out to borrowers- Use
SiloRepository.getSilo(assetAddress)to find the Silo contract for any asset - The SiloRepository address differs on Ethereum and Arbitrum
- All deposit/repay operations require ERC-20 approval
Its names in a program
On Ethereum,Silo is a namespace: its contracts need no import.
Deployments
ABI
SiloABI
import SiloABI from "./protocols/silo/SiloABI.json";
deposit(address asset, uint256 amount, bool collateralOnly) returns (uint256 collateralAmount, uint256 collateralShare)withdraw(address asset, uint256 amount, bool collateralOnly) returns (uint256 withdrawnAmount, uint256 withdrawnShare)borrow(address asset, uint256 amount) returns (uint256 debtAmount, uint256 debtShare)repay(address asset, uint256 amount) returns (uint256 repaidAmount, uint256 repaidShare)
SiloRepositoryABI
import SiloRepositoryABI from "./protocols/silo/SiloRepositoryABI.json"; Speaks for: siloRepository.
getSilo(address asset) view returns (address silo)
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
