This error-message implies that you are passing two input arguments to a function which takes only one input argument.
And indeed, function verify takes one input argument of type ForwardRequestData:
struct ForwardRequestData {
address from;
address to;
uint256 value;
uint256 gas;
uint48 deadline;
bytes data;
bytes signature;
}
...
function verify(ForwardRequestData calldata request) public view virtual returns (bool) {
...
}
You should probably do something like:
const serializedTransaction = {
from: '0xB55A8bb04aF693823B0A00bF300b67a85BED6282',
to: '0x6f776051Ce2d301b805b93eaD278A996A9674cbE',
value: 0,
gas: '25000000000',
deadline: deadline,
data: '0xb4477c0147daecad546ef3fb323f46318050e87d0ee5144eb127e953e181dc59d409a762',
signature: signature
}
const verify = await forwarderContract.verify(serializedTransaction);
Where deadline
is a value equal to or larger than the timestamp of the current (latest) block.