Can't send meta transactions after following guide

I'm currently following this guide https://docs.openzeppelin.com/defender/v2/guide/meta-tx but have realised too late that there are a lot of errors assigned to it.

I am wondering if anyone has a working version or at least managed to find a way around the errors, especially the signer.js from their Github https://github.com/OpenZeppelin/workshops/blob/master/25-defender-metatx-api/src/signer.js . Eth-sig-util can't be used in the front end and I don't know a way to do in ethers.

The provider and signer I'm using are an ethers random wallet private key and provider is a jsonrpcproivder from sepolia.

I think it's the signer code anyway becuz I can't get past the verify function in their ERC2771Forwarder contract.

If anyone knows how to fix the code or has a working version of it, I would appreciate it so much.

:computer: Environment

I'm using Hardhat and ethers