Currently we construct a suite of safe contracts, but hard-code the provider to Sepolia (this is a cheeky hack) since the code is the same on all EVMs (except zkEVMs). This suggests that we may not need to make any chain reads in the first place if we can simply emulate the solidity code.
I think that this Viem Documentation for "deployless read" is exactly what we are seeking here:
https://viem.sh/docs/contract/readContract.html#deployless-reads
Currently we construct a suite of safe contracts, but hard-code the provider to Sepolia (this is a cheeky hack) since the code is the same on all EVMs (except zkEVMs). This suggests that we may not need to make any chain reads in the first place if we can simply emulate the solidity code.
I think that this Viem Documentation for "deployless read" is exactly what we are seeking here:
https://viem.sh/docs/contract/readContract.html#deployless-reads