跳到正文
← 使用教程

Zama委托解密排错:链上委托、Permit与余额缺值

链小知 · 进阶 · 核验 · 依官方文档整理

按已有脱敏材料核谁可读哪个合约、何时有效,以及传播延迟、权限不足和真实零余额的区别。

开始前准备

  • 准备已有的SDK版本、链ID、代币合约、委托人/读取方、脱敏授权状态及错误记录;保留观察时间,缺值留待核。

1. 固定当前SDK、链和三个地址角色

先区分当前@zama-fhe/sdk与legacy @zama-fhe/relayer-sdk,记录链ID、机密代币合约、delegatorAddress、读取方地址;余额持有人另记accountAddress,不能默认四者相同。

官方托管Ethereum/Polygon主网Relayer要求key,Sepolia不需;鉴权配置正确也不代表拥有密文ACL。用已有配置核环境,主网应用的key不应出现在浏览器材料中。

检查结果:SDK版本、链、合约、委托人/读取方/余额持有人已对应;Relayer鉴权和数据权限未混同。

2. 将链上委托与本地Permit分开核

链上delegateDecryption每次对应一个(contractAddress, delegateAddress)并产生交易回执;可不设到期,也可设expirationDate,显式日期至少在未来1小时,否则DelegationExpirationTooSoonError会在发送前出现。已有请求材料中的日期需对原请求时点核,不能拿今天倒推当时是否合法。

读取方使用自己的transport key与EIP-712 Permit。Permit绑定签名者、链、可选delegator、合约集合与时长,每份最多10个合约,更多会分块;默认permitTTL为30天且新增范围是追加,不会自动替换旧授权。改TTL也不追溯改变已签Permit。

检查结果:链上tuple/期限和Permit的签名者、链、delegator、合约集合/期限分别有记录,未把两种期限互相覆盖。

3. 辨认已确认、传播中与权限缺失

按原材料核委托回执与getStatus返回的isActive、expiryTimestamp;链上确认和Gateway ACL传播是不同状态。官方称通常约10个区块,委托解密内部有约30秒的有界等待;这些是估计与重试预算,不是到账或服务承诺。

DelegationNotPropagatedError可能表示同步超出预算;NotEntitledError则是缺链上ACL的终止错误,不能无限重试当成传播。另分DelegationNotFound、Expired、ChainMismatch和ACL暂停;不完整材料只记录对应错误与待核项。

检查结果:回执、有效委托、传播与终止权限错误分列,估计区块/秒数未当完成保证。

4. 用结果身份与密文区分余额和缺值

decryptBalanceAs默认读取委托人余额;余额持有人不同应明确accountAddress。解密缓存按(accountAddress, token, encryptedValue)绑定,不能把另一个账户、代币或旧密文的明文挪用。

批量Token.batchDecryptBalancesAs返回Map<Address,bigint>;默认任一失败会让整次拒绝,onError才可保留逐币结果。官方示例把失败替为0n只是示例策略,本对照应单列错误而非认定零余额。NoCiphertextError表示未有加密余额,与成功返回0n不同。

检查结果:每个值绑定账户/代币/密文;失败、无密文与成功零余额分别记录,批量缺项未补零。

5. 区分链上撤销与本地清理

已有退出材料中,revokeDelegation针对原合约与读取方撤销链上委托;permits.revokePermits清理的是本地Permit,clear还处理调用签名者的本地key slot,均不能代替原tuple的链上撤销证据。选择性移除Permit会移除触及所列合约的整份Permit,不应假定同份其他合约仍覆盖。

保留撤销/到期、读取错误及原明文披露范围;撤销不能令已获得的明文失忆。地址、交易类型、时间、Gas和shield/unshield金额仍可公开,不能将委托解密称完全匿名。

检查结果:链上撤销与本地清理各有对应材料,历史已披露值和公开元数据边界明确。

怎样确认完成

  • 得到角色、范围、期限、传播与结果的对照;官方方法已核,实际账户权限与解密结果仍以原材料为准。

常见错误与边界

  • 主网key、链上委托与Permit是三个层次。
  • SDK内部等待不是无限自动重试,权限不足不当零余额。
  • 删除缓存不撤链上委托,也不抹去历史明文。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据