based on https://docs.ethers.org/v5/api/providers/provider/#Provider-call This allows users to get the return value from a transaction, rather than just a transaction hash