Aave V3 protocol wrappers for Elixir -- pool reads/writes, oracle, math, and type structs. Built on onchain.
def deps do
[
{:onchain, "~> 0.8"},
{:onchain_aave, "~> 0.2"}
]
end| Module | Purpose |
|---|---|
Onchain.Aave.Pool |
Pool read + write calls (getUserAccountData, supply, borrow, repay; get_user_account_data_many batches many users via Multicall3) |
Onchain.Aave.Oracle |
Asset price oracle + Chainlink |
Onchain.Aave.Math |
USD conversion, LTV, health factor, ray math |
Onchain.Aave.Math.V4 |
Aave V4 ray/wad math (cross-validated against revm) |
Onchain.Aave.DebtToken |
Variable/stable debt-token credit delegation (approveDelegation, borrowAllowance) |
Onchain.Aave.Contracts |
Verified address registry (mainnet + multi-chain, V3 + V4) |
Onchain.Aave.UiPoolDataProvider |
Reserves and user reserves data |
Onchain.Aave.Faucet |
Testnet faucet interactions (mint test tokens) |
All modules use descripex for self-describing APIs:
OnchainAave.describe() # Module overview
OnchainAave.describe(:pool) # Function listings
OnchainAave.describe(:pool, :supply) # Full function detailsRequires an Ethereum JSON-RPC endpoint, configured via onchain/cartouche:
config :cartouche, :ethereum_node, "https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY"Or pass :rpc_url per-call to any function.