Skip to content

ZenHive/onchain_aave

OnchainAave

Aave V3 protocol wrappers for Elixir -- pool reads/writes, oracle, math, and type structs. Built on onchain.

Installation

def deps do
  [
    {:onchain, "~> 0.8"},
    {:onchain_aave, "~> 0.2"}
  ]
end

Modules

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)

Discovery

All modules use descripex for self-describing APIs:

OnchainAave.describe()                    # Module overview
OnchainAave.describe(:pool)               # Function listings
OnchainAave.describe(:pool, :supply)      # Full function details

Configuration

Requires 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.

About

Aave V3 protocol wrappers for Elixir — pool reads/writes, oracle, math, and type structs. Built on onchain.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages