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

Crypto8848 Crypto8848 提出于 2025-05-10 21:55 3390 浏览

项目环境 "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)

3 个回答

0xEthan 2025-07-04 11:54
Act 2025-05-18 15:19
Wmengti 2025-05-23 16:19

写回答

你需要登录后才可以回答问题,登录