Skip to content

Conversation

0xFirekeeper
Copy link
Member

@0xFirekeeper 0xFirekeeper commented Sep 27, 2025

Closes BLD-349


PR-Codex overview

This PR focuses on updates and improvements to the Thirdweb Unity SDK and .NET SDK, including version upgrades, changes to wallet providers, and the introduction of new features for user authentication and transaction handling.

Detailed summary

  • Deleted multiple .mdx files related to .NET quickstart and wallet providers.
  • Updated Thirdweb package version from 2.4.0 to 3.0.0.
  • Modified unityRedirects to change the path from /unity/v5 to /unity/v6.
  • Enhanced ArticleIconCard components to reflect new titles and hrefs.
  • Updated contract extension references in documentation.
  • Revised the ThirdwebTransaction.Create section for clarity on workflows.
  • Introduced new Layout component in layout.tsx for better page structure.
  • Added detailed information about the ThirdwebManager and its configuration options.
  • Expanded the EcosystemWallet and InAppWallet documentation, including login methods.
  • Created migration guide for transitioning from Unity SDK v5 to v6, detailing required code changes.

The following files were skipped due to too many changes: apps/portal/src/app/unity/v6/migration-guide/page.mdx, apps/portal/src/app/dotnet/utils/page.mdx

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

Summary by CodeRabbit

  • New Features

    • Added extensive Unity v6 docs (overview, getting started, build instructions, migration guide, Thirdweb Manager, contracts, wallets, account abstraction) plus new Unity v6 sidebar and layout; added several .NET docs (API quickstart, Prepare Contract Transaction, Server Wallet).
  • Documentation

    • Removed multiple deprecated .NET pages (Insight, Nebula, Payments, several wallet provider pages, dotnet contracts prepare); rewrote .NET Utils and reorganized the .NET sidebar and getting-started tiles; trimmed Marketplace extension references.
  • Chores

    • Updated portal redirect target to Unity v6.

@0xFirekeeper 0xFirekeeper requested review from a team as code owners September 27, 2025 16:55
Copy link

linear bot commented Sep 27, 2025

Copy link

changeset-bot bot commented Sep 27, 2025

⚠️ No Changeset found

Latest commit: 9acb116

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

vercel bot commented Sep 27, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs-v2 Ready Ready Preview Comment Sep 27, 2025 5:31pm
4 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
nebula Skipped Skipped Sep 27, 2025 5:31pm
thirdweb_playground Skipped Skipped Sep 27, 2025 5:31pm
thirdweb-www Skipped Skipped Sep 27, 2025 5:31pm
wallet-ui Skipped Skipped Sep 27, 2025 5:31pm

Copy link
Contributor

graphite-app bot commented Sep 27, 2025

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge-queue - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

Copy link
Contributor

coderabbitai bot commented Sep 27, 2025

Walkthrough

Top-level Unity redirect updated to /unity/v6. Large .NET docs reorganization: several provider and quickstart pages removed, new quickstart and transactions/prepare/docs added, Utils rewritten, and sidebar restructured. Comprehensive Unity v6 documentation added (layout, sidebar, multiple pages and wallets).

Changes

