@anywalletkit/protocol-staking-lido-evm

中文文档
0.3.11发布于 2026/11/03Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 2196

一个简单的包,通过 Lido 协议让 @ anywalletkit/wallet-evm 钱包账户有利害关系:有利害关系,两相排队退出(许可第一),包裹/unwrap,奖励.

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 为什么撤退路线看起来像它一样
  4. 配置
  5. 接口
  6. 测试
  7. 活动

@anywalletkit/protocol-sking-lido-evm (英语)

npm

一个简单的软件包 @anywalletkit/wallet-evm 钱包账户赌注 通过 丽多 协议: 键 EH = stETH,通过 分两相退出队列,将不重设的wstETH格式包入/解围,以及 读APR和奖励历史.

安装

npm install @anywalletkit/protocol-staking-lido-evm @anywalletkit/core
# or: pnpm add @anywalletkit/protocol-staking-lido-evm @anywalletkit/core  ·  yarn add @anywalletkit/protocol-staking-lido-evm @anywalletkit/core

时间: @anywalletkit/protocol-sking-lido-evm (英语)发表于 发布工作流程 与出处.

建设为首个执行 StakingProtocol 类型 内 @anywalletkit/core。基础课生活在 @anywalletkit/core· ; src/staking-protocol.ts 保持运行时间 IStakingProtocol 标记和 选项/结果键入此模块文档。 见下文“界面” 为什么不借钱.

机械师是从一个生产钱包(web + React)中提取的 当地/赫尔梅斯),每笔资金都以实际资金进行.

在类型脚本上写入 维姆 (唯一的运行时间) 依赖性),并用 tsup-to dist/ (ESM + CJS + .d.ts) (中文(简体) ).

使用量

import WalletManagerEvm from '@anywalletkit/wallet-evm'
import LidoProtocolEvm from '@anywalletkit/protocol-staking-lido-evm'

const wallet = new WalletManagerEvm(seed, { provider: 'https://rpc.example.org' })
const account = await wallet.getAccount(0)

const lido = new LidoProtocolEvm(account, {
  referral: '0x…' // optional: Lido Rewards-Share referral, defaults to zero address
})

// Stake — stETH lands on the account 1:1
const { hash, fee } = await lido.stake({ amount: 10n ** 18n })

// Exit, phase 1: queue the withdrawal (permit-first — ONE transaction)
await lido.requestWithdrawal({ amount: 10n ** 18n, token: 'stETH' })

// …days later — exit, phase 2: claim finalized requests as ETH
const { claimableIds } = await lido.getWithdrawalRequests()
if (claimableIds.length) await lido.claimWithdrawals({ ids: claimableIds })

// Views
await lido.getStakedBalance() // { balance, wrappedBalance, rate, total }
await lido.getApr()           // 2.72 (percent, 7d SMA)

界面外的 Lido 特有外加:

await lido.wrap({ amount })                 // stETH → wstETH (approve awaited + wrap)
await lido.unwrap({ amount })               // wstETH → stETH (single tx)
await lido.getWithdrawalEta(ids)            // Map<id, seconds> from Lido's queue API
await lido.getRewards()                     // lifetime rewards + average APR
await lido.getRewardHistory({ limit: 14 })  // daily rebase events, newest first

为什么撤退路线看起来像它一样

