mcpField
U
ubi-circle

ubi-circle

github.com/ubidotfun其他038 次安装1 天前更新
代码仓库

关于 ubi-circle

ubi-circle 是通过 Arc 上的 Circle Agent Wallet 发送 ubi.fun 预备交易的技能。它使用随附的 Node.js 脚本模拟并提交步骤,同时避免脚本接触钱包密钥和登录验证码。

主要功能

  1. 01安装固定版本的 Circle CLI
  2. 02为钱包调用增加原始 calldata 支持
  3. 03模拟并发送预备交易步骤
  4. 04等待收据并提供交易链接
  5. 05说明故障处理与重发注意事项

适用场景

  1. 01执行预备好的 ubi.fun 兑换
  2. 02发送代币发行或领取步骤
  3. 03交易结果不确定时检查状态

MCP 相关

此技能与 ubi MCP 服务配合,由该服务准备未签名的交易步骤。技能通过随附脚本使用 Arc 上的 Circle Agent Wallet 发送步骤;Circle 负责签名和提交。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ubidotfun/skills --skill ubi-circle

安装后在 Claude Code 中输入/ubi-circle确认已加载。

附带文件scripts/ubi-circle.mjs

详细介绍

使用 Circle Agent Wallet 运行 ubi.fun

ubi MCP 服务会准备未签名的步骤(参见 ubi-trading 和 ubi-launch)。此技能使用内置的 scripts/ubi-circle.mjs(Node.js 20 或更高版本),通过 Arc 上的 Circle Agent Wallet 发送这些步骤。Circle 负责签名和提交;脚本不会接触密钥、电子邮件验证码或会话令牌。

为什么使用脚本:Circle CLI 只接受“函数签名 + 文本参数”,无法承载 Universal Router 兑换或代币发行。Circle 的 API 接受原始 calldata,因此 setup 会将一个固定版本的 Circle CLI(@circle-fin/[email protected])安装到 ~/.ubi-circle,检查其哈希,并在其旁边写入一个副本,为 ARC 上的 Circle Agent Wallet 添加 --call-data。已安装的 CLI 文件不会被修改,其他所有命令仍使用原版 CLI。

一次性设置(由用户在自己的终端中完成)

node scripts/ubi-circle.mjs setup
node scripts/ubi-circle.mjs circle terms show      # read them, then:
node scripts/ubi-circle.mjs circle terms accept
node scripts/ubi-circle.mjs circle wallet login YOUR_EMAIL --type agent
node scripts/ubi-circle.mjs wallets
  • 登录时,终端会要求输入通过电子邮件发送的验证码。绝不要在 Agent 聊天中输入该验证码,也不要向用户索要。
  • 不要代替用户接受 Circle 的条款。条款确认和登录都应由用户完成。
  • wallets 会打印 ARC 上的 Circle Agent Wallet 地址。请为其充值 USDC(https://ubi.fun/bridge 可将其他链上的 USDC 转入)。请在交易金额之外留出一些 USDC:Arc 使用 USDC 支付 Gas。

每次操作

  1. 像往常一样使用 MCP 准备操作,并在工具要求提供发送方或推荐人时使用 Circle 钱包地址:
    • prepare_swap { coin, side, amount, referrer: <circle wallet> }(推荐人可获得兑换手续费的 5%)
    • 使用 prepare_launch / prepare_launch_v3,并将 creator 设为应获得创作者收益的对象(用户自己的钱包,或由自身出资的 Agent 所用的 Circle 钱包)
    • 领取操作:get_referrer_balance、get_coin_earnings、get_underwater_refunds、get_holder_rewards 会返回相应的领取步骤
  2. 向用户说明将要执行的操作(金额、报价、最低到账金额、接收方),并在任何会花费资金的操作前征得用户同意。
  3. 将工具结果保存为 JSON 并发送:
node scripts/ubi-circle.mjs send --address <circle wallet> --file steps.json --dry-run   # simulates the first step
node scripts/ubi-circle.mjs send --address <circle wallet> --file steps.json

send 接受完整的 prepare_* 结果、其 steps 数组或单个步骤。对于每个步骤,脚本会按顺序根据当时 Arc 链的状态进行模拟,通过 Circle 发送该步骤,等待交易回执,并在首次失败时停止。输出为 JSON,其中包含每个步骤的交易哈希以及 arc.etherscan.io 链接。

出现问题时

  • SIMULATION_FAILED:该步骤现在会回滚。此后的步骤均未发送。请重新报价并准备新步骤(报价和截止时间会过期)。
  • OUTCOME_UNKNOWN:Circle 未能正常完成(没有交易哈希,或打印哈希后失败;已打印的哈希会出现在输出中)。不要重新发送。 交易仍可能上链。请先检查 node scripts/ubi-circle.mjs circle transaction list --address <circle wallet> --chain ARC 和区块浏览器。
  • REVERTED 或 PENDING:在执行下一步骤前已停止;请查看区块浏览器链接。
  • RECEIPT_UNKNOWN:该步骤已发送(其哈希会出现在输出中),但无法读取回执。不要重新发送。 请检查区块浏览器链接,然后为剩余操作准备新步骤。
  • 在发送步骤之前遇到 RPC_UNAVAILABLE 或 RPC_INVALID:Arc RPC 无法读取或返回了格式错误的答复,因此该步骤未经过模拟,也未发送。done 下列出的步骤已上链;请为其余操作准备新步骤。
  • CIRCLE_NOT_READY:没有 Circle 会话;用户需在自己的终端中重新登录。
  • RUNTIME_MISMATCH:~/.ubi-circle 中的文件已更改;请重新运行 setup。

需知事项

  • Circle Agent Wallet 是智能合约钱包。交易、发币、推荐收益、创作者收益和代币分红均可正常使用。只有两项分配仅面向由密钥控制的钱包:每日 $UBI 持有者池和 v3 代币的 Underwater 退款。Circle Agent Wallet 无法获得这两项收益,因此请将 $UBI,以及希望获得 Underwater 保障的 v3 代币,存放在普通钱包中。
  • Circle Agent Wallet 可使用备注(prepare_swap 和发币工具中的 note)和关注功能:ubi.fun 会将每笔交易或发币记录归属于该钱包,而不是提交交易的打包器。首次部署钱包的那笔交易不会计入;使用 send 时,部署是第一个设置步骤,因此之后的交易会计入。
  • 这里的任何内容都不会单独限制支出。Circle 自身的钱包策略仍然适用;请仅在 Agent 钱包中保留工作所需的余额。

评论

支持 Markdown