Earlier this year ethers.js added support for EIP-3668. A few other clients followed.
It appears to be the case that most clients decided to only support eth_call
even though EIP-3368 mentions the “use of CCIP read for transactions”:
While the specification above is for read-only contract calls (eg,
eth_call
), it is simple to use this method for sending transactions (eg,eth_sendTransaction
oreth_sendRawTransaction
) that require offchain data. While ‘preflighting’ a transaction usingeth_estimateGas
oreth_call
, a client that receives anOffchainLookup
revert can follow the procedure described above in Client lookup protocol, substituting a transaction for the call in the last step. This functionality is ideal for applications such as making onchain claims supported by offchain proof data.
We think using EIP-3668 for “write” transactions is powerful, especially when combined with EIP-712 for offchain signing of payloads returned by the Gateway
.
What could be done to emphasize the support for eth_sendTransaction
? Would it be helpful to create a new “EIP - CCIP Write” or is the existing EIP good enough?