feat: EOA support for the Checkout component #1937
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changed? Why?
This introduces support for sequential approve / call actions as a fallback to the experimental wagmi
writeContracts
, to enable EOAs to use the componentCurrently the component does not work for EOAs, as it relies on experimental wagmi multicall functionality:
This is confusing and limits the usefulness of the component. By adding support for sequential transactions, this can be used for all account types.
There is a small optimisation to check the allowance before making the "approve" transaction, in case that can be skipped (e.g. if the approve was made already and then the purchase wasn't made for some reason, or if there is an infinite / higher approval).
Notes to reviewers
Currently this only adds the feature (to unblock EthGlobal hackathon progress), but can add tests / docs if there is appetite to merge this upstream.
How has it been tested?