Cohort / File(s) Summary of Changes
Redirects
apps/portal/redirects.mjs
Update Unity top-level redirect from /unity/v5 to /unity/v6.
.NET — New API Quickstart
apps/portal/src/app/dotnet/api/quickstart/page.mdx
Add new MDX page and export metadata; document ThirdwebApi for .NET with examples.
.NET — Contracts edits
apps/portal/src/app/dotnet/contracts/extensions/page.mdx
Remove marketplace-specific paragraphs; keep general extensions line.
.NET — Pages removed
apps/portal/src/app/dotnet/contracts/prepare/page.mdx, .../insight/quickstart/page.mdx, .../nebula/quickstart/page.mdx, .../universal-bridge/quickstart/page.mdx
Delete these documentation pages and their exported metadata/content.
.NET — Getting Started tweaks
apps/portal/src/app/dotnet/getting-started/page.mdx
Swap two ArticleIconCard entries (Unity ↔ Godot) and update hrefs/titles accordingly.
.NET — Sidebar restructure
apps/portal/src/app/dotnet/sidebar.tsx
Remove walletProviders; rename/flatten sections (Contract Interactions→Contracts, Transaction Builder→Transactions), set isCollapsible: false, add Prepare entry, update Unity link to /unity, reorganize Wallets group.
.NET — Transactions docs
apps/portal/src/app/dotnet/transactions/create/page.mdx, apps/portal/src/app/dotnet/transactions/prepare/page.mdx
Update Callout text in create page; add new prepare page with metadata and usage examples for ThirdwebContract.Prepare.
.NET — Utils rewrite
apps/portal/src/app/dotnet/utils/page.mdx
Import Callout; rewrite/expand content, rename sections, update examples and descriptions (no API signature changes).
.NET — Wallet provider pages removed
apps/portal/src/app/dotnet/wallets/providers/*/page.mdx (ecosystem-wallet, engine-wallet, in-app-wallet, private-key)
Delete four provider-specific MDX docs and their metadata/content.
.NET — Wallets consolidated (new)
apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx, apps/portal/src/app/dotnet/wallets/server-wallet/page.mdx
Add consolidated User Wallet and Server Wallet pages with metadata exports and comprehensive guidance/examples.
Unity v6 — Layout & Navigation (new)
apps/portal/src/app/unity/v6/layout.tsx, .../sidebar.tsx
Add v6 layout component (default export) and metadata; add sidebar export defining Unity v6 navigation.
Unity v6 — Overview & Guides (new)
apps/portal/src/app/unity/v6/page.mdx, .../getting-started/page.mdx, .../build-instructions/page.mdx, .../migration-guide/page.mdx
Add overview, getting started, build instructions, and migration guide pages with metadata and content.
Unity v6 — Core & Manager (new)
apps/portal/src/app/unity/v6/contracts/page.mdx, .../thirdwebmanager/page.mdx
Add contracts overview and ThirdwebManager guide pages with metadata, examples, and images.
Unity v6 — Wallets (new)
apps/portal/src/app/unity/v6/wallets/*/page.mdx (in-app-wallet, ecosystem-wallet, reown, account-abstraction)
Add multiple Unity wallet docs pages with metadata, examples, and flows.
Misc — Godot doc update
apps/portal/src/app/dotnet/godot/page.mdx
Bump Thirdweb NuGet package version reference from 2.4.0 to 3.0.0.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer (.NET)
  participant TW as ThirdwebClient
  participant C as ThirdwebContract
  participant TX as ThirdwebTransaction
  participant RPC as RPC/Chain

  Dev->>TW: Instantiate ThirdwebClient
  Dev->>C: GetContract(address, chain, abi?)
  Dev->>C: Prepare(methodName, params?, weiValue?, wallet?)
  C-->>TX: Return populated ThirdwebTransaction
  Note over TX: Optional mutate fields (value, gas, nonce, data)
  Dev->>TX: Simulate / EstimateCost (optional)
  Dev->>TX: Send()
  TX->>RPC: Broadcast transaction
  RPC-->>Dev: Receipt
Loading
sequenceDiagram
  autonumber
  actor Player as User (Unity)
  participant M as ThirdwebManager
  participant W as Wallet (InApp/Ecosystem/Reown)
  participant CH as Chain

  Player->>M: Initialize()
  Player->>M: ConnectWallet(options)
  M->>W: Create/Resume wallet with options
  alt Resume available
    W-->>M: Session resumed
  else New session
    W->>Player: Show auth (OTP/OAuth/Modal)
    Player-->>W: Complete auth
  end
  W->>CH: Verify chain/session
  M-->>Player: Active wallet ready
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description does not follow the required template as it omits the "Notes for the reviewer" and "How to test" sections and uses a PR-Codex overview instead of the mandated structure. Please update the description to include the "Notes for the reviewer" and "How to test" sections per the repository template and ensure the structure matches the provided description template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly indicates that this pull request updates the Portal documentation for .NET version 3 and Unity version 6, succinctly summarizing the main change without unnecessary detail.
Linked Issues Check ✅ Passed All changes align with the objectives of issue BLD-349, including upgrading Unity SDK documentation to v6, updating .NET docs by removing and adding pages, adjusting redirects and sidebar, improving contract and transaction guides, and adding the migration guide.
Out of Scope Changes Check ✅ Passed The pull request contains only documentation updates, MDX page additions and deletions, sidebar and redirect adjustments, and metadata changes, with no unrelated or functional code modifications outside the scope of BLD-349.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch firekeeper/dotnet-v3-unity-v6

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

