-
Notifications
You must be signed in to change notification settings - Fork 588
[Portal] .NET v3 & Unity v6 Documentation #8140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Closes BLD-349
|
The latest updates on your projects. Learn more about Vercel for GitHub.
4 Skipped Deployments
|
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
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. |
WalkthroughTop-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
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
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
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches🧪 Generate unit tests
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
size-limit report 📦
|
There was a problem hiding this 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
andquantity
/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 ifPrepare
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
vsvariant
) across pages.This page uses
type="info"
while the Create page usesvariant="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 usesvariant
here buttype
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.
⛔ 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 localtypes.ts
barrels
Prefer type aliases over interface except for nominal shapes
Avoidany
andunknown
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
Prefertype
aliases overinterface
except for nominal shapes
Avoidany
andunknown
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 docsPointing 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 ofServerWallet.Create
expectationsThe 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 flowsThe creation snippets and parameter table reflect the
InAppWallet.Create
/EcosystemWallet.Create
contracts, including ecosystem-specific knobs likeecosystemPartnerId
,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 workingUpdating 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 goodThe 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 APII 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, preferawait 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 bothwallet
andcontract
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 atapps/portal/src/app/dotnet/transactions/prepare/page.mdx
.
apps/portal/src/app/unity/v6/wallets/account-abstraction/page.mdx
Outdated
Show resolved
Hide resolved
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); | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
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.
There was a problem hiding this 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.
📒 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" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
<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).
<ArticleIconCard | ||
href="/dotnet/contracts/read" | ||
icon={GraduationCap} | ||
title="Interact with Smart Contracts" | ||
/> No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
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
.mdx
files related to.NET
quickstart and wallet providers.Thirdweb
package version from2.4.0
to3.0.0
.unityRedirects
to change the path from/unity/v5
to/unity/v6
.ArticleIconCard
components to reflect new titles and hrefs.ThirdwebTransaction.Create
section for clarity on workflows.Layout
component inlayout.tsx
for better page structure.ThirdwebManager
and its configuration options.EcosystemWallet
andInAppWallet
documentation, including login methods.Summary by CodeRabbit
New Features
Documentation
Chores