With multi-accounts being released in Status v1, the user will be able to manage several accounts in his wallet. He will get by default (after onboarding, or recovering) a main account (m/44’/60’/0’/0/0) and will be able to easily add new ones. He will thus be able to manage his funds (check on them, send them, receive them) across different accounts from his wallet.
When a user engages with a dApp we plan to present this main account (m/44’/60’/0’/0/0) to the dApp.
For v1 we might:
1/ Not leave any flexibility to the user to change that, or
2/ Leave a more advanced user some ways to configure that and change the account presented to the dApp. e.g if the user want to interface with a dEX dApp with another account than his main account m/44’/60’/0’/0/0 because this is where he stored his funds.
From a design standpoint, we could do 2/ from several different manners
- Let the user configure a « custom main account » setting that will affect several things across the app: the default sending adress from the account explorer, the sender adress when you « /send funds» from chat etc., and the account used with dApps,
- Let the user chose at 'tx confirmation screen’ which account to use to sign the dApp tx, among the list of all accounts.
And, by the way, design will also need to address how the user gives his consent to share his account address with the dApp.
From a technical standpoint, and to further evaluate all aspects of whether we go for 1/ or 2/, your feedbacks on the following point would be useful:
What are the consequences of allowing the user to change the account that signs a dApp transaction, especially after the dApp has already started interacting with our browser? one example: I start interacting with a dApp, sign a couple transactions with my main account, and decide to change - either as a global setting before the transaction has been called, or at tx confirmation screen level after the transaction has been called ?