SuperAPI AI 工具集

cli-cast

安全与审计

查看项目

更新于 10-16 07:57

技能介绍

用途:该技能面向 Foundry cast 的交易与签名工作流,覆盖交易准备、追踪、模拟、签名与广播,消息签名,以及 ABI/calldata 编解码。核心原则是分离读取、准备、模拟、签名和广播,避免在命令构造中隐藏状态变更操作。

链与提供方:每次网络操作前调用 $evm-atlas,由其负责链解析、离散读取和有界实时订阅;需传入明确链名或 ID、JSON-RPC 方法与精确参数、区块选择器或检查点要求及用途。若链不在 evm-atlas 中,停止依赖 RPC 的工作,不得用任意 RPC URL 兜底,链不明确时不得推断为以太坊。仅当追踪、分叉或发送无法表达为有界离散读取时才使用 RPC URL。RouteMesh 连续传输需先由 evm-atlas 确认覆盖,配置别名时使用 ROUTEMESH_CHAIN_ID="$CHAIN_ID" cast COMMAND --rpc-url routemesh,否则用经 evm-atlas 验证的非秘密公共 RPC,且不得构造、检查或打印 RouteMesh URL。Cast stderr 可能泄露别名 URL,不得转发到聊天、日志或外部报告。

权限阶段:本地 ABI 编解码与选择器推导无需交易批准;链、区块、费用、nonce、eth_call、eth_estimateGas、交易、收据、日志、余额、代码、存储、证明和 ENS 读取均委托 evm-atlas。使用 cast <command> --help 查看本地语法,典型命令如 cast calldata 与 cast decode-calldata。准备阶段解析并验证链 ID、发送方、目标、函数签名、参数、calldata、原生价值、nonce 和费用假设,不签名、不加载密钥。以太坊主网交易需读 references/ethereum-gas.md,获取新的 Rabby slow 报价并绑定 EIP-1559 费用对后再模拟,不得静默选择 Normal 或 Fast。

模拟与审阅:从预期发送方和价值模拟精确调用并估算 gas,委托 evm-atlas 提供有界证据。任何签名或广播前需呈现一份具体审阅,包含链名与 ID、RPC 来源、最新区块、发送方、目标、函数、解码参数、calldata、原生价值、nonce、gas 估算/上限、费用假设与最大原生代币成本、主网 Rabby 报价详情、预期状态变更、模拟命令与结果、所选签名者及脱敏后的精确签名/广播命令。审阅以 ### ⚠️ Transaction approval required 开头,停止并要求用户在后续消息中明确确认。

签名与广播:优先浏览器钱包、加密 keystore、硬件钱包,环境私钥仅在用户明确选择或无更安全方式时使用,绝不询问或打印密钥。cast send 一条命令完成签名与广播,仅在审阅批准后运行;消息或类型化数据签名也需审阅精确载荷、域、链绑定和用途。主网交易命令必须以批准的 Rabby Slow 值显式作为 --gas-price 和 --priority-gas-price,签名前重查最大费用不低于最新 base fee,否则重新模拟并重新审阅。广播后捕获交易哈希并由 evm-atlas 在审阅链上验证收据,待处理时可用一次有界 RouteMesh newHeads 订阅等待下一区块。收据验证必需,报告状态、区块、gas 用量和区块浏览器链接,按成功、回滚或结果不明分别以 ### ✅、### ↩、### ⛔ 开头。结果不明时不得重试,浏览器签名需先读 references/browser-signing.md 的 Timing 和 Recovering 部分。停止条件:签名者、发送方、链、目标、解码意图、成本上限或模拟结果未解决时停止签名;广播结果不明时停止重试。完成需已验证读取结果、本地编码结果、已批准签名产物,或与审阅交易一致且经 evm-atlas 验证的已挖出收据。不得修饰或截断地址、calldata、签名、哈希、RPC URL、费用值、命令或安全措辞。