DAPP 环境调用 EIP-7702 方法signAuthorization 出现 AccountTypeNotSupportedError: Account type "json-rpc" is not supported.

项目环境 "dependencies": { "@reown/appkit": "1.7.4", "@reown/appkit-adapter-wagmi": "1.7.4", "@wagmi/core": "^2.17.1", "viem": "^2.29.1", "wagmi": "^2.15.2" },

调用方法

// 创建钱包客户端,使用 MetaMask 账户
      const walletClient = viem.createWalletClient({
        account: address,
        transport: viem.custom(provider)
      });

      // 检查 extend 方法是否存在
      if (typeof walletClient.extend !== 'function') {
        throw new Error('当前环境不支持 extend 方法');
      }

      // 添加 EIP-7702 功能
      const clientWithEip7702 = walletClient.extend(eip7702Actions);
      console.log(clientWithEip7702)

      // 检查 signAuthorization 方法是否存在
      if (typeof clientWithEip7702.signAuthorization !== 'function') {
        throw new Error('当前环境不支持 signAuthorization 方法');
      }

      // 签署授权
      const authorization = await clientWithEip7702.signAuthorization({
        contractAddress,
      });

      console.log('使用 EIP-7702 签署授权成功');

出现异常

使用 EIP-7702 签署授权失败: AccountTypeNotSupportedError: Account type "json-rpc" is not supported.

The signAuthorization Action does not support JSON-RPC Accounts.

Docs: https://viem.sh/docs/eip7702/signAuthorization Version: viem@2.29.1 at signAuthorization (chunk-LW77YY37.js?v=c83ef351:1557:11) at Object.signAuthorization (chunk-LW77YY37.js?v=c83ef351:2284:34) at signAuthorization (eip7702.js:91:53)

请先 登录 后评论
  • 0 关注
  • 0 收藏,94 浏览
  • Crypto8848 提出于 3天前