@github-actions github-actions bot added the Portal Involves changes to the Portal (docs) codebase. label Sep 27, 2025
Copy link

codecov bot commented Sep 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.28%. Comparing base (5ee449f) to head (9acb116).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8140   +/-   ##
=======================================
  Coverage   56.28%   56.28%           
=======================================
  Files         906      906           
  Lines       59192    59192           
  Branches     4174     4174           
=======================================
  Hits        33316    33316           
  Misses      25771    25771           
  Partials      105      105           
Flag Coverage Δ
packages 56.28% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Sep 27, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
thirdweb (esm) 64.09 KB (0%) 1.3 s (0%) 336 ms (+119.78% 🔺) 1.7 s
thirdweb (cjs) 361.63 KB (0%) 7.3 s (0%) 1.4 s (+9.91% 🔺) 8.6 s
thirdweb (minimal + tree-shaking) 5.73 KB (0%) 115 ms (0%) 138 ms (+1959.51% 🔺) 252 ms
thirdweb/chains (tree-shaking) 526 B (0%) 11 ms (0%) 41 ms (+601.16% 🔺) 51 ms
thirdweb/react (minimal + tree-shaking) 19.14 KB (0%) 383 ms (0%) 139 ms (+1733.71% 🔺) 522 ms

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Nitpick comments (9)
apps/portal/src/app/dotnet/contracts/extensions/page.mdx (4)

1-1: Remove unused import to keep MDX clean.

Details is imported but not used in this file.

Apply this diff:

-import { Details, createMetadata } from "@doc";
+import { createMetadata } from "@doc";

14-35: Tighten the example for consistency (wallet var and quantity).

The snippet mixes wallet/smartAccount and quantity/amount, which may confuse readers.

Apply this diff to align names:

-// Write without extensions
+// Write without extensions
 var receiver = await wallet.GetAddress();
 var quantity = BigInteger.One;
@@
-var receipt = await contract.Write(smartAccount, contract, "claim", 0, receiver, quantity, currency, pricePerToken, allowlistProof, data);
+var receipt = await contract.Write(wallet, contract, "claim", 0, receiver, quantity, currency, pricePerToken, allowlistProof, data);
@@
-// Write with extensions
-var receipt = await contract.DropERC20_Claim(wallet, receiver, amount);
+// Write with extensions
+var receipt = await contract.DropERC20_Claim(wallet, receiver, quantity);

37-39: Consider a short note that these are auto-generated ABI-based helpers.

A one-liner clarifying that “extensions” are auto-generated from ABI definitions can reduce confusion.

“Based on learnings”


39-39: Link target verified (HTTP 200). Consolidated link is correct; add a CI link-health check to guard against future 404s.

apps/portal/src/app/dotnet/transactions/prepare/page.mdx (3)

53-75: Parameter list likely redundant if Prepare is an instance method.

If the correct call doesn’t pass contract, drop the “contract (required)” section.

Apply this diff after confirming the API:

-### contract (required)
-
-An instance of `ThirdwebContract`. Represents the smart contract whose method you're calling.

25-33: Add missing import for BigInteger in the snippet.

Since the example uses BigInteger, include the namespace for copy-paste readiness.

