Skip to content

Conversation

@0xFirekeeper
Copy link
Member

@0xFirekeeper 0xFirekeeper commented Oct 31, 2025

Introduces 'Epic' as a supported AuthProvider in the InAppWallet system, updating the enum and relevant switch statements to handle the new provider.


PR-Codex overview

This PR adds support for a new authentication provider, Epic, to the InAppWallet system. It updates the relevant types and account linking logic to include this provider.

Detailed summary

  • Added Epic to Thirdweb/Thirdweb.Wallets/InAppWallet/InAppWallet.Types.cs.
  • Updated Thirdweb.AuthProvider mappings in Thirdweb/Thirdweb.Wallets/InAppWallet/EcosystemWallet/EcosystemWallet.cs.
  • Included Epic in the account linking switch case in the method LinkAccount.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Summary by CodeRabbit

New Features

  • Added support for Epic as a new authentication provider, allowing users to sign in and link accounts using their Epic credentials.

Introduces 'Epic' as a supported AuthProvider in the InAppWallet system, updating the enum and relevant switch statements to handle the new provider.
@coderabbitai
Copy link

coderabbitai bot commented Oct 31, 2025

Walkthrough

A new Epic authentication provider is added to the InAppWallet system. The AuthProvider enum gains an Epic member, and corresponding case mappings are added to switch expressions in EcosystemWallet.cs to handle the new provider in Create and LinkAccount methods.

Changes

Cohort / File(s) Summary
AuthProvider enum definition
Thirdweb/Thirdweb.Wallets/InAppWallet/InAppWallet.Types.cs
Adds Epic member to the public AuthProvider enum, expanding supported authentication providers.
Provider mapping implementation
Thirdweb/Thirdweb.Wallets/InAppWallet/EcosystemWallet/EcosystemWallet.cs
Updates two switch expressions to map AuthProvider.Epic to string "Epic" in Create method and handle Epic as a valid OAuth provider in LinkAccount method.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Straightforward enum extension with consistent pattern replication across switch statements
  • No structural changes or complex logic introduced
  • Limited file scope with tightly coupled, related modifications

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Add Epic as new AuthProvider in InAppWallet" accurately and specifically describes the main change in the pull request. The raw summary confirms that the AuthProvider enum was extended with a new Epic member, and the EcosystemWallet.cs file was updated to handle this provider in relevant switch expressions. The title is concise, clear, and provides enough specificity for teammates scanning the history to understand the primary objective without being overly verbose or vague.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch firekeeper/epic-auth

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 40e286a and 0c9aca1.

📒 Files selected for processing (2)
  • Thirdweb/Thirdweb.Wallets/InAppWallet/EcosystemWallet/EcosystemWallet.cs (2 hunks)
  • Thirdweb/Thirdweb.Wallets/InAppWallet/InAppWallet.Types.cs (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build-test-cov
🔇 Additional comments (3)
Thirdweb/Thirdweb.Wallets/InAppWallet/InAppWallet.Types.cs (1)

24-24: LGTM! Clean enum addition.

The Epic authentication provider is added in the correct alphabetical position and follows the existing pattern for OAuth providers.

Thirdweb/Thirdweb.Wallets/InAppWallet/EcosystemWallet/EcosystemWallet.cs (2)

719-719: LGTM! Correct OAuth routing for Epic.

The Epic case is properly added to route through the OAuth authentication flow via PreAuth_OAuth, consistent with how other OAuth providers (Google, Apple, Discord, etc.) are handled.


138-138: Code change is correct, but verify your backend configuration includes Epic provider.

The Epic provider mapping is consistent with other OAuth providers. thirdweb's embedded wallet backend can support Epic Games OAuth authentication through custom auth endpoints or OIDC flows. However, confirm your specific backend instance has Epic Games configured as an authentication provider before merging.


Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants