Merged
Conversation
Collaborator
Author
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
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.
Description and Related Issue(s)
Resolves #3159
This PR implements smart wallet authentication using Dynamic (WaaS - Wallet as a Service) as an alternative to the existing Auth0-based authentication. The implementation allows users to authenticate using their connected wallet through Dynamic's smart wallet infrastructure, providing a seamless Web3 authentication experience.
The changes include integration of Dynamic SDK, refactoring of user profile components to support multiple auth providers, dynamic imports for web3 wallet packages to optimize bundle size, and updates to the wallet connection flow to work with smart wallets. The implementation maintains backward compatibility with the existing Auth0 authentication while adding the new Dynamic provider as an option.
Proposed Changes
Environment Variables
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER: Selects the authentication provider (auth0ordynamic) for basic user authentication. Defaults toauth0for backward compatibilityNEXT_PUBLIC_ACCOUNT_DYNAMIC_ENVIRONMENT_ID: Environment ID of the Dynamic project, required when usingdynamicas the auth providerNEXT_PUBLIC_RE_CAPTCHA_APP_SITE_KEY: Updated to be required only when usingauth0as the provider (previously always required)Breaking or Incompatible Changes
No breaking changes. The implementation maintains full backward compatibility with existing Auth0 authentication. The new Dynamic provider is opt-in via environment variable configuration.
Additional Information
This implementation is part of the WaaS pilot program. More details can be found in the related Notion document referenced in issue #3159.
Checklist for PR author
Note
High Risk
Touches core authentication and wallet-connection flows and introduces a new third-party provider path (Dynamic) plus top-level-await-based code splitting, which could impact login/connectivity and runtime bundling if misconfigured.
Overview
Adds an opt-in Dynamic (WaaS) authentication + wallet connector path alongside the existing Auth0/Reown setup, controlled by new envs (
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER,NEXT_PUBLIC_ACCOUNT_DYNAMIC_ENVIRONMENT_ID) and a newaccount.authProvider/blockchainInteraction.connectorTypefeature payload.Refactors web3/auth plumbing to switch providers via top-level
await import(...)code-splitting: introducesWeb3Providerthat selectsReownProvidervsDynamicProvider, adds Dynamic-specificuseWallet/useAccounthooks, updates CSP to be connector-aware, and adjusts UI entry points (profile button, auth guards, email-linking, address verification) to route through Auth0 vs Dynamic. Also adds ageneral:auth_dynamicAPI resource, manual gas estimation for Dynamic contract writes, disables rewards when using Dynamic, and updates build/test configs (higher Node memory, enable top-level await, TS target ES2017, browser sourcemaps off, Playwright CT env bootstrap).Written by Cursor Bugbot for commit 98666c4. This will update automatically on new commits. Configure here.