Abstract
This ERC addresses the lack of communication channels between the dapp and smart contract wallets. Wallets are tasked with sending transactions on behalf of the user, but dapps craft these transactions. The challenge is that dapps don’t have a way of communicating the prerequisites for these transactions, so wallets can’t fulfill them.
To solve this issue, an additional optional field is included in the transaction request. This field is a list of “requirements” that the wallet has to fulfill for the requested transactions to be considered “ready.”
Wallets can use this list of requirements, alongside their knowledge about the addresses of the user, to decide how to act next. Depending on the availability of funds and the list of requirements, the options could be: send the transaction right away, send the transaction with a prefix that fulfills the requirements, or ask the user to select a path to fulfill the requirements.
Wallets would be tasked with finding all possible paths to fulfill these requirements, while dapps SHOULD NOT attempt to check the requirements themselves, letting the wallet handle scenarios like “low balance” or “low allowance.”
For more information please see the ERC.