每一个选择都是在生产中付费的:

  • 许可证第一数字 : requestWithdrawal 签一份EIP-2612许可证并驾车 内部 requestWithdrawalsWithPermit 单一交易(和移动交易, 而不是批准+请求.
  • 广播前证明: 许可路径被模拟 eth_call 先说 糟糕的签名必须倒下,而不是燃烧气体.
  • 倒计时等待批准: 在批准和请求路径中 因为请求的气体估计数 折抵未计提的津贴.
  • 已验证许可域: stETH 符号为"2"版本, wstETH 为"2"版本 "1"——两相对证物上链 DOMAIN_SEPARATOR错误 版本恢复到不同的符号并返回时没有可读的理由.
  • 要求上限: 队列每个请求最多需要1000stETH; 在同一交易中将超额金额分割为多个请求 (每要求800美元上限为-1000为Steth等值,费率为: 向上飘去).
  • 前卫数字 : stake 检查 isStakingPaused 财务报告和审定财务报表 getCurrentStakeLimit 在估计气体之前,因为原始还原带 也没有可读的理由.
  • 结构账户检查: 可写性为 typeof account.sendTransaction === 'function'没有 instanceof - 一个重复的 账户包复制失败 instanceof 帐号正常.
  • 没有 AbortSignal.timeout 编号 : AbortSignal.any: Hermes(反应土著) 船舶 AbortController 但不是那些静态的,这里的一切都取决于它们.
  • REST 端点为配置: APR,队列ETA和奖励历史 来自于利多的公共前端API(eth-api.lido.fi, (中文(简体) ), wq-api.lido.fi, (中文(简体) ), reward-history-backend.lido.fi),通过 config.endpoints。 。 。 . 连锁流动从不依赖它们:ETA和奖励是装饰和 降解为空结果,永远不要扔出.

配置

new LidoProtocolEvm(account, {
  provider,       // RPC url or EIP-1193; defaults to the account's provider
  chainId,        // default 1; other chains must supply the fields below
  referral,       // forwarded to submit() — Lido Rewards-Share integrators earn on stake flow
  addresses,      // { stEth, wstEth, withdrawalQueue }
  permitDomains,  // { stEth: { name, version }, wstEth: { name, version } }
  endpoints       // { apr, withdrawalQueueApi, rewardHistory }
})

只有主网舰作为默认部署——故意. 测试网(如:. Hoodi)的配置必须明确,所以没有人与未经核实的人物有利害关系 静悄悄地地址默认.

接口

IStakingProtocol数字 : stake 编号 : quoteStake, (中文(简体) ), requestWithdrawal 编号 : quoteRequestWithdrawal, (中文(简体) ), getWithdrawalRequests, (中文(简体) ), claimWithdrawals 编号 : quoteClaimWithdrawals, (中文(简体) ), getStakedBalance, (中文(简体) ), getApr。 。 。 .

承接不是贷款:贷款 withdraw 是同步的,同时不承担 是两相交换, 请求输入队列, 结束带外 (通常为几天),只有到那时,才能要求获得原生的地物. 建模 作为 ILendingProtocol.withdraw 将生成一种方法,用于返回 收不到钱,就会抽筋 borrow编号 :repay 作为不支持。 这个 诚实的界面命名队列 。 包/包、ETA和奖励历史 供应商专用的额外设备,使核心能够用其他液体执行 协议.

测试

pnpm build            # tsup → dist/
pnpm test             # offline unit + conformance tests (vitest, stubbed EIP-1193 provider)
pnpm verify:live      # read-only checks against mainnet (views, REST, eth_call simulation; needs dist/)

活动

describeActivity(tx, { own }) 标签 Lido 交易一个钱包的历史, 离线和同步。 交易是利多的 当它调用三个合同之一时 案件被配置在(stEth, (中文(简体) ), wstEth, (中文(简体) ), withdrawalQueue ——主网默认)在该链上,选择者是:stETH submit → stake "夺去ETH";wsteth wrap → wrap "疯狂的史蒂克", unwrap → unwrap "未包装的 wsteth"; 退出队列 requestWithdrawals 编号 : …WithPermit 编号 : …WstETH 编号 : …WstETHWithPermit → unstake "请求退出", claimWithdrawals 编号 : claimWithdrawalsTo 编号 : claimWithdrawal → claim "请求ETH". 选择器在模块负载时从签名中计算(LIDO_ACTIONS) (中文(简体) ). approve 编号 : transfer 斯德克或斯德克不是利多行动,而是无效的,其他一切也是如此。 字幕 "Lido · Ethereum", (中文(简体) ), counterparty 合同要求; assetsIn 编号 : assetsOut 是钱包在收件时带有模块标签的stETH / wstETH / unstETH 的净移动.

装入 fixtures/activity/ 是测试钱包的资金支持运行(提交、包装、未包装、请求Westdrawals WithPermit,索赔Westdrawals;2026-08-31.09-04); negatives/ 持有SSV的股权 和USDT的批准.

版本与发布记录

@anywalletkit/protocol-staking-lido-evm 共发布 12 个版本,首次发布于 2026/10/25;过去 12 个月发布了 12 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.11latest2026/11/034 天前
0.3.102026/10/309 天前
0.3.92026/10/2910 天前
0.3.82026/10/2811 天前
0.3.72026/10/2711 天前
0.3.62026/10/2612 天前

关于 @anywalletkit/protocol-staking-lido-evm 的常见问题

@anywalletkit/protocol-staking-lido-evm 是什么?

一个简单的包,通过 Lido 协议让 @ anywalletkit/wallet-evm 钱包账户有利害关系:有利害关系,两相排队退出(许可第一),包裹/unwrap,奖励.

如何安装 @anywalletkit/protocol-staking-lido-evm?

在项目目录运行 npm install @anywalletkit/protocol-staking-lido-evm,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@anywalletkit/core(0.8.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@anywalletkit/protocol-staking-lido-evm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@anywalletkit/protocol-staking-lido-evm 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@anywalletkit/protocol-staking-lido-evm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@anywalletkit/protocol-staking-lido-evm 可以商用吗?

@anywalletkit/protocol-staking-lido-evm 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@anywalletkit/protocol-staking-lido-evm 的下载量有多少?

根据 npm 官方下载统计,@anywalletkit/protocol-staking-lido-evm 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,196 次,日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anywalletkit/protocol-staking-lido-evm 还在维护吗?

最新版本 0.3.11 发布于 2026/11/03(4 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/10/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。