Currently ToucanClient accepts a network and a provider/signer but does not validate that they match. In order to do this we need to call out to the provider to fetch the chain id, convert to a network and compare with the provided network. Since this involves an async operation, it cannot be done in the ToucanClient constructor and would require having a separate init function that we also need to ensure users run before they can use the rest of the SDK.
Currently ToucanClient accepts a network and a provider/signer but does not validate that they match. In order to do this we need to call out to the provider to fetch the chain id, convert to a network and compare with the provided network. Since this involves an async operation, it cannot be done in the ToucanClient constructor and would require having a separate
initfunction that we also need to ensure users run before they can use the rest of the SDK.