interfaceIInteroperableDelegatedAccount{/*
* @dev Provides the namespace of the account.
* namespace of accounts can possibly include, account version, account name, wallet vendor name, etc
* 账户的命名空间。
* 账户的命名空间可能包括账户版本、账户名称、钱包供应商名称等
* @notice this standard does not standardize the namespace format
* 此标准不标准化命名空间格式
* e.g., "v0.1.2.7702Account.WalletProjectA"
*/functionaccountId()externalviewreturns(string);/*
* @dev Externally shares the storage bases that has been used throughout the account.
* Externally shares the storage bases that has been used throughout the account. Most of 7702 accounts will have their distinctive storage base to reduce the chance of storage collision.
* 对外共享整个账户中使用的存储库。大多数 7702 账户将具有其独特的存储库,以减少存储冲突的可能性。
* This allows the external entities to know what the storage base is of the account.
* 这允许外部实体知道账户的存储库是什么。
* Wallets willing to redelegate already-delegated accounts should call accountStorageBase() to check if it confirms with the account it plans to redelegate.
* 愿意重新委托已委托账户的钱包应调用 accountStorageBase() 以检查它是否与计划重新委托的账户确认。
*
* The bytes32 array should be stored at the storage slot: keccak(keccak('InteroperableDelegatedAccount.ERC.Storage')-1) & ~0xff
* bytes32 数组应存储在存储槽:keccak(keccak('InteroperableDelegatedAccount.ERC.Storage')-1) & ~0xff
* This is an append-only array so newly redelegated accounts should not overwrite the storage at this slot, but just append their base to the array.
* 这是一个仅追加数组,因此新重新委托的账户不应覆盖此槽中的存储,而只需将其库追加到数组中。
* This append operation should be done during the initialization of the account.
* 此追加操作应在账户初始化期间完成。
* This array should return a value of keccak hash unless using external storage.
* 除非使用外部存储,否则此数组应返回 keccak 哈希值。
*/functionaccountStorageBases()externalviewreturns(bytes32[]);}
interfaceIRedelegableDelegatedAccount{/*
* @dev Function called before redelegation.
* 重新委托之前调用的函数。
* This function should prepare the account for a delegation to a different implementation.
* 此函数应准备好账户以委托给不同的实现。
* This function could be triggered by the new wallet that wants to redelegate an already delegated EOA.
* 此函数可以由想要重新委托已委托的 EOA 的新钱包触发。
* It should uninitialize storages if needed and execute wallet-specific logic to prepare for redelegation.
* 如果需要,它应该取消初始化存储并执行钱包特定的逻辑以准备重新委托。
* msg.sender should be the owner of the account.
* msg.sender 应该是账户的所有者。
*/functiononRedelegation()externalreturns(bool);}