You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Safe API POST请求时签名验证异常求助

问题排查:Safe多签交易签名验证错误

问题描述

我通过Metamask私钥创建signer并生成交易签名,调用Safe交易提交API时,返回签名者地址不属于Safe所有者或委托方的错误,但错误里的签名者地址并非我实际使用的地址(我用的是Safe所有者列表中的0xE28312CF65663803d1317c1ccf261E1edEC1FF6d)。有人提示错误可能源于签名生成方式,需要帮忙排查。

签名生成代码

const signer = new ethers.Wallet(PRIVATE_KEY as string, provider)
const safeInstance = new ethers.Contract(safeAddress, safeAbi, signer)
const safeTrxHash = await safeInstance.getTransactionHash(
      trxInput.to,
      trxInput.value,
      trxInput.data,
      trxInput.operation,
      trxInput.safeTxGas,
      trxInput.baseGas,
      trxInput.gasPrice,
      trxInput.gasToken,
      trxInput.refundReceiver,
      trxInput.nonce,
    )

const signature = (await signer.signMessage(safeTrxHash))
      .replace(/1b$/, '1f')
      .replace(/1c$/, '20')

返回错误信息

提交签名后得到如下错误:

{"nonFieldErrors":["Signer=0x2C7DC84b0aad92978B8D2F2fc72aBd6013cF6EB4 is not an owner or delegate. Current owners=['0xE28312CF65663803d1317c1ccf261E1edEC1FF6d']. Delegates=set()"]}

内容的提问来源于stack exchange,提问作者Angel Lakra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 12:23:37