Problem
initialize() in packages/wallet/src/initialization/initialization.ts already accepts an initializationConfigurations parameter that allows the default controller set to be overridden or extended. The Wallet class does not expose this parameter, so consumers have no way to substitute or augment controllers without forking the initialization logic.
Proposed direction
Accept an optional initializationConfigurations?: InitializationConfiguration<unknown, unknown>[] in the Wallet constructor and thread it through to initialize(). Document the limitation that additional configurations' action and event types are not reflected in the messenger type — the messenger remains typed against the default controller set only.
Acceptance
- The
Wallet constructor accepts initializationConfigurations.
- It is forwarded to
initialize().
- The type limitation on
messenger is noted in a code comment.
- Existing tests pass; a test covers the override path.
- Changelog entry added.
Problem
initialize()inpackages/wallet/src/initialization/initialization.tsalready accepts aninitializationConfigurationsparameter that allows the default controller set to be overridden or extended. TheWalletclass does not expose this parameter, so consumers have no way to substitute or augment controllers without forking the initialization logic.Proposed direction
Accept an optional
initializationConfigurations?: InitializationConfiguration<unknown, unknown>[]in theWalletconstructor and thread it through toinitialize(). Document the limitation that additional configurations' action and event types are not reflected in themessengertype — the messenger remains typed against the default controller set only.Acceptance
Walletconstructor acceptsinitializationConfigurations.initialize().messengeris noted in a code comment.