SuperAPI AI 工具集

walletconnect-staking

通用与其它

查看项目

更新于 10-16 04:02

技能介绍

WalletConnect Staking CLI 的目标是操作 walletconnect-staking 命令行工具,在 Optimism(链 ID 10)上质押或解除质押 WCT 代币、领取质押奖励并查看头寸。

用途与适用场景

  • 用户请求质押 WCT 代币。
  • 用户请求解除质押或提取已质押的 WCT。
  • 用户请求领取质押奖励。
  • 用户询问其质押头寸、APY 或奖励。
  • 用户询问其 WCT 代币余额。
  • 用户提到 walletconnect-staking 或 WCT staking。

不适用场景

  • 用户只想要基础钱包连接而不涉及质押(应使用 walletconnect skill)。
  • 用户想要跨链桥接或兑换代币(应使用 walletconnect skill 的 swidge 命令)。
  • 用户正在处理 staking-cli 源代码(直接正常编辑即可)。
  • 用户想要与 Optimism 以外链上的 WCT 交互。

前置条件

  • 写命令(stake、unstake、claim)必须配置 Project ID:可用 walletconnect config set project-id <id> 全局设置,或用 WALLETCONNECT_PROJECT_ID 环境变量按命令覆盖。
  • 二进制文件位于 packages/staking-cli/dist/cli.js,或全局链接为 walletconnect-staking。
  • 需要时先构建:npm run build -w @walletconnect/staking-cli。

命令

  • 质押 WCT(按 N 周锁定):walletconnect-staking stake <amount> <weeks>
  • 解除质押(仅锁定期到期后可全部提取):walletconnect-staking unstake
  • 领取质押奖励:walletconnect-staking claim
  • 查询质押头寸、奖励、APY(只读):walletconnect-staking status --address=0x...
  • 查询 WCT 余额(只读):walletconnect-staking balance --address=0x...

默认工作流 写命令(stake、unstake、claim):

  1. 确保已配置 Project ID(walletconnect config get project-id)。
  2. 运行命令——CLI 会自动恢复会话或提示扫码连接。
  3. 会话必须包含 Optimism(eip155:10);若现有会话不包含,CLI 会断开并请求新会话。
  4. 提示用户在钱包应用中确认交易。
  5. 所有钱包交互命令使用 60 秒以上超时。

只读命令(status、balance):

  • 使用 --address=0x... 可完全跳过钱包连接。
  • 或让 CLI 为对应地址恢复现有会话。
  • 使用 --address 时无需 Project ID。

重要说明

  • 仅限 Optimism:所有交易都在 Optimism(链 ID 10)上发生。
  • 锁定时长:质押锁定时间向下取整到最近的周边界。
  • 授权流程:stake 自动检查授权额度,需要时先发送一笔 approve 交易。
  • 已有头寸:stake 会检测已有头寸并调用 updateLock 而非 createLock。
  • 解锁检查:若锁定尚未到期,unstake 拒绝运行。
  • 只读捷径:status 和 balance 仅凭 --address=0x... 即可工作,无需钱包连接。
  • APY 公式:APY = max((stakeWeight / 1M) * -0.06464 + 12.0808, 0),并按 min(weeks, 104) / 52 调整。

校验清单

  • 写命令已配置 Project ID(walletconnect config get project-id)。
  • 二进制已构建并链接(walletconnect-staking --help 可正常工作)。
  • 钱包会话包含 Optimism 链授权。
  • 向用户展示交易输出(交易哈希)。
  • 钱包交互命令超时为 60 秒以上。
  • 只读查询在无需会话时使用 --address。

示例

  • 质押 100 WCT 4 周:用户说“质押 100 WCT 一个月”,执行 walletconnect-staking stake 100 4。注意可能发送 2 笔交易(approve 加 createLock/updateLock),需提示用户逐笔确认。
  • 查询质押状态:用户问“0xABC... 的质押头寸是什么?”,执行 walletconnect-staking status --address=0xABC...,无需 Project ID 或钱包连接。
  • 查询 WCT 余额:用户问“我有多少 WCT?”,执行 walletconnect-staking balance --address=0x...;若未提供地址,则询问用户或使用现有会话。

限制

  • 所有交易仅限 Optimism,不支持其他链上的 WCT 交互。
  • unstake 仅在锁定期到期后可用,且为全部提取。
  • 写命令依赖 Project ID 与钱包会话。
  • 收费、价格与平台可用性等资料暂未提供。