Unsupported method: eth_signTypedData_v4

An error message occurs when using gsn to initiate a transaction:

"error\":{\"code\":-32600,\"message\":\"Unsupported method: eth_signTypedData_v4. See available methods at https://docs.alchemy.com/alchemy/documentation/apis\"}}
at AccountManager.sign (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/AccountManager.js:114:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async RelayClient._prepareRelayHttpRequest (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayClient.js:457:27)
    at async RelayClient._attemptRelay (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayClient.js:334:29)
    at async RelayClient.relayTransaction (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayClient.js:289:35)
    at async RelayProvider._ethSendTransaction (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayProvider.js:287:23)Gas Fees price errors (0):

    at RelayProvider._onRelayTransactionFulfilled (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayProvider.js:303:22)
    at RelayProvider._ethSendTransaction (/Users/sktlab/anylocal/source/server/regional-services/node_modules/@opengsn/provider/dist/RelayProvider.js:288:23)

please help me to solve this problem

code:

import { ethers } from "ethers";
import { RelayProvider } from "@opengsn/provider";
import * as path from "path";
import * as fs from "fs";

const NETWORK_URL =
  "https://polygon-mumbai.g.alchemy.com/v2/bpMFwDT56ogDPG4n8Cry2ode_xxxxx";
const provider = new ethers.providers.JsonRpcProvider(NETWORK_URL);

 mumbai
const paymasterAddress = "";
const relayHubAddress = "";

const main = async () => {

  const mnemonic = "";
  const wallet = ethers. Wallet.fromMnemonic(mnemonic);
  const address = wallet.address;
  console.log("wallet address:", address);

  const gsn = await RelayProvider.newEthersV5Provider({
    provider: provider.getSigner(address),
    config: {
      paymasterAddress: paymasterAddress,
      loggerConfiguration: {
        logLevel: "debug",
      },
      auditorsCount: 0,
    },
  });
  console.log("create gsnProvider successfully......");

  const relayHubAbiFile = path.resolve(__dirname, "./relayHubABI.abi");
  const relayHubABI = fs.readFileSync(relayHubAbiFile, "utf8");
  const relayHub = new ethers. Contract(
    relayHubAddress,
    relayHubABI,
    gsn.gsnProvider
  );

  const paymasterBalance = await relayHub.balanceOf(paymasterAddress);
  console.log(`Paymaster's Balacne is ${paymasterBalance} `);

  const tokenAddress = ""; 
  const tokenAbi = [
    "function name() view returns (string)",
    "function symbol() view returns (string)",
    "function totalSupply() view returns (uint256)",
    "function balanceOf(address) view returns (uint)",
    "function transfer(address, uint) public returns (bool)",
    "function approve(address, uint256) public returns (bool)",
  ];
  const tokenContract = new ethers. Contract(
    tokenAddress,
    tokenAbi,
    gsn.gsnProvider.getSigner()
  );

  const balance = await tokenContract.balanceOf(address);
  console.log("wallet token balance:", balance.toString());
  const recipientAddress = "";
  const transaction = await tokenContract.transfer(recipientAddress, 1000);

  await transaction.wait();
  const balance1 = await tokenContract.balanceOf(wallet.address);
  console.log("wallet token balance2:", balance1.toString());
};
main();

dependences:
@ethersproject/providers”: “^5.4.7”,
@opengsn/common”: “^3.0.0-beta.8”,
@opengsn/provider”: “^3.0.0-beta.8”,
“ethers”: “^5.4.7”,