chore: Update Web3Auth controllers to expose all methods through messenger#8219
Merged
chore: Update Web3Auth controllers to expose all methods through messenger#8219
Conversation
mcmire
reviewed
Mar 17, 2026
| @@ -126,8 +143,8 @@ export type SeedlessOnboardingControllerMessenger = Messenger< | |||
| * @param encryptor - The encryptor to use for encrypting and decrypting seedless onboarding vault. | |||
| */ | |||
| export type SeedlessOnboardingControllerOptions< | |||
| EncryptionKey, | |||
| SupportedKeyDerivationParams, | |||
| EncryptionKey = encryptionUtils.EncryptionKey, | |||
Contributor
There was a problem hiding this comment.
Why is it necessary to change this?
Member
Author
There was a problem hiding this comment.
The extraction script assumes we can use Controller['method'], but without these defaults that would result in a TypeScript error because the type parameters are missing.
Contributor
There was a problem hiding this comment.
Ah, right, I see. That makes sense.
8755821 to
c1e8245
Compare
GuillaumeRx
previously approved these changes
Mar 18, 2026
3fa2720 to
f18b535
Compare
GuillaumeRx
previously approved these changes
Mar 19, 2026
Contributor
|
Looks good, other than the conflicts. |
Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com>
Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com>
Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com>
f18b535 to
0ceaf4d
Compare
lwin-kyaw
reviewed
Mar 20, 2026
| SeedlessOnboardingControllerActions, | ||
| SeedlessOnboardingControllerEvents, | ||
| } from './SeedlessOnboardingController'; | ||
| export type { |
Contributor
There was a problem hiding this comment.
I don't think we should export all the public methods.
|
|
||
| const log = createModuleLogger(projectLogger, controllerName); | ||
|
|
||
| const MESSENGER_EXPOSED_METHODS = [ |
Contributor
There was a problem hiding this comment.
Same here.
Are we exposing every public methods to messenger now?
lwin-kyaw
approved these changes
Mar 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Explanation
This updates the following controllers to expose all methods through the messenger in a standardised way:
SeedlessOnboardingController.ShieldController.SubscriptionController.ClaimsController.References
Checklist
Note
Medium Risk
Expands the messenger API surface for two controllers (including seedless onboarding auth/token flows), so incorrect wiring or consumer usage could impact authentication flows even though underlying method logic is largely unchanged.
Overview
Exposes all public methods on
ClaimsControllerandSeedlessOnboardingControlleras messenger actions. Both controllers now register method handlers viaregisterMethodActionHandlers, and new auto-generated*-method-action-types.tsfiles define strongly-typed action names/handlers.For
@metamask/claims-controller, these new action types are exported fromsrc/index.ts, and unit tests are updated to call controller methods through therootMessengeraction names (e.g.ClaimsController:getClaims) instead of invoking methods directly.Both packages add a
generate-method-action-typesscript and thetsxdev dependency, and their changelogs document the newly available messenger actions.Written by Cursor Bugbot for commit 0ceaf4d. This will update automatically on new commits. Configure here.