Apply this diff inside the code block before variable usage:

 ```csharp
+using System.Numerics;
 ThirdwebTransaction transaction = await contract.Prepare(

13-16: Unify Callout prop naming (type vs variant) across pages.

This page uses type="info" while the Create page uses variant="warning". Standardize to one prop your @doc Callout supports everywhere.

apps/portal/src/app/dotnet/sidebar.tsx (1)

287-296: API section duplication: consider naming consistency.

You have “API Reference” (external) and “API Full Reference” (internal /reference). Consider renaming one to reduce ambiguity.

apps/portal/src/app/dotnet/transactions/create/page.mdx (1)

11-15: Approve code changes; standardize Callout props
New Prepare page exists at apps/portal/src/app/dotnet/transactions/prepare/page.mdx. Callout uses variant here but type elsewhere—pick one prop name consistently across all .NET MDX pages.

📜 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 5ee449f and 0f98e01.

⛔ Files ignored due to path filters (4)
  • apps/portal/src/app/unity/v6/thirdwebmanager/thirdwebmanager_client.png is excluded by !**/*.png
  • apps/portal/src/app/unity/v6/thirdwebmanager/thirdwebmanager_debug.png is excluded by !**/*.png
  • apps/portal/src/app/unity/v6/thirdwebmanager/thirdwebmanager_misc.png is excluded by !**/*.png
  • apps/portal/src/app/unity/v6/thirdwebmanager/thirdwebmanager_preferences.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • apps/portal/redirects.mjs (1 hunks)
  • apps/portal/src/app/dotnet/api/quickstart/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/contracts/extensions/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/contracts/prepare/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/getting-started/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/insight/quickstart/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/nebula/quickstart/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/sidebar.tsx (5 hunks)
  • apps/portal/src/app/dotnet/transactions/create/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/transactions/prepare/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/universal-bridge/quickstart/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/utils/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/wallets/providers/ecosystem-wallet/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/wallets/providers/engine-wallet/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/wallets/providers/in-app-wallet/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/wallets/providers/private-key/page.mdx (0 hunks)
  • apps/portal/src/app/dotnet/wallets/server-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/build-instructions/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/contracts/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/getting-started/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/layout.tsx (1 hunks)
  • apps/portal/src/app/unity/v6/migration-guide/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/sidebar.tsx (1 hunks)
  • apps/portal/src/app/unity/v6/thirdwebmanager/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/ecosystem-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/in-app-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/reown/page.mdx (1 hunks)
💤 Files with no reviewable changes (8)
  • apps/portal/src/app/dotnet/nebula/quickstart/page.mdx
  • apps/portal/src/app/dotnet/wallets/providers/engine-wallet/page.mdx
  • apps/portal/src/app/dotnet/wallets/providers/private-key/page.mdx
  • apps/portal/src/app/dotnet/contracts/prepare/page.mdx
  • apps/portal/src/app/dotnet/insight/quickstart/page.mdx
  • apps/portal/src/app/dotnet/universal-bridge/quickstart/page.mdx
  • apps/portal/src/app/dotnet/wallets/providers/in-app-wallet/page.mdx
  • apps/portal/src/app/dotnet/wallets/providers/ecosystem-wallet/page.mdx
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx}: Write idiomatic TypeScript with explicit function declarations and return types
Limit each file to one stateless, single-responsibility function for clarity
Re-use shared types from @/types or local types.ts barrels
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Choose composition over inheritance; leverage utility types (Partial, Pick, etc.)
Comment only ambiguous logic; avoid restating TypeScript in prose

**/*.{ts,tsx}: Use explicit function declarations and explicit return types in TypeScript
Limit each file to one stateless, single‑responsibility function
Re‑use shared types from @/types where applicable
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Prefer composition over inheritance; use utility types (Partial, Pick, etc.)
Lazy‑import optional features and avoid top‑level side‑effects to reduce bundle size

Files:

  • apps/portal/src/app/unity/v6/sidebar.tsx
  • apps/portal/src/app/unity/v6/layout.tsx
  • apps/portal/src/app/dotnet/sidebar.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (CLAUDE.md)

Load heavy dependencies inside async paths to keep initial bundle lean (lazy loading)

Files:

  • apps/portal/src/app/unity/v6/sidebar.tsx
  • apps/portal/src/app/unity/v6/layout.tsx
  • apps/portal/src/app/dotnet/sidebar.tsx
🧠 Learnings (7)
📚 Learning: 2025-07-18T19:20:32.530Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Layouts should reuse `SidebarLayout` / `FullWidthSidebarLayout` (`@/components/blocks/SidebarLayout`).

Applied to files:

  • apps/portal/src/app/unity/v6/sidebar.tsx
  • apps/portal/src/app/unity/v6/layout.tsx
📚 Learning: 2025-07-18T19:19:55.613Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Import UI primitives from `@/components/ui/*` (Button, Input, Select, Tabs, Card, Sidebar, Badge, Separator) in dashboard and playground apps

Applied to files:

  • apps/portal/src/app/unity/v6/sidebar.tsx
📚 Learning: 2025-07-18T19:20:32.530Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/layout.tsx : Building layout shells (`layout.tsx`) and top-level pages that mainly assemble data.

Applied to files:

  • apps/portal/src/app/unity/v6/layout.tsx
📚 Learning: 2025-07-18T19:19:55.613Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction

Applied to files:

  • apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx
📚 Learning: 2025-07-18T19:19:55.613Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified `Wallet` and `Account` interfaces in wallet architecture

Applied to files:

  • apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx
📚 Learning: 2025-07-18T19:19:55.613Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to src/extensions/** : Auto-generated contracts from ABI definitions in extensions

Applied to files:

  • apps/portal/src/app/dotnet/contracts/extensions/page.mdx
📚 Learning: 2025-07-18T19:19:55.613Z
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)

Applied to files:

  • apps/portal/src/app/unity/v6/wallets/in-app-wallet/page.mdx
  • apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx
🧬 Code graph analysis (2)
apps/portal/src/app/unity/v6/sidebar.tsx (2)
apps/portal/src/app/dotnet/sidebar.tsx (1)
  • sidebar (198-302)
apps/portal/src/components/Layouts/DocLayout.tsx (1)
  • SideBar (10-13)
apps/portal/src/app/unity/v6/layout.tsx (3)
apps/portal/src/components/Layouts/DocLayout.tsx (1)
  • DocLayout (25-76)
apps/portal/src/app/unity/v6/sidebar.tsx (1)
  • sidebar (7-93)
apps/portal/src/components/others/PlatformSelector.tsx (1)
  • PlatformSelector (16-62)
⏰ 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). (7)
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: Size
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: E2E Tests (pnpm, vite)
  • GitHub Check: Unit Tests
  • GitHub Check: Lint Packages
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (12)
apps/portal/src/app/dotnet/getting-started/page.mdx (1)

79-89: Unity card swap aligns with new v6 docs

Pointing the primary card at /unity (now redirected to v6) while keeping Godot under the .NET umbrella matches the navigation changes elsewhere in the PR. Nice catch.

apps/portal/src/app/dotnet/wallets/server-wallet/page.mdx (1)

18-117: Great coverage of ServerWallet.Create expectations

The quick-start and exception notes line up with the API signature (label required, optional executionOptions / vaultAccessToken), and the execution-option rundown mirrors the available types. This should save backend teams some trial-and-error. (thirdweb-dev.github.io)

apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx (1)

22-225: Solid consolidation of user-wallet flows

The creation snippets and parameter table reflect the InAppWallet.Create / EcosystemWallet.Create contracts, including ecosystem-specific knobs like ecosystemPartnerId, walletSecret, and execution mode. The login flow examples covering OTP, OAuth, SIWE, and linking will be hugely helpful. (thirdweb-dev.github.io)

apps/portal/redirects.mjs (1)

417-417: Redirect keeps legacy links working

Updating the /unity root to land on v6 ensures older entry points still resolve while the new docs roll out.

apps/portal/src/app/unity/v6/page.mdx (1)

1-76: New Unity hub looks good

The overview, GitHub link, and quick access cards give builders a clean landing spot for the v6 docs. Nicely done.

apps/portal/src/app/dotnet/utils/page.mdx (1)

10-311: Docs align with published API

I spot-checked the refreshed helper examples and constant summaries against the generated .NET reference docs; the signatures and values (e.g., Utils.FetchGasFees, Utils.IsZkSync, and the ERC-4337 constants) line up exactly, so this rewrite looks good to me. (thirdweb-dev.github.io)

apps/portal/src/app/dotnet/transactions/prepare/page.mdx (3)

37-49: Confirm static vs instance method usage for Simulate/Estimate/Send.

You use static calls: ThirdwebTransaction.Simulate(transaction). If these are instance methods, prefer await transaction.Simulate(), etc.

Would you like me to patch the examples once the API surface is confirmed?


19-22: Nice positioning of benefits.

Clear bullets on simulation, customization, and wallet-agnostic usage.


25-33: Ignore incorrect duplicate-parameter suggestion
The .Prepare method is an instance call that intentionally takes both wallet and contract parameters, matching the official .NET SDK signature (contract.Prepare(wallet, contract, "methodName", weiValue, parameters)). No change required.

Likely an incorrect or invalid review comment.

apps/portal/src/app/dotnet/sidebar.tsx (3)

153-173: Making “Contracts” non-collapsible is a good UX tweak.

The core flows stay visible without extra clicks.


221-223: Unity link: confirm redirect behavior.

You link to /unity. PR summary mentions redirecting Unity docs root to /unity/v6. Confirm the redirect is configured; otherwise link directly to /unity/v6.


176-196: Prepare route verified. The /dotnet/transactions/prepare page exists at apps/portal/src/app/dotnet/transactions/prepare/page.mdx.

Comment on lines 103 to 110
var ecosystemWalletOptions = new EcosystemWalletOptions(ecosystemId: "ecosystem.your-ecosystem", authprovider: AuthProvider.SiweExternal)
var options = new WalletOptions(
provider: WalletProvider.EcosystemWallet,
chainId: 421614,
ecosystemWalletOptions: ecosystemWalletOptions
);
var wallet = await ConnectWallet(options);
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Complete the SiweExternal example syntax.

This sample is missing a terminating semicolon after the EcosystemWalletOptions instantiation and calls an undefined ConnectWallet helper instead of ThirdwebManager.Instance.ConnectWallet(...). As published, the snippet fails to compile and doesn’t mirror the rest of the guide.

-var ecosystemWalletOptions = new EcosystemWalletOptions(ecosystemId: "ecosystem.your-ecosystem", authprovider: AuthProvider.SiweExternal)
+var ecosystemWalletOptions = new EcosystemWalletOptions(
+    ecosystemId: "ecosystem.your-ecosystem",
+    authProvider: AuthProvider.SiweExternal
+);
 ...
-var wallet = await ConnectWallet(options);
+var wallet = await ThirdwebManager.Instance.ConnectWallet(options);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
var ecosystemWalletOptions = new EcosystemWalletOptions(ecosystemId: "ecosystem.your-ecosystem", authprovider: AuthProvider.SiweExternal)
var options = new WalletOptions(
provider: WalletProvider.EcosystemWallet,
chainId: 421614,
ecosystemWalletOptions: ecosystemWalletOptions
);
var wallet = await ConnectWallet(options);
```
var ecosystemWalletOptions = new EcosystemWalletOptions(
ecosystemId: "ecosystem.your-ecosystem",
authProvider: AuthProvider.SiweExternal
);
var options = new WalletOptions(
provider: WalletProvider.EcosystemWallet,
chainId: 421614,
ecosystemWalletOptions: ecosystemWalletOptions
);
var wallet = await ThirdwebManager.Instance.ConnectWallet(options);
🤖 Prompt for AI Agents
In apps/portal/src/app/unity/v6/wallets/ecosystem-wallet/page.mdx around lines
103-110 the snippet is missing a terminating semicolon after the
EcosystemWalletOptions instantiation and is calling an undefined ConnectWallet
helper; update the code to terminate the EcosystemWalletOptions line with a
semicolon and replace the ConnectWallet(...) call with
ThirdwebManager.Instance.ConnectWallet(...) (keeping the await and passing the
same options), ensuring the surrounding method is async if needed.

@vercel vercel bot temporarily deployed to Preview – wallet-ui September 27, 2025 17:20 Inactive
@vercel vercel bot temporarily deployed to Preview – nebula September 27, 2025 17:20 Inactive
@vercel vercel bot temporarily deployed to Preview – thirdweb-www September 27, 2025 17:20 Inactive
@vercel vercel bot temporarily deployed to Preview – thirdweb_playground September 27, 2025 17:20 Inactive
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 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 0f98e01 and 9acb116.

📒 Files selected for processing (7)
  • apps/portal/src/app/dotnet/godot/page.mdx (1 hunks)
  • apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/contracts/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/getting-started/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/ecosystem-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/unity/v6/wallets/in-app-wallet/page.mdx (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/portal/src/app/dotnet/wallets/user-wallet/page.mdx
🚧 Files skipped from review as they are similar to previous changes (3)
  • apps/portal/src/app/unity/v6/wallets/ecosystem-wallet/page.mdx
  • apps/portal/src/app/unity/v6/wallets/in-app-wallet/page.mdx
  • apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx
⏰ 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). (6)
  • GitHub Check: Unit Tests
  • GitHub Check: Lint Packages
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: Size
  • GitHub Check: Analyze (javascript)

<ItemGroup>
<!-- Other NuGet package references -->
<PackageReference Include="Thirdweb" Version="2.4.0" />
<PackageReference Include="Thirdweb" Version="3.0.0" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Incorrect NuGet version reference

As of September 27, 2025, the latest published Thirdweb NuGet package is 2.25.1; 3.0.0 does not exist, so following this instruction will cause restore failures. Please revert to the actual version (or add guidance to check NuGet for the current release) before publishing. (nuget.org)

-  <PackageReference Include="Thirdweb" Version="3.0.0" />
+  <PackageReference Include="Thirdweb" Version="2.25.1" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<PackageReference Include="Thirdweb" Version="3.0.0" />
<PackageReference Include="Thirdweb" Version="2.25.1" />
🤖 Prompt for AI Agents
In apps/portal/src/app/dotnet/godot/page.mdx around line 27 the PackageReference
pins a non-existent Thirdweb version "3.0.0", causing NuGet restore failures;
change the Version to the actual published package (e.g., "2.25.1") or replace
the hardcoded version with a note/instruction to check nuget.org for the current
release and update the PackageReference accordingly (prefer pinning a known-good
exact version for reproducible builds or adding guidance to fetch the latest
before publishing).

Comment on lines +30 to +34
<ArticleIconCard
href="/dotnet/contracts/read"
icon={GraduationCap}
title="Interact with Smart Contracts"
/> No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Correct the ArticleIconCard cross-link.

This CTA sits on a Unity SDK doc but routes readers to the .NET contracts path (/dotnet/contracts/read). They’ll end up on the wrong stack’s guide, breaking the Unity flow and likely confusing users. Please swap the href to the Unity-specific contracts guide that matches this page’s context before we ship.

🤖 Prompt for AI Agents
In apps/portal/src/app/unity/v6/contracts/page.mdx around lines 30–34, the
ArticleIconCard CTA currently links to the .NET contracts guide
(/dotnet/contracts/read); update the href to the Unity-specific contracts guide
(e.g. /unity/contracts/read or the correct Unity v6 contracts path used
elsewhere in the repo) so the card routes readers to the Unity SDK contracts
guide that matches this page’s context.

@0xFirekeeper 0xFirekeeper merged commit 2c84ac4 into main Sep 27, 2025
24 checks passed
@0xFirekeeper 0xFirekeeper deleted the firekeeper/dotnet-v3-unity-v6 branch September 27, 2025 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Portal Involves changes to the Portal (docs) codebase.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant