feat: Add Bako predicates to EVM wallet connector#556
Draft
guimroque wants to merge 187 commits into
Draft
Conversation
…rs instead of all lowercase
…nnector using the minimum necessary packages
…e bako safe vault instead
The localStorage cleanup for Bako connector keys is essential to maintain state synchronization between Privy and the connector. Without it, stale data causes authentication conflicts when reconnecting. Also updates the Social Login icon to a modern email envelope design. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Override accounts() and isConnected() to wait for Privy to be ready before checking stored account. This prevents the race condition where SDK queries these methods before Privy session is restored from iframe. Also adds logout before sendCode() to prevent cannot_link_more_of_type error when switching email accounts.
…ctor FIX: clear session state to enforce EVM signature on login
…tees uniqueness of predicate name
…it address is not found
…rn of the predicate name
…login-integration refactor: simplify social login integration
…ion-error fix: create vault with unique name if not founded
fix: prevents to show actions disabled after disconnect
…-when-social-login-is-disabled fix: hides login with email when social login is disabled
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.
Release notes
This PR introduces Bako predicate integration for EVM wallet connectors and adds a new Social Login connector.
Architecture
Predicate Version Flow
New Packages
@fuel-connectors/bako-predicate-connectorBase package that provides:
PredicateConnectorabstract class for predicate-based wallet connectorsSocketClientStoreManager@fuel-connectors/social-connectorSocial authentication connector featuring:
PredicateConnectorfor Bako Safe integrationUpdated Packages
@fuel-connectors/walletconnect-connectorPredicateConnectorinstead ofFuelConnector@fuels/connectorsprivyAuthparameter todefaultConnectors()for Social LoginSocialConnectorand related types@fuels/reactEmailLogincomponent for headless email authenticationConnectorsmodal to display Social Login optionKey Features
Demo
EVM connector wallets (old and new) are now accessible through the Bako interface
https://github.com/user-attachments/assets/2e57feb1-99a9-4de3-8eaf-67a6218b35ef
Legacy predicates are preserved and also available in the Bako interface
https://github.com/user-attachments/assets/62020886-cba3-4a0b-8dd2-043ea84a1331
Summary
A new base predicate package (
bako-predicate-connector) abstracts the communication logic with Bako wallets. Thewalletconnect-connectorwas updated to extend from this new base, while a newsocial-connectorpackage enables social authentication via Privy.Checklist