Add pluggable wallet onboarding paths - #89
Merged
Conversation
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.
What
connectorFiltertoEvmConnectwith backward-compatibleall,external, andin-appmodes.initialSteptoEvmInAppWalletSetupso consumers can enter the create or restore path directly.EvmConnectDialog,EvmConnectAuth, andEvmConnectAuthDialog.backevent through the connect/auth wrappers so the host app can own the preceding choice screen.@1001-digital/components.evm.Why
The 11x11 onboarding needs to ask whether someone already has a wallet before showing wallet UI. Existing-wallet users should see external connectors only, while new-wallet users should enter in-app account creation directly. Today those paths are hard-coded into one connector list and the in-app component adds a second internal chooser, forcing app-specific duplication or DOM-level filtering.
Impact
Defaults remain
connectorFilter="all"andinitialStep="choose", so current consumers keep the existing behavior. Apps can now wire their own question or other onboarding shell around the shared components without copying wallet creation logic.This touches the same in-app setup surface as draft #88. The API is intentionally state-agnostic so it can be retained when that internal vault rewrite is rebased.
Checks
pnpm --filter @1001-digital/layers.evm typecheckpnpm --filter @1001-digital/layers.evm buildpnpm test(11 passed)pnpm docs:buildgit diff --checkRepository-wide
pnpm typecheckandpnpm format:checkare not clean onmaster: the former stops inlayers.baseon its existing.tsimport/configuration error (and this worktree also reported existing missing playground dependencies), while the latter reports existing drift inCHANGELOG.mdandpnpm-lock.yaml. The targeted EVM checks above pass.