@anywalletkit/protocol-lending-ave-evm (英语)
保护 v3 页:1 @anywalletkit/wallet-evm 帐户:供应,
退出、借出(可变利率)并在任何Aave v3市场上偿还
钱包屏幕需要——有利率和上限的储备,账户的健康
要素和借款能力,位置。 执行核心 LendingProtocol
(单位:千美元)supply / withdraw / borrow / repay +引号),类似
@anywalletkit/protocol-lending-mellow-evm 做金库.
安装
npm install @anywalletkit/protocol-lending-aave-evm @anywalletkit/core
# or: pnpm add @anywalletkit/protocol-lending-aave-evm @anywalletkit/core · yarn add @anywalletkit/protocol-lending-aave-evm @anywalletkit/core
时间: @anywalletkit/protocol-lending-ave-evm (英语)发表于 发布工作流程 与出处.
由协议本身的接口( ave- v3- 来源) 和官员编写 地址簿(bgd-labs/ave-address-book);没有Aave SDK,一个依赖(viem).
市场
每艘活生生的Aave v3市场船作为预设(AAVE_MARKETS[chainId][key]:
伊特鲁姆core, (中文(简体) ), lido, (中文(简体) ), etherfi(原始内容存档于2013-10-12). Arbitrum, Optimism, Polygon, Base,
雪崩、BNB、克诺斯、斯克罗、莱纳、索尼克、克洛、曼特尔、索尼姆、等离子体,
zkSync, Metis, 墨子 (中文(简体) ). 名单上没有的市场需要 addressesProvider 财务报告和审定财务报表
pool 在配置中: 池子得到批准和许可, 所以它是
从来没有从RPC单独取出, 和自定义提供者没有 pool 实值
拒绝(预设供应商在自己的链上取出已运出宝库).
只有 组合地址 从配置中信任。 游泳池,我们, 价格甲骨文和数据提供者在链上读取,预设集 必须与提供者报告的内容相匹配 寄钱给错误的合同.
使用量
import WalletManagerEvm from '@anywalletkit/wallet-evm'
import { AaveProtocolEvm } from '@anywalletkit/protocol-lending-aave-evm'
const account = await new WalletManagerEvm(seed, { provider: 'https://…' }).getAccount(0)
const aave = new AaveProtocolEvm(account) // chain from the account, market 'core'
// new AaveProtocolEvm(account, { market: 'lido' }) // Ethereum Lido instance
// new AaveProtocolEvm(account, { chainId: 8453 }) // Base, with an explicit chain
const USDT = '0xdAC17F958D2ee523a2206206994597C13D831ec7'
await aave.getSupplyApy(USDT) // 3.9 (percent, compounded like Aave's UI)
await aave.quoteSupply({ token: USDT, amount: 100_000_000n }) // { fee, approvals, permit, supplyApy }
await aave.supply({ token: USDT, amount: 100_000_000n }) // approve (exact) → wait → Pool.supply
await aave.supply({ token: 'native', amount: 10n ** 17n }) // WrappedTokenGatewayV3.depositETH
await aave.borrow({ token: USDT, amount: 50_000_000n }) // variable rate, checked against borrowing power
await aave.repay({ token: USDT, amount: 'max' }) // whole debt (+0.1 % approved for accruing interest)
await aave.withdraw({ token: USDT, amount: 'max' }) // uint256.max → everything
await aave.setCollateral({ token: USDT, enabled: false })
const { account: data, supplies, borrows } = await aave.getPosition()
data.healthFactor // 2.6, or Infinity without debt
钱移动之前会发生什么
- 预备队必须活动,不能暂停,不能被冻结(只允许冻结) 退出并偿还)。 供应和借款上限对照 aToken 检查 债务供应.
- 借款与
getUserAccountData().availableBorrowsBase地点 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}所以用数字而不是赤裸裸的 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}所以超额借款被拒绝 回头 信用授权(onBehalfOf)通过borrowAllowance。 。 。 . - 每笔主要交易都通过
eth_call从账户; Aave 的 返回 – v3.0-3.3 上的数值代码 ('35'),v3.4+上的自定义错误 (单位:千美元)HealthFactorLowerThanLiquidationThreshold())——成为可读AaveErrors 附有代码. - ERC-20津贴为: 准确永远不要无限制
approve(0)重设它的要求。 当符号支持 EIP-2612 和 账户可以signPermit(wallet -evm确实如此) 供应和偿还 单笔交易supplyWithPermit编号 :repayWithPermit路边. - 原生腿会穿过SrappedTokenGateway V3:
depositETH, (中文(简体) ),withdrawETH(在批准aWETH到入口之后),borrowETH(之后) (中文(简体) )approveDelegation在WETH 债务令牌上,repayETH(退还过多). 网关ABI是在Ethereum上验证的v3.2+-borrowETH财务报告和审定财务报表repayETH不再使用速率模式,与协议文件仍然显示的情况不同.
读取
| 方法 | 返回时 |
|---|---|
getMarket() | 库、甲骨文、数据提供者、基本货币单位、网关、包裹 |
getReserves() 编号 : getReserve(token) | 配置比特已解码( LTV, 阈值, 上限, 旗帜), 速率( ray, APR, APY), aToken / 债务令牌 |
getUserAccountData(user?) | - LTV,清算门槛,健康因素 |
getPosition() | 供应(附担保旗)和每个储备借款,加账户数据 |
getAssetPrice(token), (中文(简体) ), getSupplyApy(token), (中文(简体) ), getBorrowApy(token) | 甲骨文价格;按百分比计算 |
预备队读取通过多点调用3(一次往返),返回单曲 调用它不存在的地方 (zkSync) .
配置
| 键 | 默认 | 含义 |
|---|---|---|
chainId | 账户链,否则1 | 账户必须匹配 eip155:N |
market | 'core' | 预设链键 |
addressesProvider, (中文(简体) ), pool, (中文(简体) ), wethGateway | 从预设 | 明确市场pool 需要使用自定义 addressesProvider(三); wethGateway: null 禁用本地双腿 |
provider | 账户的 | RPC url(s) / EIP-1193 读取通过 |
usePermit | true | 单一交易供应/尽可能偿还 |
referralCode | 0 | 每个市场上不活跃 |
waitTimeoutMs | 180 000 个 | 需要多长时间才能得到批准 |
multicall | 多点呼叫3 | 地址,或 false |
测试
pnpm test - 38次线下测试,通过模拟市场(EIP-1193)进行
解码调用数据的提供者: Pool, oracle, 网关, 符号, 多调用3,
在两种方言中都回归)加上相容套件. pnpm verify:live 读取
通过公开的RPC:市场发现、储备,
价格 APYs 证明供应计划 eth_call。 。 。 .
状态
2026-10-10: 建成,线下测试为绿色,现场只读验证针对 伊特鲁姆主网. 尚未通过模块获得资金的交易 .
活动
describeActivity(tx, { own }) 标记模块自身对钱包历史、离线和同步的交易:
- 公认的: 目标为已知Aave v3的呼叫 池头 或者说 已包装的 KokenGateway V3 ——交易链上每一个预设的市场(
AAVE_MARKETS加上这个实例配置的市场。 四字节选取者取出:supply编号 :supplyWithPermit编号 :deposit财务报告和审定财务报表depositETH→supply· ;withdraw编号 :withdrawETH→withdraw· ;borrow编号 :borrowETH→borrow· ;repay编号 :repayWithPermit编号 :repayWithATokens编号 :repayETH→repay· ;setUserUseReserveAsCollateral编号 :setUserEMode→contract。Aave合同中的任何其他方法仍作为contract("Ave v3 交易"). - 标题 实值
"<Verb> <asset>"("补充ETH","Undrew UDC"):主要资产为:address asset参数,当存在 calldata时,否则,是移动到动作方向的符号;符号来自源的传输元数据. 字幕 实值"Aave v3 · <chain>", (中文(简体) ),counterparty合同要求,protocol软件包名称. - 资产数字 :
assetsIn编号 :assetsOut包括薄荷薄荷和烧伤. - 无 对于其他一切: 另一种协议, 一个简单的转移, 一个连锁,没有市场.
装入 fixtures/activity/ 是测试钱包资助的 Base 运行( Y)depositETH 编号 : withdrawETH, 2026-10-10),并贯穿相容套房活动的一半; fixtures/activity/negatives/ 保持长相,必须失去效果.