用途:为 Flare Smart Accounts(账户抽象)提供信息性指导,使 XRPL 用户无需拥有 FLR 就能在 Flare 链上执行操作。每个 XRPL 地址在 Flare 上对应一个仅该地址可控制的智能账户。该技能只提供知识,不执行链上交易,不存储或传输签名密钥;所有签名须在用户控制的钱包中完成,外部数据需开发者自行校验,密钥管理由用户负责。
主要能力:支持两种流程。基于证明的流程(支付引用):用户向 operator 的 XRPL 地址发送 Payment,在 memo 字段编码 32 字节指令;operator 向 FDC 请求支付证明,并调用 MasterAccountController 的 executeInstruction(或 reserveCollateral);合约验证证明后取用或创建用户智能账户并执行动作。直接铸造(memo)流程:用户向 FAssets Core Vault 的 XRPL 地址发送 Payment 铸造 FXRP 到智能账户,memo 携带指令,executor 调用 executeDirectMinting,AssetManager 铸造 FXRP 给 MasterAccountController 并回调 handleMintedFAssets。指令结构为 32 字节支付引用:第 1 字节指令 ID(高半字节类型、低半字节命令)、第 2 字节钱包 ID、第 3 至 12 字节 10 字节数量、第 13 字节起为参数。指令类型包括 FXRP(0x00 抵押预留、0x01 转账、0x02 赎回)、Firelight(0x10-0x13)、Upshift(0x20-0x23)。Memo 操作码包括 0xFE 自定义指令、0xFF memo 字段自定义指令、0xE0 跳过 memo、0xE1 快进 nonce、0xE2 替换 executor 费用、0xD0/0xD1 固定/取消固定 executor。自定义指令采用 EIP-4337 风格 PackedUserOperation,仅需 sender、nonce、callData 三个字段,通过 executeUserOp 入口执行任意合约调用。
使用方式与限制:针对智能账户的 XRPL 交易不得使用 destination tag,否则 FAssets 直接铸造会把资产记给 tag 持有者而非智能账户。直接铸造自定义指令在 Flare 侧是原子的,失败会整体回滚:不铸造 FXRP、不触发 UserOperationExecuted 事件,XRPL 支付也不会自动退回。常见回滚原因包括发送者不匹配、nonce 不符、memo 长度非 42 字节、哈希不匹配、msg.value 不足、executor 不匹配或内部调用失败。若交易 ID 尚未上链使用,可用 0xE0 跳过 memo 并携带正的净铸造额进行恢复。资料未提供收费、价格等更多事实。