<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the chat functionality in the `nebula-app` by introducing support for image messages and refactoring the message history structure. It also adds new components for image handling and feedback actions.
### Detailed summary
- Added `request_id` to action messages in `Chats.stories.tsx`.
- Introduced `NebulaSessionHistoryMessage` type in `types.ts`.
- Updated `history` in `SessionInfo` to use `NebulaSessionHistoryMessage`.
- Implemented image message handling in `chat.ts`.
- Refactored `promptNebula` to include `request_id`.
- Created `NebulaImage` component for rendering images.
- Added `MessageActions` component for user feedback.
- Refactored `ChatPageContent` to utilize new message parsing logic.
- Updated message rendering in `Chats` to support image types.
- Removed redundant code for message handling in `ChatPageContent`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR removes a block of code that redirects requests for the `nebula-app` path to a new URL format. This change likely simplifies the routing logic in the application.
### Detailed summary
- Removed the conditional block that checked if the first path was `nebula-app`.
- Deleted the logic to construct a new URL and redirect to `nebula.thirdweb.com`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the wallet management system in the `Nebula` application. It enhances context handling, modifies wallet address management, and improves the integration of active accounts.
### Detailed summary
- Replaced `activeAccountAddress` with `selectedAddress` in multiple components.
- Updated context handling to use `setContext`.
- Enhanced `WalletSelector` to use the new `selectedAddress`.
- Refactored state management for context filters in `ChatPageContent`.
- Added memoization for context filters to optimize performance.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the checkout experience in the `dashboard` app by integrating analytics and improving the layout and structure of the checkout components.
### Detailed summary
- Removed a redirect from `"/checkout"` to `"/connect"` in `apps/dashboard/redirects.js`.
- Added `THIRDWEB_ANALYTICS_DOMAIN` to `urls.ts`.
- Created `Providers` component to wrap children with `ThirdwebProvider`.
- Enhanced `CheckoutLayout` with `ThemeProvider` and layout structure.
- Updated `CheckoutEmbed` to utilize new analytics domain and handle payment success.
- Implemented a new `RoutesPage` for handling checkout logic and parameters.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the deletion of numerous asset files from the `apps/dashboard/public` directory and an update to the `logUnusedAssets.ts` script to adjust how asset file names are checked within the content.
### Detailed summary
- Deleted multiple asset files from `apps/dashboard/public/logos`, `apps/dashboard/public/assets`, and `apps/dashboard/public/assets/community/gallery`.
- Modified the `logUnusedAssets.ts` script:
- Changed the condition to check for asset file names to include a leading slash: `if (content.includes(`/${assetFileName.name}`))`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the billing components in the dashboard by adding `teamSlug` as a prop to various components, allowing for better integration of team-specific billing information.
### Detailed summary
- Added `teamSlug` prop to `<CreditsInfoCard />` in `Billing/index.tsx`.
- Updated `<SmartWalletsBillingAlert />` to receive `teamSlug` in `AccountAbstractionPage.tsx`.
- Modified `CreditsInfoCard` to use `teamSlug` prop.
- Enhanced `SmartWalletsBillingAlert` to accept `teamSlug` as a prop.
- Passed `teamSlug` to the `href` in `SmartWalletsBillingAlert`.
- Included `teamSlug` in `CreditsItem` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing several components related to onboarding and image handling from the project, as well as updating the `layout.tsx` file to eliminate the use of the `OpCreditsGrantedModalWrapperServer` component.
### Detailed summary
- Deleted the following files:
- `apps/dashboard/src/components/Image/index.tsx`
- `apps/dashboard/public/assets/dashboard/confetti.gif`
- `apps/dashboard/src/components/icons/brand-icons/OpenseaIcon.tsx`
- `apps/dashboard/src/components/onboarding/OpCreditsGrantedModal.tsx`
- `apps/dashboard/src/components/onboarding/OpCreditsGrantedModalWrapper.tsx`
- `apps/dashboard/src/components/onboarding/OpCreditsGrantedModalWrapperServer.tsx`
- Removed the `<OpCreditsGrantedModalWrapperServer />` component from the `layout.tsx` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the team management functionality in the `TeamRootPage` component by replacing the method for retrieving the team with a new function that checks for the last visited team or defaults to a standard team. This improves user experience by remembering the last team visited.
### Detailed summary
- Replaced `getDefaultTeam` with `getLastVisitedTeamOrDefaultTeam` in `TeamRootPage`.
- Updated the condition to check if a team is available.
- Changed the redirect URL to use the slug of the newly retrieved `team`.
- Added `getLastVisitedTeamOrDefaultTeam` function in `team.ts` to handle team retrieval logic using cookies.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `force` option for the auto-connect functionality in the `thirdweb` wallet, allowing users to force an auto-connect attempt even if a previous attempt was successful.
### Detailed summary
- Added `force` option to `AutoConnectProps` in `autoConnect.ts`.
- Updated `autoConnectCore` to respect the `force` option, allowing multiple connect attempts.
- Modified tests in `autoConnectCore.test.ts` to include the `force` option in various scenarios.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the link for the `ConnectButton` component's theme documentation from Notion to the official Thirdweb portal, ensuring users have access to the most accurate and current information.
### Detailed summary
- Changed the link for the `ConnectButton` component's theme documentation from Notion to the official Thirdweb portal.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `page.mdx` file for the Nebula project, transitioning its status from Alpha to Beta and adding a new feature to encourage users to try the live version.
### Detailed summary
- Added `ArticleIconCard` component import from `@doc`.
- Changed status from Alpha to Beta.
- Introduced a new section with a `Stack` containing an `ArticleIconCard` to promote trying Nebula live.
- Updated the link in the `ArticleIconCard` to point to the live Nebula page.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces validation schemas for team slugs and names using `zod`, refactors the `TeamInfoForm` and `TeamGeneralSettingsPageUI` components to utilize these schemas, and enhances form handling and error messaging.
### Detailed summary
- Added `teamSlugSchema` and `teamNameSchema` for validation.
- Refactored `TeamInfoForm` to use `teamNameSchema` and `teamSlugSchema`.
- Updated form submission handling in `TeamInfoForm` and `TeamSlugFormControl`.
- Improved error handling and messaging for team name and slug inputs.
- Removed redundant validations and constants from `TeamInfoForm`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `NebulaChatButton` component by adding an `isLoggedIn` prop across various instances, affecting its behavior based on user authentication. It also updates the `useNebulaAuthToken` hook to accept an `isLoggedIn` parameter, improving its functionality.
### Detailed summary
- Added `isLoggedIn` prop to `NebulaChatButton` in:
- `layout.tsx` for chain page
- `page.tsx` for support page
- `layout.tsx` for contract page
- Updated `NebulaChatButton` to pass `isLoggedIn` to `NebulaChatUIContainer`.
- Modified `useNebulaAuthToken` to accept `isLoggedIn` and updated query key accordingly.
- Changed loading state check from `isPending` to `isFetching`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR removes a redirect feature for team paths in the `middleware.ts` file and introduces a new page component in `page.tsx` that allows users to select a team when they belong to multiple teams, enhancing the team selection experience.
### Detailed summary
- Removed redirect logic for `/team/~/...` paths in `middleware.ts`.
- Added a new page component in `page.tsx` for team selection.
- Implemented fetching of teams and authentication token using `Promise.all`.
- Included UI elements for displaying teams and their details.
- Introduced `createTeamLink` function to generate team-specific links.
- Utilized components like `GradientAvatar`, `TeamHeader`, and `AppFooter` for layout.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `label` prop of the `AnnouncementBannerUI` component to enhance the messaging about the Nebula App.
### Detailed summary
- Changed the `label` prop from "Nebula AI Beta is out and open to all" to "Announcing Nebula App — the most powerful AI for blockchains! Try it now!" in the `AnnouncementBannerUI` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the `NebulaChatButton` component by modifying authentication handling, improving the login process, and introducing a new method for managing the Nebula authentication token.
### Detailed summary
- Removed `authToken` from several components.
- Updated `doLogin` function to accept `loginPayload`.
- Introduced `getNebulaAuthToken` to manage token retrieval.
- Replaced `Suspense` with a new `ChatContent` component for better token handling.
- Added `useNebulaAuthToken` hook to fetch authentication token using React Query.
- Enhanced error handling and login flow in `doNebulaLogin`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces logic to handle transactions involving native tokens in the `SwapTransactionCardLayout` component. It determines if the transaction involves selling a native token and adjusts the transaction data accordingly.
### Detailed summary
- Added a constant `isSellingNativeToken` to check if the transaction involves selling the native token.
- Updated the transaction object to conditionally set `erc20Value` based on whether the native token is being sold.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ChatPageContent` and `Chats` components by managing message handling and improving the logic for sending prompts based on the presence of subsequent messages.
### Detailed summary
- Removed logic to delete the last message if it is of type `presence` in `ChatPageContent.tsx`.
- Added `nextMessage` prop to `RenderMessage` in `Chats.tsx`.
- Updated `onTxSettled` to prevent sending prompts if the `nextMessage` is of type `action`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new component, `ProjectIdCard`, to display the project ID in the `ProjectGeneralSettingsPage`. This component allows users to copy the project ID easily.
### Detailed summary
- Added `ProjectIdCard` component to display project ID.
- Integrated `ProjectIdCard` into `ProjectGeneralSettingsPage`.
- `ProjectIdCard` includes a `SettingsCard` with a title, description, and a `CopyTextButton` for copying the project ID.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the chain fetching functionality within the application. It renames and updates the `getChains` function to `getChainsForNebula`, introduces a new utility `fetchChainWithLocalOverrides`, and modifies various components to utilize these changes.
### Detailed summary
- Renamed `getChains` to `getChainsForNebula` in `getChainIds.ts`.
- Updated references to `getChains` in `page.tsx` and `login/page.tsx` to use `getChainsForNebula`.
- Introduced `fetchChainWithLocalOverrides` in `fetchChainWithLocalOverrides.ts`.
- Replaced `fetchChain` with `fetchChainWithLocalOverrides` in `getSortedDeployedContracts.tsx` and `getContractFromParams.ts`.
- Removed redundant local chain fetching logic from `getContractFromParams.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring transaction handling in the `Nebula` application, improving message types, and enhancing UI components for transaction approval and execution.
### Detailed summary
- Updated `TransactionButton` spacing from `gap-3` to `gap-2`.
- Changed message types from `"send_transaction"` to `"action"` with a `subtype`.
- Removed `InvalidTxData` story.
- Introduced `NebulaSwapData` type for better structure.
- Added `ApproveTransactionCard` and `SwapTransactionCard` components.
- Enhanced error handling in transaction processing.
- Updated `ExecuteTransactionCard` to use `useTxSetup` for transaction status management.
- Improved UI components for displaying transaction status and hashes.
- Refined `Chats` component to render messages based on new action types.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `Reasoning` component in the `Reasoning.tsx` file by improving the handling of text display based on the `isPending` prop, adding conditional rendering for showing all texts or just the last one.
### Detailed summary
- Added `showAll` variable to determine if all texts should be displayed.
- Introduced `lastText` to hold the last item from `props.texts`.
- Updated the rendering logic to conditionally show all texts or just the last one based on `showAll`.
- Changed `<span>` to `<span className="text-foreground">` for styling consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the chat application by removing the usage of `newChatPageUrlStore` and replacing it with layout segment navigation. It streamlines the chat page link logic and cleans up unused code related to session ID management.
### Detailed summary
- Removed `newChatPageUrlStore` from `stores.ts` and `useNewChatPageLink.ts`.
- Updated `useNewChatPageLink` to use `useSelectedLayoutSegment` for navigation.
- Removed session ID management logic from `ChatPageContent.tsx`.
- Cleaned up unused state and callback related to session ID.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `AnnouncementBanner` component to promote the launch of "Nebula AI Beta" instead of the previous link to a payment playground.
### Detailed summary
- Changed `href` from "https://playground.thirdweb.com/connect/pay" to "https://nebula.thirdweb.com/"
- Updated `label` from "Let users pay with whatever they have without leaving your app" to "Nebula AI Beta is out and open to all"
- Modified `trackingLabel` from "ub-launch" to "nebula-beta-launch"
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR modifies the `NebulaConnectButton` component by adding an `autoConnect` prop set to `false`, clarifying that an `AutoConnect` feature is already implemented at the root layout with an AA configuration.
### Detailed summary
- Added `autoConnect={false}` prop to the `NebulaConnectButton` component.
- Included a comment indicating that an `AutoConnect` is already present in the root layout with AA configuration.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the text displayed within the `Badge` component in the `ChatSidebar.tsx` file, changing it from "Alpha" to "Beta".
### Detailed summary
- Changed the text inside the `Badge` component from `Alpha` to `Beta`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## [Portal] Fix: Remove webhook verification details from documentation
## Notes for the reviewer
This PR simplifies the webhooks documentation by removing detailed information about the webhook verification process, including OTP verification steps, URL updating requirements, and the API endpoints for verification and OTP resending.
## How to test
Review the updated documentation page to ensure it still provides clear information about the core webhook management functionality without the removed verification details.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the chat application by introducing a new `TextShimmer` component, modifying message handling for `presence` types, and updating styles in the CSS and Tailwind configuration for improved visual effects.
### Detailed summary
- Updated `FloatingChatContent.tsx` to use `texts` instead of `text` for presence messages.
- Introduced `TextShimmer` component in `text-shimmer.tsx`.
- Modified `Reasoning` component to handle `texts` prop.
- Updated `Chats` component to render `Reasoning` for presence messages.
- Enhanced CSS with new background and color styles.
- Added `text-shimmer` animation in `tailwind.config.js`.
- Updated story definitions in `Reasoning.stories.tsx` and `Chats.stories.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing error handling and logging in the `extractSearchData.ts` and `extractLLMData.ts` scripts, while also updating the content of the `llms.txt` file with new documentation.
### Detailed summary
- Added logging for successful extraction in `extractSearchData.ts` and `extractLLMData.ts`.
- Implemented error handling with `try-catch` blocks in both scripts.
- Updated `llms.txt` with new documentation content, including UI components, transactions, and hooks.
> The following files were skipped due to too many changes: `apps/portal/public/llms.txt`, `apps/portal/public/llms-full.txt`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `EmptyStateChatPageContent` component by adding a new `showAurora` prop to control the display of an `Aurora` visual effect. It also adjusts the `isConnectingWallet` prop based on connection status and updates styles for better layout.
### Detailed summary
- Added `showAurora` prop to `EmptyStateChatPageContent` in multiple files.
- Updated `isConnectingWallet` logic based on connection status.
- Modified layout styles in `EmptyStateChatPageContent` for improved appearance.
- Introduced `Aurora` component with specific styles for visual effects.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `MismatchButton` and `ChatBar` components in the dashboard by adding new props and improving wallet connection handling, including a spinner for pending connections and sorting wallets.
### Detailed summary
- Added `isPending` prop to `MismatchButton`.
- Updated `showSpinner` logic in `MismatchButton`.
- Removed redundant wallet selection logic from `ChatBar`.
- Introduced conditional rendering for `WalletSelector` and `Badge` in `ChatBar`.
- Added sorting for wallets in `WalletSelector` to prioritize the "smart" account.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `Nebula` application by introducing a new color scheme, refining components, and improving accessibility. It adds a `nebula-pink` color variant, modifies component styles, and updates layouts for better user experience.
### Detailed summary
- Added `::selection` style in `nebula-global.css`.
- Introduced `nebula-pink` color variant in `tailwind.config.js`.
- Exported `useIsClientMounted` function in `ClientOnly.tsx`.
- Updated global CSS variables for `nebula-pink-foreground`.
- Modified button styles to utilize `nebula-pink`.
- Adjusted layout and component styles for better aesthetics and usability.
- Enhanced accessibility by refining header and button elements.
- Implemented a theme toggle button in `ChatSidebar`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the billing-related functionalities and improving the loading and error handling components in the application. It removes unnecessary async functions for URL retrieval and replaces them with direct URL constructions.
### Detailed summary
- Removed async functions for `getBillingPortalUrl` and `getBillingCheckoutUrl`.
- Introduced `buildCheckoutUrl`, `buildCancelPlanUrl`, and `buildBillingPortalUrl` functions.
- Updated components to use the new URL-building functions.
- Enhanced loading and error handling components: `Loading`, `StripeRedirectErrorPage`.
- Simplified storybook components by removing unnecessary props.
- Updated billing-related components to reflect changes in URL handling.
- Cleaned up imports and removed unused variables related to billing URLs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding a `networks` property to various components and functions within the application, enhancing the context management for network-related data across the dashboard.
### Detailed summary
- Added `networks` property in `NebulaLoginPage.tsx`.
- Updated `NebulaChatButton` components in multiple files to accept `networks`.
- Modified context handling to include `networks` in session updates and chat functionalities.
- Adjusted `ChatBar` and `ChatPageContent` components to utilize `networks`.
- Enhanced API interactions in `session.ts` and `chat.ts` to handle `networks`.
- Updated storybook stories to reflect changes in context with `networks`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `isOnProjectPage` boolean prop across various components to enhance the handling of project-specific logic in the UI, particularly in team selection and header components.
### Detailed summary
- Added `isOnProjectPage` prop to `TeamSelectorMobileMenuButton`.
- Updated `TeamSelectionUI` to accept `isOnProjectPage` and utilize it for link generation.
- Modified link logic in `TeamSelectionUI` based on `isOnProjectPage`.
- Adjusted `AccountHeaderUI` and `TeamHeaderUI` to pass the new prop.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
- Handle refs and metadata format (solc vs zksolc) for modules
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing module deployment issues in the `thirdweb` package, particularly with references and zk (zero-knowledge) support. It modifies contract deployment utilities and enhances the fetching of published contracts.
### Detailed summary
- Updated the `getOrDeployInfraContractFromMetadata` function to simplify contract retrieval.
- Changed the deployment logic to use `deployContractfromDeployMetadata`.
- Enhanced `fetchPublishedContractsFromDeploy` to handle zkSync chains and fetch metadata appropriately.
- Added new types and improved error handling for contract metadata fetching.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the documentation for fetching user details from the in-app wallet API, providing clearer instructions, examples, and a new method for retrieving user data.
### Detailed summary
- Changed the title from `Get Users` to `Fetch a Single User`.
- Added detailed instructions for fetching user details via a `GET` request.
- Specified query parameters and their descriptions.
- Included authentication requirements.
- Provided example `curl` commands for fetching user details by email and wallet address.
- Described the response format for the API.
- Introduced convenience methods using the `getUser` method from the thirdweb SDK.
- Updated the command for fetching all users from `POST` to `GET`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the team onboarding and member management features by introducing a `client` prop for API interactions, implementing recommended members functionality, and updating various components to utilize this new feature effectively.
### Detailed summary
- Added `client` prop to `InviteTeamMembers` and related components.
- Implemented `getRecommendedMembers` function to fetch recommended team members.
- Updated `TeamMembersSettingsPage` to display recommended members.
- Enhanced `InviteSection` to handle recommended members.
- Modified story files to include new client interactions and recommended members.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the `InviteSection` component by modifying the form handling logic and enhancing the user interface with additional functionality.
### Detailed summary
- Removed the `useEffect` hook that reset the mutation result on form updates.
- Changed the form's `onChange` to reset the mutation result if `sendInvites.data` exists.
- Updated the button layout to include a `Reset` button for clearing the form and resetting invites.
- Adjusted class names for better spacing and alignment.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding a favicon to the `nebula-app` by linking the favicon file in the HTML head section.
### Detailed summary
- Added a `<link>` element to the `<head>` of the HTML to include the favicon located at `/assets/nebula/favicon.ico`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the session cookie expiration time from 3 days to 14 days by introducing a constant `FOURTEEN_DAYS_IN_SECONDS`. This change is reflected in multiple functions related to user login and session management.
### Detailed summary
- Added constant `FOURTEEN_DAYS_IN_SECONDS` set to `14 * 24 * 60 * 60`.
- Updated `maxAge` for cookies in `doNebulaLogin` to `FOURTEEN_DAYS_IN_SECONDS`.
- Updated `maxAge` for cookies in `isNebulaLoggedIn` to `FOURTEEN_DAYS_IN_SECONDS`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `TransactionButton` and `MismatchButton` components by incorporating wallet connection status and improving transaction handling. It introduces logic for determining if a transaction requires external confirmation based on the connected wallets.
### Detailed summary
- Added `useConnectedWallets` to `TransactionButton`.
- Introduced `canSendTransactionWithoutConfirmation` function to check if a wallet can send transactions without confirmation.
- Removed `isGasless` prop from `TransactionButton`.
- Updated `MismatchButton` to include `isPending` prop.
- Added connection status handling in `MismatchButton`.
- Enhanced transaction handling based on network mismatch and wallet conditions.
- Implemented `canSwitchNetworkWithoutConfirmation` function to determine switching requirements.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the transaction message in the `Chats` component to use a new function for generating the prompt, enhancing clarity and consistency in user communication.
### Detailed summary
- Replaced the inline message in `onTxSettled` with a call to `getTransactionSettledPrompt`.
- Added the `getTransactionSettledPrompt` function, which formats a detailed success message for a settled transaction.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refining the styling of various components in the dashboard application, enhancing visual consistency and layout adjustments.
### Detailed summary
- In `Chats.tsx`, removed a conditional class for the `assistant` type.
- In `ExecuteTransactionCard.tsx`, adjusted padding from `py-6` to `py-5`.
- In `markdown-renderer.tsx`, modified heading margins and added an `hr` element.
- Updated list margins in `MarkdownRenderer`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `FloatingChat` component by renaming it to `NebulaChatButton` and adding support for a new `support` page type. It also updates various components and their usage across the application to reflect this change.
### Detailed summary
- Renamed `NebulaFloatingChatButton` to `NebulaChatButton`.
- Added `support` as a new value for the `pageType` property.
- Updated imports and component usage to reflect the new name.
- Added `isFloating` prop to `NebulaChatButton`.
- Modified `SupportPage` to utilize `NebulaChatButton` for support inquiries.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the UI and functionality of the `ExecuteTransactionCard` component in the dashboard app. It includes visual improvements and adjustments to transaction handling.
### Detailed summary
- Updated the border styling for child elements in the main `div`.
- Changed text styles for labels (`From`, `To`, `Value`, `Status`, and `Transaction Hash`) to use `font-medium`.
- Added a conditional rendering for the footer based on transaction status.
- Improved transaction tracking event labels.
- Refactored the transaction submission logic for clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Closes TOOL-4290
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the sidebar in the `sidebar.tsx` file, changing a menu item to better reflect its content.
### Detailed summary
- Changed the menu item name from `Full Reference` to `Contract Extensions`.
- Updated the `href` from `https://thirdweb-dev.github.io/dotnet/index.html` to `/dotnet/contracts/extensions`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `ChatPageContent` component by adding the `accountAddress` prop and updates various pages to retrieve and pass this new data. It ensures that both `authToken` and `accountAddress` are validated before proceeding.
### Detailed summary
- Added `accountAddress` prop to `ChatPageContent`.
- Updated `walletAddress` assignment to prioritize `props.accountAddress`.
- Modified `Page` components to fetch `accountAddress` using `getNebulaAuthTokenWalletAddress`.
- Updated authentication checks to validate both `authToken` and `accountAddress`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `page.mdx` file in the `faq` section of the `ecosystem` by modifying the mention of `WalletConnect` to reflect its new branding as `Reown` and clarifying the billing details without altering the content.
### Detailed summary
- Changed the heading from `WalletConnect (Coming Soon)` to `WalletConnect [(now Reown)](https://reown.com/)`.
- No content changes in the billing section, but ensured proper formatting by adding a newline at the end of the file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the chat and transaction components by adding a `sendMessage` prop and handling transaction settlement events. It improves the interaction between components and provides better logging for transaction settlements.
### Detailed summary
- Added `sendMessage` prop to `FloatingChatContent` and `ChatPageContent`.
- Introduced `onTxSettled` callback in `ExecuteTransactionCard` and `ExecuteTransactionCardLayout`.
- Enhanced `Chats` component to utilize `sendMessage` for transaction confirmations.
- Implemented logging for transaction settlements in `ExecuteTransactionCard`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on the removal of various glossary-related files and the addition of new features and content in the sidebar navigation for different sections of the application.
### Detailed summary
- Deleted multiple `.mdx` files related to the glossary in `apps/portal/src/app/glossary/`.
- Updated sidebar navigation in `apps/portal/src/app/account/sidebar.tsx` to rename "API Keys" to "Projects" and added "Transfer Projects".
- Added new sidebar entry "Playground" in `apps/portal/src/app/engine/sidebar.tsx`.
- Enhanced `apps/portal/src/app/account/api-keys/transfer-projects/page.mdx` with steps for transferring projects, including images.
- Improved `apps/portal/src/app/connect/pay/fees/page.mdx` with detailed explanations of fees.
- Introduced `glossaryRedirects` in `apps/portal/redirects.mjs` for various glossary pages.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the authentication and client configuration for the `Nebula` application by replacing the usage of the `DASHBOARD_THIRDWEB_SECRET_KEY` with `NEBULA_APP_SECRET_KEY`, and modifying the thirdweb client setup.
### Detailed summary
- Added `NEXT_PUBLIC_NEBULA_APP_CLIENT_ID` and `NEBULA_APP_SECRET_KEY` to `env.ts`.
- Replaced `nebulaThirdwebClient` with `nebulaAppThirdwebClient` in `EmptyStateChatPageContent.tsx`.
- Updated headers in `auth-actions.ts` to use `NEBULA_APP_SECRET_KEY`.
- Refactored `nebulaThirdwebClient.ts` to create a new client using `NEBULA_APP_SECRET_KEY` and `NEXT_PUBLIC_NEBULA_APP_CLIENT_ID`.
- Updated `NebulaConnectWallet` component to use `nebulaAppThirdwebClient`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of team billing plans across various components in the application. It introduces new properties for better plan management and refines the UI elements related to billing features.
### Detailed summary
- Added `teamSlug` prop to several components for better context.
- Changed `validTeamPlan` to `teamPlan` in multiple files for consistency.
- Introduced `planToTierRecordForGating` to manage billing plans.
- Updated UI components to reflect new billing logic and props.
- Refactored `GatedSwitch` to utilize `currentPlan` and `requiredPlan`.
- Enhanced form handling in `InAppWalletSettingsUI` and other components to reflect billing plan changes.
- Renamed story exports for clarity in `GatedSwitch` stories.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on adding a new property, `unthreadCustomerId`, to the `TeamResponse` structure across various files, enhancing the data model for teams in the application.
### Detailed summary
- Added `unthreadCustomerId: null` to the `TeamResponse` in `apps/dashboard/src/stories/stubs.ts`.
- Updated `validTeamAndProjectResponse` to include `unthreadCustomerId` in `packages/service-utils/src/mocks.ts`.
- Defined `unthreadCustomerId: string | null` in the `TeamResponse` interface in `packages/service-utils/src/core/api.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the SDK Bridge functionality by standardizing parameter naming, introducing a `purchaseData` field, and improving quote structures with a `steps` array. It also updates API interactions to use JSON bodies for complex data.
### Detailed summary
- Standardized parameter naming: `buyAmountWei` and `sellAmountWei` changed to `amount`.
- Added optional `purchaseData` parameter to Buy and Sell functions.
- Introduced `steps` array in quotes for detailed transaction information.
- Enhanced status responses to include `purchaseData`.
- Updated API interactions to use JSON body instead of query parameters for prepare functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `ExploreCategoryPage` component in the `page.tsx` file to utilize a new client obtained from `getThirdwebClient` instead of passing it as a prop. This change simplifies the component's props and enhances its internal logic.
### Detailed summary
- Removed the `client` prop from `ExploreCategoryPageProps`.
- Introduced `const client = getThirdwebClient(undefined);` to obtain the client internally.
- Updated the `client` prop of the `ContractCard` component to use the newly defined `client` variable instead of `props.client`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: TOOL-4244
# Add support for additional languages in Framer rewrites
This PR adds support for additional languages in the Framer rewrite paths. It introduces a new constant `FRAMER_ADDITIONAL_LANGUAGES` with Spanish ("es") as the initial additional language.
The rewrites configuration has been updated to:
- Keep the existing English paths
- Generate additional paths for each language in the format `/{lang}{path}`
- Direct these paths to the corresponding landing page URLs
This change enables proper routing for localized landing pages.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `useNFTDrawerTabs` function by improving the owner address comparison for NFTs. It now uses the `checksumAddress` utility to ensure that both the NFT owner and the account address are valid checksummed addresses before comparing them.
### Detailed summary
- Added import for `checksumAddress` from `thirdweb/utils`.
- Updated the owner address comparison in the `useNFTDrawerTabs` function to use `checksumAddress`.
- Ensured that both `accountAddress` and `nft.owner` are checked for validity before comparison.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
# Update Team Plan Pricing
This PR updates the pricing for all team plans:
- **Starter**: Increased from $5 to $9
- **Growth**: Increased from $75 to $79
- **Accelerate**: Decreased from $250 to $249
- **Scale**: Increased from $500 to $549
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the integration of the `ThirdwebClient` across various components in the application, enabling better management of blockchain interactions and improving the overall architecture for network handling.
### Detailed summary
- Removed `chainId` parameter from `auth-actions.ts`.
- Updated various components to include `client` prop for `ThirdwebClient`.
- Modified `ChainIconClient` to use `src` instead of `ipfsSrc`.
- Integrated `client` in `SingleNetworkSelector`, `MultiNetworkSelector`, and other related components.
- Enhanced `NebulaLoginPage` to handle multiple chains.
- Refactored `EmptyStateChatPageContent` to support wallet management.
- Updated story files to include `client` for testing.
- Removed obsolete code related to chain ID fetching.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/nebula-app/(app)/components/ChatPageContent.tsx`, `apps/dashboard/src/@/components/blocks/multi-select.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatBar.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on commenting out the coupon application UI components and related functionality in the `CouponsUI` component, indicating that the feature is disabled for now and will be revisited in the future.
### Detailed summary
- Commented out the entire `Dialog` component for applying coupons.
- Commented out the `applyCouponFormSchema` and its related form handling logic.
- Disabled the submission functionality for applying coupons.
- Added comments indicating that the coupon UI will be enabled later.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `CancelTransactionButton` component to use `useMutation` from `@tanstack/react-query` for handling transaction cancellation, replacing the previous notification handling with `toast` for success and error messages.
### Detailed summary
- Added `useMutation` from `@tanstack/react-query`.
- Removed `useTxNotifications` and its related logic.
- Implemented `cancelTransactionMutation` for handling the cancellation request.
- Replaced the old `onClickContinue` function with `cancelTransactions` to manage async mutation.
- Updated the button to use `cancelTransactions` and reflect loading state.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `BrandingFieldset` component by introducing an `AppImageFormControl` for managing application images, while also refining the handling of branding properties in the form.
### Detailed summary
- Added `Team` type import.
- Introduced `useThirdwebClient` and `resolveSchemeWithErrorHandler`.
- Modified `BrandingFieldset` to swap `applicationName` and `applicationImageUrl` fields.
- Created `AppImageFormControl` for image upload handling.
- Integrated image upload logic with error handling using `toast`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `TokenIdPage` components by adding `accountAddress` as a prop and updating several related functionalities to improve user experience and state management.
### Detailed summary
- Added `accountAddress` prop to `TokenIdPageClient` and `TokenIdPage`.
- Updated `Page` component to fetch `accountAddress` using `getAuthTokenWalletAddress`.
- Modified `TransferTab` to use `sendTxAndConfirm` for transaction handling.
- Updated ownership check in `useNFTDrawerTabs` to compare against `accountAddress`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `className` property of the `<thead>` component in two files to simplify its styling.
### Detailed summary
- Updated `className` in `<thead>` component in `apps/dashboard/src/@/components/ui/table.tsx`:
- Changed from a complex string with multiple classes to a simpler string: `"relative border-b bg-background"`.
- Applied the same change in `apps/playground-web/src/components/ui/table.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `href` property in the `ProjectFTUX` component to include the `projectSlug`, enhancing the link structure for better navigation within the application.
### Detailed summary
- Updated the `href` in the `ProjectFTUX` component from `/team/${props.teamSlug}/~/nebula` to `/team/${props.teamSlug}/${props.projectSlug}/nebula`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `NebulaFloatingChatButton` and related components by introducing a `pageType` prop, allowing the chat functionality to differentiate between "chain" and "contract" contexts. It also integrates tracking events for user interactions.
### Detailed summary
- Added `pageType` prop to `NebulaFloatingChatButton`, `FloatingChatContent`, and `FloatingChatContentLoggedIn`.
- Updated the `label` for the chat button to reflect the context ("chain" or "contract").
- Integrated tracking events for button clicks and message sends, capturing the `pageType`.
- Adjusted rendering logic in `FloatingChatContent` to use the new `pageType` prop.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the usage of the `getThirdwebClient` function throughout the codebase, transitioning to using an options object that includes `jwt` and `teamId`. This change enhances client initialization consistency and improves the handling of team-related functionality.
### Detailed summary
- Updated `getThirdwebClient` to accept an options object with `jwt` and `teamId`.
- Modified several components to pass the new client structure.
- Added constants for `LAST_USED_PROJECT_ID` and `LAST_USED_TEAM_ID`.
- Enhanced various components to include `client` as a prop, improving flexibility.
- Adjusted several pages and components to handle team IDs better.
- Improved cookie management for storing and retrieving the last used team ID.
- Updated storybook examples to utilize the new client structure.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTableUI.stories.tsx`, `apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/published-contracts.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/components/Transactions/index.tsx`, `apps/dashboard/src/components/configure-networks/ConfigureNetworkForm.tsx`, `apps/dashboard/src/components/contract-components/contract-table/index.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx`, `apps/dashboard/src/app/(dashboard)/(bridge)/routes/components/server/routelist-card.tsx`, `apps/dashboard/src/app/(dashboard)/(bridge)/routes/components/server/routes-table.tsx`, `apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/page.tsx`, `apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/resolveAddressAndEns.tsx`, `apps/dashboard/src/app/team/components/TeamHeader/TeamSelectorMobileMenuButton.tsx`, `apps/dashboard/src/app/team/components/TeamHeader/TeamHeaderUI.stories.tsx`, `apps/dashboard/src/app/(dashboard)/contracts/deploy/[compiler_uri]/page.tsx`, `apps/dashboard/src/app/(dashboard)/(bridge)/routes/components/server/routelist-row.tsx`, `apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.stories.tsx`, `apps/dashboard/src/app/(dashboard)/published-contract/[publisher]/[contract_id]/page.tsx`, `apps/dashboard/src/components/contract-components/contract-publish-form/index.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ExecuteTransactionCard.stories.tsx`, `apps/dashboard/src/lib/wallet/nfts/alchemy.ts`, `apps/dashboard/src/lib/wallet/nfts/moralis.ts`, `apps/dashboard/src/app/(dashboard)/contracts/publish/[publish_uri]/page.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/metadata-header.tsx`, `apps/dashboard/src/app/team/components/TeamHeader/team-header-logged-in.client.tsx`, `apps/dashboard/src/components/contract-components/fetchPublishedContracts.ts`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.stories.tsx`, `apps/dashboard/src/components/explore/contract-card/index.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/layout.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/chainlist/components/server/chainlist-row.tsx`, `apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/chainlist/components/server/chainlist-card.tsx`, `apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx`, `apps/dashboard/src/components/contract-components/fetch-contracts-with-versions.ts`, `apps/dashboard/src/app/team/[team_slug]/(team)/layout.tsx`, `apps/dashboard/src/@/components/blocks/Avatars/ProjectAvatar.stories.tsx`, `apps/dashboard/src/app/(dashboard)/published-contract/components/publish-based-deploy.tsx`, `apps/dashboard/src/app/team/components/TeamHeader/team-header.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/components/Transactions/TransactionCharts.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/layout.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/data-table.tsx`, `apps/dashboard/src/app/(dashboard)/published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping.ts`, `apps/dashboard/src/app/(dashboard)/published-contract/[publisher]/[contract_id]/[version]/page.tsx`, `apps/dashboard/src/@/components/blocks/Avatars/GradientAvatar.stories.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/page.tsx`, `apps/dashboard/src/components/contract-components/hooks.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ChatSidebar`, `ChatPageContent`, and `FloatingChatContent` components by adding new properties and functionality related to context management and event handling within the chat application.
### Detailed summary
- Updated `<NebulaConnectWallet />` to accept `detailsButtonClassName` prop.
- Improved `code` component to handle class names and text length conditions.
- Added new event handling for "context" in the chat API.
- Extended `ChatStreamedResponse` and `ChatStreamedEvent` types to include "context" data.
- Integrated `setContextFilters` functionality in `ChatPageContent` and `FloatingChatContent` components.
- Refactored `contextFilters` state management in `FloatingChatContent`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the codebase to replace the usage of `twAccount` with `isLoggedIn` across various components, improving the handling of user authentication.
### Detailed summary
- Removed `twAccount` prop and replaced it with `isLoggedIn` in multiple components.
- Introduced new utility functions for managing Nebula authentication tokens.
- Updated related components to use the new authentication methods.
- Modified some UI elements for better clarity and consistency.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/components/update-metadata-tab.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/royalties.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/components/create-account-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/components/table.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/components/claim-tab.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/primary-sale.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/components/airdrop-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/claim-button.tsx`, `apps/dashboard/src/app/nebula-app/(app)/page.tsx`, `apps/dashboard/src/app/components/EnsureValidConnectedWalletLogin/EnsureValidConnectedWalletLoginServer.tsx`, `apps/dashboard/src/app/nebula-app/(app)/chat/[session_id]/page.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/platform-fees.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/shared-metadata-button.tsx`, `apps/dashboard/src/components/contract-components/published-contract/index.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/components/claim-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/token-id.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/module-card.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/components/airdrop-form.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ExecuteTransactionCard.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/components/airdrop-tab.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-form.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatPageLayout.stories.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/components/mint-supply-tab.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/components/transfer-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/royalty.stories.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/ContractDirectListingsPage.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/reveal-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/components/mint-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/reset-claim-eligibility.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/ContractEnglishAuctionsPage.tsx`, `apps/dashboard/src/components/buttons/TransactionButton.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/ContractPermissionsPage.tsx`, `apps/dashboard/src/app/layout.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/mintable.stories.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-lazy-mint-button.tsx`, `apps/dashboard/src/components/contract-functions/contract-functions.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/FloatingChat/FloatingChat.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/FloatingChat/FloatingChatContent.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/components/distribute-button.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/ContractEditModulesPage.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/index.tsx`, `apps/dashboard/src/app/nebula-app/(app)/layout.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/ContractProposalsPage.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/BatchMetadata.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/OpenEditionMetadata.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/listing-drawer.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/ContractTokensPage.tsx`, `apps/dashboard/src/app/login/verifyTurnstileToken.ts`, `apps/dashboard/src/components/contract-functions/contract-function.tsx`, `apps/dashboard/src/middleware.ts`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/ContractNFTPage.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/components/client/FaucetButton.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/NebulaConnectButton.tsx`, `apps/dashboard/src/app/components/EnsureValidConnectedWalletLogin/EnsureValidConnectedWalletLoginClient.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/useNftDrawerTabs.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Mintable.tsx`, `apps/dashboard/src/app/nebula-app/login/NebulaLoginPage.tsx`, `apps/dashboard/src/app/login/auth-actions.ts`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/ContractSettingsPage.tsx`, `apps/dashboard/src/components/buttons/MismatchButton.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Claimable.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatSidebar.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Royalty.tsx`, `apps/dashboard/src/app/nebula-app/login/NebulaConnectEmbedLogin.tsx`, `apps/dashboard/src/app/nebula-app/login/auth-actions.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refines the `useDashboardRouter` functionality by implementing a progress bar during route transitions and removing the use of `LoadingRouteHref`. It introduces `RouteStartTransitionFn` for managing transition states and modifies the `DashboardRouterTopProgressBar` to reflect these changes.
### Detailed summary
- Removed `usePathname` and `useSearchParams` from `useRouterLoadingStatus`.
- Replaced `LoadingRouteHref` with `RouteStartTransitionFn` for managing transition states.
- Updated `replace` and `push` methods in `useDashboardRouter` to use `startTransition`.
- Refactored `DashboardRouterTopProgressBarInner` to use `isRouteLoading`.
- Adjusted progress bar visibility and state management based on `isRouteLoading`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `BuyDirectListingButton` component into the `ListingDrawer` component, enhancing the marketplace functionality by allowing users to buy listings directly. It also updates documentation and adds error handling for the transaction process.
### Detailed summary
- Updated documentation for the `BuyDirectListingButton` to specify `BuyDirectListingButtonProps`.
- Imported `BuyDirectListingButton` in `listing-drawer.tsx`.
- Implemented the `BuyDirectListingButton` in the `ListingDrawer` component.
- Added error and success toast notifications for transaction outcomes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
# Update RPC Usage Dashboard with Enhanced Visualization
This PR updates the RPC usage dashboard to improve data visualization and fix type issues:
- Changed numeric types in API response to strings for better precision
- Added peak RPS data to the rate graph for more comprehensive monitoring
- Implemented a "maxLine" feature to replace the previous maxLimit approach for clearer rate limit visualization
- Added support for both stacked and individual chart variants
- Fixed date formatting by properly handling UTC timezone with 'Z' suffix
- Updated cache key to "rpc-usage-last-24-hours:v2" to ensure fresh data after changes
- Removed unnecessary CardFooter component and simplified chart rendering logic
- Enhanced tooltip display for better readability
These changes provide users with more accurate and detailed information about their RPC usage patterns.
### TL;DR
Added URL rewrites for Universal Bridge landing pages and Enterprise page.
### What changed?
Added two new URL paths to the framer-rewrites.js file:
- `/universal-bridge-regions/:region_slug` for region-specific Universal Bridge landing pages
- `/enterprise` for the Enterprise page
### How to test?
1. Navigate to `/universal-bridge-regions/[any-region-slug]` and verify the page loads correctly
2. Navigate to `/enterprise` and verify the page loads correctly
3. Ensure both pages render with the expected content and styling
### Why make this change?
These URL paths need to be included in the framer-rewrites to ensure proper routing and rendering of the Universal Bridge landing pages by region and the Enterprise page.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refactors the `AppFooter` component in `app-footer.tsx` by introducing a new `footerLinks` array to manage footer link data and replaces individual `Link` components with a new `FooterLink` function to enhance maintainability and readability.
### Detailed summary
- Added `footerLinks` array containing link objects with `href` and `label`.
- Replaced individual `Link` components with a mapped `FooterLink` component.
- Introduced `FooterLink` function to streamline link rendering and improve code clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
# Add "Invite Team Members" Button to Team Overview Page
This PR adds a new "Invite Team Members" button to the Team Overview page, replacing the previous implementation. The changes include:
- Created a new reusable `InviteTeamMembersButton` component
- Added the button to the Team Overview page header
- Removed the old "Share Button" component from the TeamProjectsPage
- Improved the layout of the Team Overview page header to accommodate the new button
- Maintained analytics tracking for the invite action
The button links to the team members settings page and includes a user plus icon for better visual indication of its purpose.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `ShareButton` component to the `TeamProjectsPage`, allowing users to invite team members. It also tracks the button click event for analytics and includes a link to the team members settings.
### Detailed summary
- Added `ShareButton` component for inviting team members.
- Integrated `useTrack` hook to track button click events.
- Added a link to the team members settings using `Link`.
- Imported `UserPlus` icon from `lucide-react`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the user interface and experience of the `Nebula` app by updating text content, adjusting styles, and introducing a new `StyledMarkdownRenderer` component for better message rendering.
### Detailed summary
- Updated text in `EmptyStateChatPageContent.tsx` and `ContextFilters.tsx` to reflect new terminology.
- Changed section headings from `Context` to `Settings`.
- Improved styling for various components, including `ChatSidebarLink` and buttons.
- Introduced `StyledMarkdownRenderer` for consistent message formatting.
- Adjusted scrollbar styles in `global.css`.
- Modified button states and classes for better responsiveness and appearance.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the ability to hide test networks in the `MultiNetworkSelector` component and updates its props accordingly.
### Detailed summary
- Added `hideTestnets` prop to `MultiNetworkSelector` in `NetworkSelectors.tsx`.
- Implemented filtering of `sortedChains` to exclude test networks if `hideTestnets` is true.
- Updated dependency array in `useEffect` to include `props.hideTestnets`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on removing components and related functionality for managing the Nebula waitlist in the application. It simplifies the codebase by eliminating unused imports and references to the waitlist, streamlining the `ProjectSidebarLayout`, and adjusting the layout logic.
### Detailed summary
- Deleted files related to the Nebula waitlist functionality.
- Removed `getTeamNebulaWaitList` function and its associated type.
- Updated `ProjectSidebarLayout` to eliminate the `showNebula` prop.
- Simplified `ProjectLayout` by removing waitlist checks and related logic.
- Adjusted `Page` component to remove references to `NebulaWaitListPage`.
- Cleaned up the `Layout` component by removing waitlist handling and related imports.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
This PR adds a null check for the peak date in the RPC Usage page to handle cases where there are no requests in the last 24 hours. It displays "No Requests in last 24 hours" instead of attempting to format a non-existent date. Additionally, it destructures the `averageRate` directly from the API data to improve code readability when passing it to the RateGraph and CountGraph components.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR addresses an issue with updating the page URL in the `ChatPageContent.tsx` file due to changes in Next.js behavior. The existing method for updating the URL is commented out, and a temporary solution is proposed.
### Detailed summary
- Commented out the line: `window.history.replaceState({}, "", `/chat/${sessionId}`);`
- Added comments explaining that the URL update does not work anymore due to Next.js changes.
- Stated intention to not update the URL until a better solution is found.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the Content Security Policy (CSP) in the `next.config.ts` file by modifying the `script-src` directive, removing `static.reo.dev` from the list of allowed sources.
### Detailed summary
- Removed `static.reo.dev` from the `script-src` directive in the CSP.
- No other changes to the CSP directives were made.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the theme management in the application by integrating `next-themes` for better theme switching functionality and adding a new `Skeleton` component for loading states.
### Detailed summary
- Removed `theme.tsx` and its usage.
- Added `next-themes` dependency in `package.json`.
- Introduced `Skeleton` component in `skeleton.tsx`.
- Updated `ThemeSwitcher` to use `next-themes` for theme management.
- Implemented `useIsClientMounted` for client-side rendering checks.
- Wrapped the application in `ThemeProvider` in `layout.tsx`.
- Modified CSS for dark and light themes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Add actionable next step guide for users who visit a chain page.
Steps to Test:
1. Visit thirdweb.com/{chainID}
2. Scroll to the bottom and you should see

3. Click on the article
4. Get redirected to a blog post.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new component called `NextSteps` to the `page.tsx` file in the dashboard application. This component provides users with actionable links and information related to integrating in-app wallets, enhancing user experience and adoption.
### Detailed summary
- Added `NextSteps` component to `page.tsx`.
- `NextSteps` displays a title and a link for creating a login for the specified `chain`.
- Integrated tracking for link clicks using `useTrack` to monitor user engagement.
- Included a brief description under the link in `NextSteps`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refines the logic for updating `updatedContextFilters.chainIds` by ensuring that it only attempts to retrieve last used chains from storage when `chainIds` is empty. It also maintains error handling for local storage access.
### Detailed summary
- Moved the check for `updatedContextFilters.chainIds` length to before retrieving last used chains.
- Retained the logic to fetch last used chain IDs from storage if `chainIds` is empty.
- Preserved error handling for local storage access.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the chat functionality by introducing `prefillMessage` support across various components and updating the way parameters are handled in the chat interface.
### Detailed summary
- Replaced `initialPrompt` with `initialParams` in chat components.
- Added `prefillMessage` prop to `ChatBar`, `EmptyStateChatPageContent`, and related story files.
- Updated `NebulaLogin` to handle search parameters.
- Modified `ChatPageContent` to utilize `initialParams` for message handling.
- Introduced a new function `getChainIds` for fetching chain IDs based on user input.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
# Improve RPC Usage Graphs
This PR enhances the RPC usage graphs in the dashboard:
- Only show rate limited requests in the legend when there are actually rate limited requests
- Fix data processing by removing the `.slice(1, -1)` which was incorrectly trimming data points
- Ensure numeric values by explicitly converting to Number
- Move data slicing to the parent component for better control
- Add a type assertion comment to handle the TypeScript warning
- Add a check to conditionally display relevant chart configuration
These changes improve the accuracy and presentation of the RPC usage data visualization.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `CountGraph` component by improving the handling of rate-limited data and formatting the `currentRateLimit` value for better readability.
### Detailed summary
- Updated the `currentRateLimit` display to use `toLocaleString()`.
- Added a check for `hasAnyRateLimited` to conditionally configure the chart.
- Modified the `config` object to include `rateLimitedCount` only if there are any rate-limited requests.
- Converted `includedCount` and `rateLimitedCount` to `Number` type during data mapping.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: CORE-826
# Add support for new pricing tiers in ticket creation
This PR adds support for the new pricing tiers (starter, accelerate, scale) in the ticket creation system. It updates the `planToCustomerId` mapping to include these new tiers and improves the fallback logic to use the free tier when a customer's plan doesn't have a corresponding Unthread customer ID.
currently blocked by analytics API needing to go to prod
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new RPC usage dashboard for monitoring requests over the last 24 hours. It adds new components for visualizing request data and enhances the existing layout to accommodate this functionality.
### Detailed summary
- Added a new `RPC` tab in the usage layout.
- Introduced `CountGraph` and `RateGraph` components for visualizing RPC data.
- Implemented API call to fetch last 24 hours RPC usage data.
- Enhanced `ThirdwebAreaChart` to support max limit display.
- Updated error handling and user feedback for API data fetching.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Updates the rate limit to use a sliding window
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the rate limiting functionality in the `rateLimit` function to utilize a sliding window approach instead of a fixed window, enhancing how requests are counted over time.
### Detailed summary
- Renamed `RATE_LIMIT_WINDOW_SECONDS` to `SLIDING_WINDOW_SECONDS`.
- Modified Redis interaction to use `mget` for batch fetching request counts.
- Updated the logic to calculate total requests over the last 10 seconds.
- Removed `sampleRate` handling and its related logic.
- Changed error messages for exceeding rate limits.
- Adjusted tests to align with the new sliding window logic.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: TOOL-4079
### TL;DR
Added RPC usage chart to the team usage overview page.
### What changed?
- Created a new API endpoint `fetchRPCUsage` to retrieve RPC usage data from the analytics service
- Added a stacked bar chart to visualize RPC usage in the team usage overview page
- The chart displays both regular RPC requests and rate-limited requests
- Replaced the static "Unlimited Requests" display with an interactive visualization
### How to test?
1. Navigate to a team's usage overview page
2. Verify that the RPC Requests section now shows a stacked bar chart
3. Confirm that the chart displays data for the past 7 days
4. Check that the chart properly differentiates between regular RPC requests and rate-limited requests
### Why make this change?
This change provides teams with better visibility into their RPC usage patterns over time, allowing them to monitor both successful requests and rate-limited requests. This visualization helps teams understand their API consumption patterns and make informed decisions about their plan requirements.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new feature to fetch and display RPC usage data in the dashboard. It enhances the usage overview by integrating RPC metrics, providing insights into included and rate-limited requests.
### Detailed summary
- Added `RPCUsageDataItem` type and `fetchRPCUsage` function in `rpc.ts`.
- Updated `page.tsx` to fetch RPC usage data alongside account usage and subscriptions.
- Passed `rpcUsage` data to the `Usage` component.
- Modified `Usage` component to process and display RPC usage data using `ThirdwebBarChart`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on removing unused assets and files, updating configurations, and enhancing UI components across the `playground-web` application. It also adds new constants and improves code structure for better maintainability.
### Detailed summary
- Deleted numerous unused image files and TypeScript files.
- Updated `postcss.config.js` and added Tailwind CSS configurations.
- Enhanced UI components with consistent styling changes.
- Introduced new constants for `mintExample` and `claimExample`.
- Improved API handling in the `engine` actions.
- Refactored several components to use `PageLayout` for better structure.
- Added code examples for minting and airdrop functionalities.
> The following files were skipped due to too many changes: `apps/playground-web/src/app/engine/airdrop/_components/airdrop-code.tsx`, `apps/playground-web/src/app/connect/pay/commerce/page.tsx`, `apps/playground-web/src/components/code/code-example.tsx`, `apps/playground-web/src/app/connect/in-app-wallet/ecosystem/page.tsx`, `apps/playground-web/src/components/blocks/APIHeader.tsx`, `apps/playground-web/src/app/connect/account-abstraction/connect/page.tsx`, `apps/playground-web/src/app/connect/pay/fund-wallet/page.tsx`, `apps/playground-web/src/app/connect/account-abstraction/sponsor/page.tsx`, `apps/playground-web/src/components/blocks/NetworkSelectors.tsx`, `apps/playground-web/src/app/connect/ui/page.tsx`, `apps/playground-web/src/app/connect/in-app-wallet/sponsor/page.tsx`, `apps/playground-web/src/components/in-app-wallet/custom-login-form.tsx`, `apps/playground-web/src/app/connect/pay/transactions/page.tsx`, `apps/playground-web/src/app/connect/in-app-wallet/page.tsx`, `apps/playground-web/src/components/in-app-wallet/profile-sections.tsx`, `apps/playground-web/src/app/connect/account-abstraction/native-aa/page.tsx`, `apps/playground-web/src/app/engine/airdrop/_components/airdrop-preview.tsx`, `apps/playground-web/src/components/headless-ui/token-examples.tsx`, `apps/playground-web/src/components/headless-ui/nft-examples.tsx`, `apps/playground-web/src/app/connect/sign-in/headless/page.tsx`, `apps/playground-web/src/app/connect/auth/page.tsx`, `apps/playground-web/src/app/globals.css`, `apps/playground-web/src/app/engine/webhooks/_components/webhooks-preview.tsx`, `apps/playground-web/src/app/connect/pay/embed/LeftSection.tsx`, `apps/playground-web/src/app/engine/airdrop/_components/airdrop-card.tsx`, `apps/playground-web/src/app/connect/blockchain-api/page.tsx`, `apps/playground-web/src/app/engine/minting/_components/mint-preview.tsx`, `apps/playground-web/src/components/headless-ui/account-examples.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
# Add Warning for Teams with Invalid Payment Methods
This PR adds a warning message for teams with invalid payment methods, preventing them from upgrading plans until they resolve outstanding invoices.
## Changes:
- Added a warning component that displays when a team has an `invalidPayment` billing status
- Added a filter to view only open invoices in the invoices page
- Updated the `getTeamInvoices` function to accept an optional `status` parameter
- Disabled checkout buttons for teams with invalid payment methods
- Added a warning in the cancel plan modal for teams with unpaid invoices
- Added a link to direct users to pay their outstanding invoices
These changes help users understand why they can't upgrade their plan and guides them to resolve payment issues.
Closes: tool-4076

<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `BuyFundsSection` component to reflect a shift in terminology from "Buy Funds" to "Bridge Funds," enhancing clarity regarding the functionality offered.
### Detailed summary
- Changed the `SectionTitle` from "Buy Funds" to "Bridge".
- Updated the heading text from "Buy Funds on {sanitizedChainName} using Universal Bridge" to "Bridge Funds to {sanitizedChainName}".
- Modified the paragraph text to clarify the process of obtaining the native currency.
- Altered the `PayModalButton` label from "Buy Funds on {sanitizedChainName}" to "Bridge to {sanitizedChainName}".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ContractOverviewPage` and `LatestEvents` components in a React application by adding overflow handling and improving the display of event data.
### Detailed summary
- Added `overflow-hidden` class to the `div` in `ContractOverviewPage.tsx`.
- Refactored the mapping of `allEvents` in `LatestEvents.tsx` to use a block structure for better readability.
- Limited the displayed events to 3 and added a button to show additional events if more than 3 exist.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating package dependencies and configuration settings for the project, including the addition of `prettier` and adjustments to `@aws-sdk/client-sso-oidc` references in the `pnpm-lock.yaml` file.
### Detailed summary
- Added `public-hoist-pattern` entries in `.npmrc`.
- Updated `next.config.ts` to modify `config.externals`.
- Added `prettier` dependency in `package.json`.
- Updated `pnpm-lock.yaml` to reflect the new `prettier` version.
- Cleaned up references to `@aws-sdk/client-sso-oidc` in `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the sidebar navigation in the `sidebar.tsx` file, changing the name and link for a specific menu item.
### Detailed summary
- Changed the menu item name from `"Payments"` to `"Universal Bridge"`.
- Updated the `href` from `"/dotnet/pay/quickstart"` to `"/dotnet/universal-bridge/quickstart"`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for contracts that have no fees by adding new properties and constants to handle fee exemption logic. It modifies several components to utilize the new metadata and fee configurations, ensuring that contracts can be deployed without fees based on specific versions and chains.
### Detailed summary
- Added `contractMetadataNoFee` prop to `DeployFormForUri` and `CustomContractForm`.
- Introduced `ZERO_FEE_VERSIONS` and `ZERO_FEE_CHAINS` constants in `fee-config.ts`.
- Updated `DeployFormForPublishInfo` to fetch metadata for contracts without fees.
- Adjusted fee logic in `CustomContractForm` to use `ZERO_FEE_CHAINS`.
- Modified deployment logic to conditionally use fee-exempt metadata.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a maximum length restriction for the `teamName` input field in the `TeamGeneralSettingsPageUI` component and applies this restriction to the `TeamInfoFormUI` component as well, enhancing user experience by preventing excessively long team names.
### Detailed summary
- Added `maxLength` attribute with a value of `32` to the `teamName` input in `TeamGeneralSettingsPageUI`.
- Updated the `onChange` handler in `TeamGeneralSettingsPageUI` to set the `teamName` directly from the input value.
- Introduced a new constant `maxTeamNameLength` in `TeamInfoForm.tsx` set to `32`.
- Added `maxLength={maxTeamNameLength}` to the input field in `TeamInfoFormUI`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating tests in the `cryptoToFiat` and `Status` files, improving assertions and changing transaction details to reflect new data.
### Detailed summary
- In `cryptoToFiat.test.ts`:
- Changed assertion from checking if `data.result` is greater than 1500 to ensuring it's greater than 0.
- In `Status.test.ts`:
- Updated `transactionHash` and related transaction details, including:
- Modified `destinationAmount`, `destinationChainId`, and `destinationTokenAddress`.
- Adjusted `originAmount` and `originTokenAddress`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `insightBlueprints` in the `insightBlueprints.ts` file by adding new paths for token and NFT lookups and modifying an existing path name for clarity.
### Detailed summary
- Added a new path for token lookup:
- `name`: "Token lookup",
- `path`: "/v1/tokens/lookup"
- Added a new path for getting NFT collections:
- `name`: "Get collection",
- `path`: "/v1/nfts/collections/{contract_address}"
- Changed the name of an existing path from "Get NFT by token" to "Get NFT by token ID".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the UI components related to settings by adding `overflow="hidden"` to `Card` components and refining the `SettingDetectedState` component's structure and styling for improved clarity and responsiveness.
### Detailed summary
- Added `overflow="hidden"` to `Card` components in multiple files.
- Refactored `SettingDetectedState` to use a function declaration instead of a functional component type.
- Improved the layout and styling of the loading and error states in `SettingDetectedState`.
- Replaced `SimpleGrid` with a `div` for better control over layout.
- Updated text structure and classes for better styling consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the `SourcesPanel` and `SourcesAccordion` components by improving their structure and styling. It also introduces a new modal for contract verification and updates the UI elements for better user experience.
### Detailed summary
- Replaced `Text` and `Link` with `p` and `UnderlineLink` in `SourcesPanel`.
- Updated `SourcesAccordion` to use `SourceAccordionItem` for rendering items.
- Modified `VerifyContractModal` to a new functional component, `VerifyContractModalContent`.
- Enhanced loading and error handling in the verification process.
- Changed the layout and styling of the `ContractSourcesPage`.
- Introduced `Dialog` for contract verification instead of using a modal.
- Updated button styles and loading indicators for better UX.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the billing and subscription management system by adding new team plans, updating existing components, and improving the user interface for better user experience.
### Detailed summary
- Added new plans: `accelerate` and `scale`.
- Updated `TeamPlan` type to include new plans.
- Modified `PlanInfoCard` to support new plans and improved UI.
- Refactored billing components to use new plan data.
- Enhanced `InviteSection` with new team plan options.
- Updated storybook files for new billing plans.
- Improved `CancelPlanModal` for better user feedback.
- Added helper functions for plan CTA logic.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/onboarding/ApplyForOpCreditsModal.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the UI components of the dashboard, enhancing the styling and structure of various elements, and adding new features like tooltips and breadcrumbs for better navigation.
### Detailed summary
- Changed `className` from `font-semibold` to `font-bold` in the `h1` element.
- Updated `NftProperty` component to use `div` instead of `Card`.
- Added `toolTip` property to `TabButtons`.
- Wrapped `Button` in `ToolTipLabel` for tooltips.
- Introduced `IPFSLinkGroup` component for displaying IPFS links.
- Enhanced `NFTName` and `NFTDescription` styling.
- Removed unnecessary imports and unused variables for cleaner code.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the UI components within the dashboard, improving layout consistency, and updating text for better clarity and user experience.
### Detailed summary
- Updated `Button` styles in `primary-dashboard-button.tsx`.
- Increased gap in layout for `ContractOverviewPage.tsx`.
- Changed headings to `h2` for better accessibility in auction and listing pages.
- Introduced `StatCard` component for consistent stats display.
- Renamed `tokenBalanceQuery` to `ownedTokenBalanceQuery` for clarity.
- Updated `SupplyCards` to use `StatCard` instead of `Stat`.
- Improved layout structure with new divs and classes for better styling.
- Added `ArrowRightIcon` to navigation links for visual cues.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring and improving the UI components related to token and NFT details, enhancing the overall structure and user experience in the dashboard application.
### Detailed summary
- Removed unused files: `data.ts`, `types.ts`, and `TokenDetails.tsx`.
- Renamed `StatCard` to `Stat` for consistency.
- Updated UI components to improve layout and styling.
- Enhanced `TokenDetailsCard` and `NFTDetails` for better presentation.
- Added storybook entries for `PermissionsTable` and `LatestEvents`.
- Improved handling of loading states in various components.
- Replaced Chakra UI components with custom UI components for consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the rendering of the invoice history page and improving the `BillingHistory` component's layout and functionality, including UI updates and pagination controls.
### Detailed summary
- Replaced `Card` components with a `div` structure for the invoice history.
- Updated headings and descriptions with new styling.
- Changed badge components for invoice statuses to use variants.
- Refined pagination controls with improved styling and layout.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding single phase functionality for `erc1155` claim conditions in the `thirdweb` dashboard and related utilities, enhancing the ability to manage claim eligibility and conditions for tokens.
### Detailed summary
- Introduced `isMultiphase` and `isSinglePhase` properties in various components.
- Updated `setClaimPhasesTx` to handle single phase options.
- Modified `getClaimConditions` to support both multi-phase and single-phase claims.
- Enhanced `resetClaimEligibility` to work with single phase drops.
- Updated tests to validate new single phase functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
---
## PR-Codex overview
This PR focuses on updating the terminology and content related to crypto transactions and user identity features in the application. It enhances documentation and descriptions to better reflect the functionality of the components.
### Detailed summary
- Updated `description` in `PayEmbed` to "Prebuilt UI to buy crypto by swapping or fiat onramps".
- Changed title in `fund-wallets` from "Fund wallets" to "Buy Crypto".
- Added new `Details` sections in `faqs` for Universal Bridge operation and KYC requirements.
- Removed user identity links in `sidebar` and reorganized sections.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the terminology and descriptions related to crypto purchases within the application, particularly changing references from "Fund wallets" to "Buy Crypto." It also adds new FAQ sections and modifies existing sidebar navigation.
### Detailed summary
- Updated `description` in `page.mdx` files to reflect "Buy Crypto" instead of "Fund wallets."
- Added new FAQ entries in `faqs/page.mdx` about Universal Bridge operations and KYC requirements.
- Changed sidebar navigation to include new entries and removed outdated user identity links.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces a `MultiSelect` component along with a `useShowMore` hook to enhance the selection of network chains in a UI. It improves the user experience by allowing more items to be displayed as the user scrolls and provides a more flexible selection interface.
### Detailed summary
- Added `useShowMore` hook to manage displaying more items on scroll.
- Introduced `MultiNetworkSelector` for selecting multiple network chains.
- Updated `BlueprintPlayground` to utilize `MultiNetworkSelector`.
- Modified `ParameterSection` to handle array values for chain selection.
- Created `MultiSelect` component for better multi-item selection.
- Enhanced UI with search functionality and option rendering in `MultiSelect`.
- Implemented badge display for selected items in `MultiSelect`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily introduces the `fast-xml-parser` package to the project and updates the `fetchChainsFromApi` function to fetch and parse XML data. It also modifies the sitemap generation logic to utilize the newly added functionality.
### Detailed summary
- Added `fast-xml-parser` to `package.json` and `pnpm-lock.yaml`.
- Updated `next-sitemap.config.js` to require `fast-xml-parser`.
- Introduced a new function `getFramerXML` to fetch and parse XML data.
- Modified `additionalPaths` to use data from `getFramerXML`.
- Adjusted the return structure of URLs in `additionalPaths`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring Storybook stories across various components by standardizing the export format, updating layout parameters, and removing unnecessary imports. It aims to improve consistency and maintainability in the codebase.
### Detailed summary
- Changed `export const Desktop` to `export const Variants` in multiple stories.
- Removed `parameters: { layout: "centered" }` from many stories.
- Updated container classes for consistent styling.
- Removed `Toaster` components from stories.
- Refactored story decorators for better structure.
- Deleted unused imports like `mobileViewport` from several files.
- Consolidated `BadgeContainer` usage for better readability.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/team/components/Analytics/CombinedBarChartCard.stories.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/nebula/components/analytics/nebula-analytics-ui.stories.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatPageLayout.stories.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/batchMetadata.stories.tsx`, `apps/dashboard/src/components/dashboard/StepsCard.stories.tsx`, `apps/dashboard/src/@/components/blocks/SettingsCard.stories.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on updating various components to improve chart functionalities and data handling in the dashboard, including the introduction of the `ThirdwebBarChart`. It also refines date handling and enhances the user interface for better data representation.
### Detailed summary
- Updated date handling in `stubbedData` from February to December.
- Introduced `BadgeContainer` for displaying time ranges in `TotalSponsoredChartCard`.
- Enhanced `searchParams` structure in the analytics page to include `from` and `to` dates.
- Added `customHeader`, `toolTipValueFormatter`, and `emptyChartState` to `ThirdwebBarChart`.
- Replaced `BarChart` with `ThirdwebBarChart` in multiple components for consistency.
- Improved data mapping and sorting in `TotalSponsoredChartCard`.
- Created new stubs for `EcosystemWalletUsersChartCard` to simulate user data over various days.
- Refactored empty state components to improve user guidance when no data is available.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates a link in the `products.ts` file for the dashboard component, changing the URL for a specific product.
### Detailed summary
- Updated the `link` property for the product from `https://thirdweb.com/contracts` to `https://thirdweb.com/explore`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the layout of the `settings` page in the project dashboard. It enhances the styling and structure of the header and the content area.
### Detailed summary
- Replaced the existing `<h1>` element with a new structure wrapped in a `<div>` with a class of `border-b py-10`.
- Changed the font size of the `<h1>` from `text-3xl` to `text-2xl` for better responsiveness.
- Added a container with a maximum width of `7xl` around the header.
- Adjusted the padding of the content area to `pt-6 pb-20`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## [Dashboard] Feature: Update API path format and add token lookup endpoint
## Notes for the reviewer
This PR updates the API path format in `insightBlueprints.ts` to use curly braces for path parameters (e.g., changing `/v1/transactions/:contractAddress` to `/v1/transactions/{contractAddress}`). This standardizes our path format to match OpenAPI specifications.
## How to test
The changes can be verified by checking the updated paths in the playground interface to ensure they display correctly with the new format.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the URL path parameters in the `insightBlueprints` to use curly braces `{}` instead of colons `:` for better clarity and consistency in API endpoints.
### Detailed summary
- Changed path parameters from `:paramName` to `{paramName}` for various endpoints:
- `/v1/transactions/:contractAddress` to `/v1/transactions/{contractAddress}`
- `/v1/wallets/:wallet_address/transactions` to `/v1/wallets/{wallet_address}/transactions`
- Updated multiple other endpoints similarly, including:
- `/v1/events/:contractAddress` to `/v1/events/{contractAddress}`
- `/v1/tokens/transfers/:contract_address` to `/v1/tokens/transfers/{contract_address}`
- `/v1/nfts/:contract_address` to `/v1/nfts/{contract_address}`
- And many more throughout the file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the layout and structure of various components in the application, introducing new footer sections, and improving the user interface for better organization and navigation.
### Detailed summary
- Removed the `SupportedPlatformLink.tsx` file.
- Updated `href` in `react-native/v5/page.mdx` from `/installation` to `/getting-started`.
- Enhanced layout in multiple components with added `container` classes for better styling.
- Introduced new `FooterCard` component in various pages for documentation and tutorial links.
- Replaced `AAFooterSection` with `AAFooter` in `AccountAbstractionPage.tsx`.
- Updated `InAppWalletFooterSection` to `InAppWalletsFooter` with a new structure.
- Modified headers and added spacing in several components for improved visual hierarchy.
- Introduced new `InsightFooter` component with relevant links.
- Adjusted various components to use consistent `container` class for layout consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new script for managing insight blueprints, updates the `getSidebarLinks` function to use pre-fetched blueprints, and modifies the `Page` component to display these blueprints. It also refines the utility functions for fetching blueprint data.
### Detailed summary
- Added `update-insight-blueprints` script in `package.json`.
- Created `insightBlueprints.ts` to store auto-generated blueprint data.
- Updated `getSidebarLinks` to use `insightBlueprints` instead of fetching blueprints dynamically.
- Modified `Page` component to render blueprints from `insightBlueprints`.
- Enhanced utility functions in `utils.ts` for fetching blueprint data.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of several payment-related pages in the `.NET SDK` documentation and the addition of a new section for the `Universal Bridge`, including examples and detailed API usage.
### Detailed summary
- Deleted pages:
- `quickstart/page.mdx`
- `buywithfiat/page.mdx`
- `buywithcrypto/page.mdx`
- `getbuyhistory/page.mdx`
- `getbuywithfiatquote/page.mdx`
- `getbuywithfiatstatus/page.mdx`
- `getbuywithcryptoquote/page.mdx`
- `getbuywithcryptostatus/page.mdx`
- `getbuywithfiatcurrencies/page.mdx`
- Updated `sidebar.tsx` to remove payment links and add a new `Bridge` section.
- Introduced `Universal Bridge` documentation with:
- Metadata creation
- Core API examples for buying, selling, and transferring tokens.
- Code snippets for `C#` usage of the `ThirdwebBridge`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `ClientIDSection` component to streamline the display of the Client ID across various components. It also modifies the `WaitingForIntegrationCard` to utilize this new component, improving code organization and reducing redundancy.
### Detailed summary
- Added `ClientIDSection` component to display the Client ID.
- Updated `InsightFTUX` to include `ClientIDSection` instead of inline code.
- Modified `WaitingForIntegrationCard` to accept children for rendering.
- Created `NebulaFTUX` component to integrate Nebula features and display Client ID.
- Adjusted styles in various components for consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `Insight` page by introducing new components for better integration and user experience, specifically around project insights and blueprints. It refactors existing code and adds new features for displaying API usage examples.
### Detailed summary
- Updated `isProjectActive` function to accept a structured parameter.
- Added `InsightFTUX` component for displaying integration instructions.
- Introduced `BlueprintCard` component with feature descriptions.
- Modified `WaitingForIntegrationCard` to display the client ID without a period.
- Enhanced `page.tsx` to conditionally render `InsightFTUX` or `BlueprintCard` based on project status.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the user interface and functionality of the contracts management section. It introduces new components and modifies existing ones to improve user experience, particularly around contract deployment and management.
### Detailed summary
- Removed the `GetStartedWithContractsDeploy` component.
- Added `DeployViaCLIOrImportCard` component for contract deployment options.
- Updated the `DeployedContractsPage` to include the new `DeployViaCLIOrImportCard`.
- Modified the `ContractTableUI` to display a message and button when no contracts are present.
- Increased the height of the no contracts message section.
- Added a link to discover contracts with an external icon.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on refactoring components related to in-app wallets and account abstraction analytics. It introduces new loading states, replaces certain components with `StatCard`, and enhances the handling of asynchronous data fetching.
### Detailed summary
- Removed `loading.tsx` files for in-app wallets and account abstraction.
- Updated `InAppWalletsHeader` to no longer accept props.
- Replaced `Stat` with `StatCard` in `EcosystemWalletsSummary` and `AccountAbstractionSummary`.
- Added `isPending` state to `StatCard` for loading indication.
- Refactored `InAppWalletsSummary` and `AccountAbstractionSummary` to utilize async data fetching with `Suspense`.
- Enhanced `InAppWalletAnalytics` to manage loading states and data fetching more effectively.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Create2 deployer restrictions are lifted by the chain. Enable deployments through default create2 factory.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing the custom configuration for the `Ronin` blockchain within the `thirdweb` package.
### Detailed summary
- Removed the `Ronin` configuration from the gas price settings in the `create-2-factory.ts` file.
- Updated the gas price for `Ronin` from `110n * 10n ** 9n` to a static value of `110000n`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the UI and functionality of various components in the dashboard by modifying styles, enhancing layout elements, and integrating new features related to account abstraction and user operation statistics.
### Detailed summary
- Removed `lg:gap-6` from grid classes in multiple components.
- Increased header sizes from `text-lg` to `text-xl` in `SponsoredTransactionsTableUI.tsx`.
- Adjusted margins and padding for improved spacing in various components.
- Added new `GasCreditAlert` component for displaying gas credit information.
- Integrated `AccountAbstractionSummary` into `AccountAbstractionAnalytics`.
- Updated `userOpStats` handling in `Page` component to use promises for better performance.
- Replaced certain text with more concise phrasing in descriptions.
- Removed unused imports and optimized component structure for clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `Nebula` components in the dashboard application by improving layout styles, adding project ID handling in analytics, and adjusting waitlist checks.
### Detailed summary
- Updated class names for better styling in `nebula-analytics-filter.tsx` and `nebula-waitlist-page.tsx`.
- Added `projectId` parameter to `fetchNebulaAnalytics`.
- Modified `NebulaWaitListPageUI` layout.
- Integrated `showNebula` prop in `ProjectSidebarLayout`.
- Adjusted project layout and waitlist checks in `layout.tsx`.
- Enhanced `NebulaAnalyticsPage` to pass `projectId`.
- Updated page handling in `page.tsx` to include project fetching and redirects.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the layout and functionality of the `Page` component in `apps/playground-web/src/app/connect/pay/backend/page.tsx`. It improves the presentation of the Universal Bridge REST API information and adds a link to view all endpoints.
### Detailed summary
- Wrapped the header and description in a `div` for better layout.
- Added a `Link` component with a button to "View all endpoints".
- Changed the title of the `BlueprintSection` from "Available endpoints" to "Available GET endpoints".
- Updated the filtering of `blueprints` to only include those with defined `get` properties.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily updates various `docsLink` URLs across multiple components in the `playground-web` application to include a query parameter (`?utm_source=playground`). This change likely aims to track traffic sources more effectively.
### Detailed summary
- Updated `docsLink` in `apps/playground-web/src/app/connect/auth/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/pay/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/blockchain-api/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/pay/commerce/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/pay/fund-wallet/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/pay/transactions/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/sign-in/embed/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/sign-in/button/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/ui/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/sign-in/headless/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/in-app-wallet/layout.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/insight/layout.tsx`
- Updated `docsLink` in `apps/playground-web/src/components/blocks/APIHeader.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/pay/backend/layout.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/account-abstraction/connect/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/account-abstraction/sponsor/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/ui/nft/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/otherLinks.ts`
- Updated `docsLink` in `apps/playground-web/src/app/connect/account-abstraction/native-aa/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/ui/chain/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/ui/token/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/social/page.tsx`
- Updated `docsLink` in `apps/playground-web/src/app/connect/ui/wallet/page.tsx`
- Updated `href` in `apps/playground-web/src/app/connect/pay/embed/LeftSection.tsx`
- Updated `href` in `apps/playground-web/src/app/insight/page.tsx`
- Updated `href` in `apps/playground-web/src/components/auth/gated-content.tsx`
- Updated `href` in `apps/playground-web/src/components/engine/minting/erc1155-mint-to.tsx`
- Updated `href` in `apps/playground-web/src/app/connect/sign-in/components/InAppWalletFormGroup.tsx`
- Updated `href` in `apps/playground-web/src/app/connect/sign-in/button/LeftSection.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `SmartWalletsBillingAlert` component in the `Alerts.tsx` file. It updates the alert's UI and removes the dismissible functionality, while also changing the import paths for components used in the alert.
### Detailed summary
- Removed unused imports related to `Alert`, `AlertDescription`, `AlertIcon`, `AlertTitle`, `Flex`, and `IconButton`.
- Updated imports for `Alert`, `AlertDescription`, `AlertTitle`, `TrackedUnderlineLink`, and `CircleAlertIcon`.
- Removed the `dismissible` prop and related logic.
- Simplified the alert structure with a new layout.
- Changed the alert icon and styling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the bytecode caching mechanism in the `thirdweb` package by including additional metadata in the cache key, which improves cache differentiation and management.
### Detailed summary
- Updated the `cacheKey` in `deploy-metadata.ts` to include `compilerMetadata.publisher` and `compilerMetadata.version` along with `compilerMetadata.name` and `chain.id`.
- Removed the `version` and `publisher` fields from the deployment test case in `process-ref-deployments.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
### TL;DR
Added a rewrite rule for glossary detail pages in the dashboard app.
### What changed?
Added a new path `/learn/glossary/:glossary_slug` to the framer-rewrites.js file to support individual glossary term pages.
### How to test?
1. Navigate to a glossary term detail page (e.g., `/learn/glossary/some-term`)
2. Verify that the page loads correctly and the routing works as expected
### Why make this change?
To enable proper routing for individual glossary term pages, allowing users to access specific glossary entries directly through their unique URLs. This complements the existing glossary index page that was already configured.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the Content Security Policy in the `next.config.mjs` file to enhance security by modifying the `script-src` directive.
### Detailed summary
- Updated the `script-src` directive to include `thirdweb.com` and `thirdweb-dev.com` without a wildcard prefix.
- Retained existing sources for `self`, `unsafe-eval`, `unsafe-inline`, `wasm-unsafe-eval`, `inline-speculation-rules`, `vercel.live`, and `js.stripe.com`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CORE-802
Redirect `/learn/tutorials` to `/learn/guides`
This PR removes `/learn/tutorials` and `/learn/tutorials/:tutorial_slug` from the framer-rewrites list and adds redirects from these paths to their corresponding `/learn/guides` equivalents.
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a warning callout to the `page.mdx` file in the `cross-chain/agglayer` directory, informing users that the Agglayer module is in beta and has deployment limitations.
### Detailed summary
- Added a warning callout indicating that the Agglayer module is in beta.
- Specified that deployments are limited to `Sepolia` and `Cardona` due to requirements for Ethereum as L1 and zkEVM as L2.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on refactoring the coupon management system within the billing section of the dashboard. It introduces a new structure for handling coupons, including a client component for API interactions and UI components for displaying and applying coupons.
### Detailed summary
- Deleted obsolete files: `CouponCard.tsx`, `CouponDetails.stories.tsx`, `ApplyCouponCard.stories.tsx`.
- Updated global styles import in `preview.tsx`.
- Replaced `CouponSection` with `Coupons` in `index.tsx`.
- Introduced `CouponsClient` for managing coupon API interactions.
- Created `AsyncCoupons` to fetch coupon data asynchronously.
- Developed `Coupons` component to handle loading states and display.
- Added `CouponsUI` for rendering coupon information and actions.
- Implemented coupon application and deletion logic with error handling.
- Created a story for `CouponsUI` to demonstrate different states and interactions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new details to the `page.mdx` file, providing guidance on how to enhance the performance of the `Nebula` character and improve its responses.
### Detailed summary
- Added a section on how to make `Nebula` play a certain character better, including:
- Defining the role clearly.
- Avoiding personality traits in responses.
- Setting output expectations.
- Preloading context for specific domains.
- Utilizing session handling features.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the fee structure and related information for the `Buy With Crypto` and swap transactions in the `fee-sharing` documentation.
### Detailed summary
- Removed references to a 1% fee and 70% sharing for `Buy With Crypto`.
- Updated the protocol fee to 0.3% for swap transactions.
- Allowed developers to set their own additional fees.
- Clarified fee structure for buying with crypto and swap transactions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the documentation and functionality surrounding the `thirdweb` Universal Bridge, particularly for cross-chain swapping and related features. It updates guides, introduces new functionalities, and improves the clarity of the code.
### Detailed summary
- Updated `yarn` command in `page.mdx` for installing `thirdweb`.
- Renamed the guide from "Build a Custom Experience" to "Build a Custom Onramp Experience" in `sidebar.tsx`.
- Added a new guide for "Cross-Chain Swapping" in `page.mdx`.
- Enhanced tag filtering in `slugs.ts` to include `@bridge`.
- Updated comments in `Buy.ts` and `Sell.ts` to specify `@bridge Buy` and `@bridge Sell`.
- Improved sidebar link generation in `getSidebarLinkGroups.ts` to include `@bridge` links.
- Added comprehensive steps for cross-chain swapping in the new guide, including installation, obtaining quotes, preparing transactions, and checking swap status.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the layout and styling of the application, particularly around sidebar and project-related components. It introduces new sidebar features, refines the UI, and improves mobile responsiveness.
### Detailed summary
- Removed unused files: `tabs.tsx`, `layout.tsx` in `connect`, and `settings/layout.tsx`.
- Simplified layout in `DeployedContractsPage.tsx` by removing unnecessary divs.
- Added `AnnouncementBanner` to multiple layouts for notifications.
- Introduced `useActiveSidebarLink` for better sidebar link management.
- Enhanced `Sidebar` components with new features and improved styling.
- Added `Header` component in `ProjectOverviewPage` for better title display.
- Updated Tailwind CSS configuration to include sidebar styles.
- Improved mobile responsiveness with `useIsMobile` hook.
- Cleaned up `AnnouncementBanner` logic and structure.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Added custom chain page info for Reactive Network
* Banner image
* CTA image
* About section
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new assets and functionality for a "Reactive Mainnet" section in the dashboard. It adds images and a call-to-action that promotes Web3 automation features.
### Detailed summary
- Added `reactiveBanner.jpg` and `reactiveCTA.jpg` assets.
- Introduced a new section for "Reactive Mainnet" in `chainMetaRecord`:
- Set `headerImgUrl` to `reactiveBanner.src`.
- Added an `about` description for Web3 automation.
- Configured `cta` with `backgroundImageUrl`, `title`, `buttonLink`, and `buttonText`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `AnnouncementBanner` and `Banner` components to promote the new `Universal Bridge` feature, enhancing the messaging around payment integration, and refining the content in the documentation to reflect these changes.
### Detailed summary
- Updated `AnnouncementBanner` with new `href`, `label`, and `trackingLabel`.
- Changed `Banner` ID, `text`, and `href` to reflect the `Universal Bridge` launch.
- Revised documentation for webhook events to include `Universal Bridge`.
- Enhanced content in the overview page for `Universal Bridge`.
- Updated descriptions and titles for multiple `FeatureCard` components.
- Removed fee-sharing section and added new integration options for `Universal Bridge`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `thirdweb` library by adding functionality to manage extensions on dynamic contracts, including the ability to install and uninstall extensions.
### Detailed summary
- Introduced `uninstallExtension` function to remove extensions from dynamic contracts.
- Added `installPublishedExtension` function to install extensions with various options.
- Updated `generateExtensionFunctionsFromAbi` to use a specific string format for `functionSelector`.
- Enhanced tests for `uninstallExtension` and `installPublishedExtension` to ensure proper functionality.
- Updated generated files for `addExtension` and `removeExtension` methods with new parameter types and encoding functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on fixing typos and improving text clarity in various components of the application.
### Detailed summary
- In `PayConfig.tsx`, corrected "will are" to "are" in the `bottomText` prop.
- In `page.tsx` (commerce), corrected "paymets" to "payments".
- In `page.tsx` (headless), corrected "Seemlessly" to "Seamlessly" in the `description`.
- In `page.tsx` (embed), corrected "Seemlessly" to "Seamlessly" in the `description`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the `transformedQueryData` computation by filtering out empty values from the `policy` properties. It enhances data handling for `allowedContractAddresses`, `allowedWallets`, `blockedWallets`, and `allowedChainIds`, ensuring cleaner and more accurate data is returned.
### Detailed summary
- Refactored `transformedQueryData` to filter out empty values from `allowedContractAddresses`, `allowedWallets`, `blockedWallets`, and `allowedChainIds`.
- Simplified return conditions for these properties.
- Changed handling of `allowedChainIds` to return an empty array instead of null to prevent API issues.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating documentation and modifying the sidebar structure in the `Nebula` application, including changes to links and adding a new FAQ section.
### Detailed summary
- Added a new FAQ section in `faqs/page.mdx` about using Nebula in a stateless manner.
- Changed the sidebar entry from `MCP Server` to `MCP Clients` in `sidebar.tsx`.
- Updated the link for `Examples` in `sidebar.tsx` to point to a GitHub repository.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on restructuring the `sidebar` object in the `apps/portal/src/app/nebula/sidebar.tsx` file, ensuring proper formatting of the sidebar items and improving the overall readability of the code.
### Detailed summary
- Adjusted the formatting of the `sidebar` entries for `MCP Server` and `Tools`.
- Converted closing brackets from separate lines to inline, enhancing code clarity.
- Ensured consistent object structure for items in the `sidebar`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the deployment and transaction management of dynamic contracts within the `thirdweb` framework, adding support for extensions and improving the handling of contract metadata.
### Detailed summary
- Improved return formatting in `bootstrap.ts`.
- Updated `platformFeeBps` handling in `custom-contract.tsx`.
- Added tests for dynamic contract transactions in `get-required-transactions.test.ts`.
- Enhanced logic for deploying extensions in `deploy-published.ts`.
- Introduced new functions for managing dynamic contract extensions in `get-required-transactions.ts`.
- Updated `deploy-marketplace.ts` to include dynamic extensions in marketplace contracts.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `Bridge` module to the `thirdweb` SDK, enabling users to perform token buy and sell operations across chains, along with route discovery and transaction status checks.
### Detailed summary
- Added `Bridge` module for Universal Bridge operations.
- Implemented `Bridge.Buy` and `Bridge.Sell` for token transactions.
- Created `quote` and `prepare` functions for both buy and sell operations.
- Introduced `routes` function to discover available bridge routes.
- Added `status` function to check transaction statuses.
- Defined TypeScript types: `Route`, `Status`, `Quote`, `PreparedQuote`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on modifying the instantiation of the `engineWallet` variable by removing the `await` keyword from the `EngineWallet.Create` method call, indicating a change in how the method is executed.
### Detailed summary
- Removed `await` from the `EngineWallet.Create` method call for `engineWallet`.
- The method now executes synchronously instead of asynchronously.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the documentation for deploying ERC-20 and Agglayer module contracts, providing step-by-step guides and visual aids for users.
### Detailed summary
- Added a new section for "Tutorials" in the `sidebar` with a link to "Deploy ERC-20 Core."
- Introduced a tutorial on deploying an ERC-20 Core contract, including steps and images.
- Created a guide for adding the Agglayer module to modular contracts, detailing prerequisites and steps.
- Included images for each step in both tutorials for better understanding.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the documentation for various blockchain use cases, enhancing clarity and structure. It introduces a new section summarizing insights and specific blueprints for tracking on-chain activities.
### Detailed summary
- Removed detailed explanations for various use cases in sections for `Gaming`, `DeFi`, `NFTs`, and `Wallets`.
- Added a new section titled `Insight Use Cases`.
- Provided a concise table summarizing use cases and corresponding blueprints for tracking blockchain data.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the billing information section in the documentation, specifically enhancing the instructions for viewing past invoices and modifying the related content.
### Detailed summary
- Updated the navigation steps for viewing past invoices from **Settings > Billing > Manage Billing** to **Settings > Invoices**.
- Changed the instructions for viewing invoices to emphasize breakdown by plan and usage.
- Removed an unused `invoices-settings.png` import.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on simplifying the logic for determining if form fields are "dirty" before enabling the save button in the `ProjectGeneralSettingsPage`. It removes checks for dirty states, allowing the save button to be enabled regardless of whether the fields have been modified.
### Detailed summary
- Removed `isNameDirty` check for the `name` field in `ProjectNameSetting`.
- Removed `isDomainsDirty` check for the `domains` field in `AllowedDomainsSetting`.
- Removed `isBundleIdsDirty` check for the `bundleIds` field in `AllowedBundleIDsSetting`.
- Updated save button to always have `disabled: false` for all settings.
- Kept `isPending` functionality unchanged based on `props.isUpdatingProject`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces several enhancements and fixes across various components in the dashboard application, including new features, property adjustments, and structural changes for improved functionality and usability.
### Detailed summary
- Added `showRangeSelector` property to `AnalyticsHeader`.
- Updated `RotateSecretKeyButton` to be exported.
- Removed `isEnabled` property and replaced it with `isDisabled` across multiple components.
- Introduced `IntegrateAPIKeyCodeTabs` and related sections in `ProjectFTUX`.
- Enhanced project integration sections with new UI components and improved code examples.
- Refactored `NotificationButtonInner` and other components to remove `isEnabled` checks.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the `blockRange` parameter in the `page.tsx` file to adjust the maximum block number limit for a specific condition.
### Detailed summary
- Updated `blockRange` from `latestBlockNumber < 2000000n` to `latestBlockNumber < 100000n`, changing the maximum limit from `2000000n` to `100000n`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `ChatPageContent` component by implementing functionality to save and retrieve the last used chain IDs from local storage, ensuring that the user's selection persists across sessions.
### Detailed summary
- Added `saveLastUsedChainIds` function to store chain IDs in local storage.
- Implemented `getLastUsedChainIds` function to retrieve chain IDs from local storage.
- Updated `updatedContextFilters` to use last used chain IDs if available.
- Ensured wallet address is set only from a connected wallet.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving code readability and fixing a typo in the console log message, as well as adjusting the CSS class for better text formatting in a component.
### Detailed summary
- In `packages/thirdweb/src/react/core/utils/wallet.ts`, the console log message was changed from `"Walelt name"` to `"wallet name"` for clarity.
- In `apps/portal/src/components/Document/Code.tsx`, the CSS class was modified from `rounded-lg border bg-card font-mono text-sm leading-relaxed` to `whitespace-pre rounded-lg border bg-card font-mono text-sm leading-relaxed` to enhance text formatting.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2796 (XPROT-934)
## Problem solved
This was an issue when installing modules published with ref contracts. Module installation goes through infra deployment functions which use computed addresses.
SDK should process ref contracts when computing published contract addresses.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of published contract references in the `thirdweb` library, particularly in the deployment process. It introduces a new function to compute addresses for these references and updates existing functions and tests accordingly.
### Detailed summary
- Added `processRefDeployments` function to process contract references in constructor params.
- Introduced `computeRefDeployments` function for computing addresses of published contract references.
- Updated the handling of `salt` values to default to an empty string instead of `"thirdweb"`.
- Modified `computeDeploymentInfoFromMetadata` to use processed constructor parameters.
- Adjusted tests to reflect changes in contract deployment parameters and added new tests for address computation of deployed contracts with references.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on renaming and updating the `RoutesPage` functionality, enhancing token properties, and adjusting UI elements in the routing components for better clarity and usability.
### Detailed summary
- Renamed `ChainListPage` to `RoutesPage`.
- Updated token properties to include `name` and `symbol` for both origin and destination tokens.
- Increased `filters.limit` from `10,000` to `50,000`.
- Modified UI classes for improved styling and consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on renaming and rebranding the `Pay` feature to `Universal Bridge`, updating related paths, descriptions, and components accordingly.
### Detailed summary
- Renamed `Pay` to `Universal Bridge` in various components and files.
- Updated links and routes to reflect the new branding.
- Changed descriptions to align with the new feature purpose.
- Replaced `TrackedLinkTW` with `TrackedUnderlineLink` in multiple components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the functionality and user experience of the dashboard by adding new features, improving existing components, and refining data handling, particularly around sponsored transactions and usage analytics.
### Detailed summary
- Added `placeholder` prop to `SingleNetworkSelector`.
- Integrated `SponsoredTransactionsTable` in `AccountAbstractionAnalytics`.
- Enhanced `Usage` component with `client` and `projects` props.
- Improved `ExportToCSVButton` to handle different data types.
- Introduced `SponsoredTransactionsTable` for displaying sponsored transaction data.
- Updated `SponsoredTransactionsTableUI` with pagination and filter options.
- Added error handling and loading states in various components.
- Refactored proxy actions to support optional search parameters and text parsing.
- Introduced `getAuthToken` for authentication in several pages.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Also adds Insight and Engine
Closes TOOL-3570
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing documentation and sidebar navigation for the Thirdweb .NET SDK, introducing new wallet integrations, and updating metadata and descriptions for clarity.
### Detailed summary
- Updated `PrivateKeyWallet` description to markdown format.
- Changed `title` in `nebula/quickstart` metadata.
- Added utility functions description in `utils/page.mdx`.
- Removed `Constants.DECIMALS_18`.
- Added `EngineWallet` documentation with usage example.
- Updated sidebar links for better organization and added new sections.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the test file `smart-wallet-integration-v07.test.ts` to switch the blockchain network from `sepolia` to `arbitrumSepolia`, modifies the contract address, and adds a new expectation for contract deployment verification.
### Detailed summary
- Added import for `arbitrumSepolia`.
- Changed the blockchain network from `sepolia` to `arbitrumSepolia`.
- Updated the contract address from `0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8` to `0x6A7a26c9a595E6893C255C9dF0b593e77518e0c3`.
- Added expectation to verify if the contract is deployed.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the terminology and references in the codebase from `thirdweb Pay` to `thirdweb Universal Bridge`, reflecting a rebranding and restructuring of the payment system.
### Detailed summary
- Updated sidebar links, changing "Testing Pay" to "Developer Mode" and renamed "Guides" to "Tutorials".
- Replaced instances of `thirdweb Pay` with `thirdweb Universal Bridge` in multiple files.
- Updated metadata titles and descriptions across various `.mdx` files.
- Modified FAQs to reflect new terminology for the Universal Bridge service.
- Adjusted documentation on customization and integration guides to use the new branding.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Updates ecosystem API endpoints to be scoped under team routes
The ecosystem wallet API endpoints have been updated to be scoped under team routes, ensuring proper data isolation between teams. All ecosystem-related API calls now include the team ID or slug in the path.
Key changes:
- Updated API endpoints from `/v1/ecosystem-wallet/*` to `/v1/teams/{teamIdOrSlug}/ecosystem-wallet/*`
- Added team slug parameter to ecosystem fetch and list operations
- Modified React hooks to include team context in query keys
- Updated component props to pass team information through the component tree
This change ensures ecosystem wallets are properly scoped to their respective teams and maintains data isolation between different team contexts.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates various functions and components within the ecosystem module to include `team_slug` as a parameter. This change enhances the ability to fetch ecosystems and their details specific to a team, improving data handling across the application.
### Detailed summary
- Updated `fetchEcosystem` to accept `team_slug`.
- Modified `fetchEcosystemList` to include `team_slug`.
- Adjusted the `useEcosystemList` hook to utilize `teamIdOrSlug`.
- Enhanced `useEcosystem` to accept `teamIdOrSlug`.
- Updated components to pass `team_slug` where necessary.
- Changed redirect logic to incorporate team-specific ecosystems.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on renaming and updating the documentation related to `thirdweb Pay`, transitioning to the `Universal Bridge` terminology. It enhances clarity and alignment with the new features and guides for web3 payments.
### Detailed summary
- Updated titles and descriptions in various `.mdx` files to reflect `Universal Bridge`.
- Changed sidebar navigation names and links to align with `Universal Bridge`.
- Revised content in `page.mdx` files to include new functionalities and guides.
- Added sections on fee sharing and supported chains in the `Overview` documentation.
- Modified FAQ entries to clarify `Universal Bridge` specifics.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
blocked by: https://app.graphite.dev/github/pr/thirdweb-dev/api-server/1437/add-team-engine-management-endpoints
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the handling of `teamIdOrSlug` across various components and utility functions related to engine instances and alerts, ensuring that the correct team context is maintained throughout the application.
### Detailed summary
- Added `teamIdOrSlug` parameter to multiple functions and components.
- Updated API endpoints to include `teamIdOrSlug` in fetch calls.
- Modified components like `EngineAlertsPage`, `EngineSystem`, and `EngineInstancesTable` to pass `teamIdOrSlug`.
- Adjusted data structure handling in API responses to use `result` instead of `data`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR refines the logic for setting default values in the `values` object within the `blueprint-playground.client.tsx` file. It consolidates the conditions for assigning a default value to parameters.
### Detailed summary
- Removed the specific check for `param.name === "chain"` that assigned a hardcoded value of `"1"`.
- Simplified the condition to check if `param.schema` has a `type` and a `default` property.
- Updated the assignment of `values[param.name]` to use `param.schema.default` when applicable, otherwise setting it to an empty string.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on adding a new route to the `framer-rewrites.js` file for redirecting to the `/faucets` page.
### Detailed summary
- Added the route `"/faucets"` to the array of paths in `apps/dashboard/framer-rewrites.js`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on removing unused components and simplifying the `CouponCard` functionality by streamlining the handling of coupon applications and eliminating the modal for sharing free wallets.
### Detailed summary
- Deleted multiple files related to `share-free-wallets-modal` and analytics components.
- Removed the dynamic import of `LazyShareFreeWalletsModal` in `CouponCard.tsx`.
- Simplified the `onCouponApplied` function signature by removing the `isFreeWalletsCoupon` parameter.
- Eliminated state management for `showShareModal` in `CouponSection`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `MarketplaceV3` addresses in the `ZKSYNC_IMPLEMENTATIONS` object for various entries to new contract addresses.
### Detailed summary
- Updated `MarketplaceV3` address from `0xBc02441a36Bb4029Cd191b20243c2e41B862F118` to `0x88e7F2bEf0a23073b7Cc2c79D307Dbd9138Fa79c` at index `324`.
- Updated `MarketplaceV3` address from `0x4027561E163a420c4e5Db46E07EBd581CAa8Bb62` to `0x4b14569c7B79DBe686Ac3Ba5996131E7EDaB7a93` at index `2741`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3478
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the platform fee configuration in the contract deployment process, introducing a new fee constant, and modifying the logic to handle different fee scenarios based on the publisher address.
### Detailed summary
- Added `THIRDWEB_PUBLISHER_ADDRESS` constant in `addresses.ts`.
- Introduced `DEFAULT_FEE_BPS_NEW` constant in `addresses.ts`.
- Updated `PlatformFeeFieldset` to destructure `isMarketplace`.
- Modified `CustomContractForm` to conditionally use `DEFAULT_FEE_BPS_NEW` based on the publisher address.
- Adjusted imports in `custom-contract.tsx` to include new constants.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces enhancements to the `LoginAndOnboardingPage` by adding support for an in-app wallet login option and refactoring the login handling logic.
### Detailed summary
- Added `loginWithInAppWallet` prop to `LoginAndOnboardingPage` and `LoginAndOnboardingPageContent`.
- Updated `Page` component to handle `in-app-wallet` search parameter.
- Introduced `inAppWalletLoginOptions` for in-app wallet authentication.
- Modified wallet selection logic based on `loginWithInAppWallet` prop.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates routing and links in the dashboard application to improve navigation.
### Detailed summary
- In `apps/dashboard/next.config.ts`, the `destination` was changed from `"/"` to `"https://landing.thirdweb.com"`.
- In `apps/dashboard/src/app/components/MobileBurgerMenuButton.tsx`, the `href` for the `Link` component was updated from `"/"` to `"/home"`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding support for the GPT Protocol to chains that only support legacy transactions.
### Detailed summary
- Updated the `.changeset/every-bees-exist.md` file to document the addition of the GPT Protocol.
- Added `1511670449` as the fee data for `GPT Mainnet` in the `packages/thirdweb/src/gas/fee-data.ts` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating descriptions and FAQ content related to `Nebula` and `EVM networks` across various markdown files, enhancing clarity and accuracy.
### Detailed summary
- Updated `FeatureCard` description for `Nebula`.
- Revised contract deployment description to specify "any EVM network".
- Changed RPC endpoints description to "every EVM chain".
- Added new FAQ entries and details about `Nebula`'s model and capabilities.
- Reformatted existing FAQs with `<Details>` components for better presentation.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
[Portal] Feature: Add multichain queries documentation and examples
## Notes for the reviewer
This PR introduces comprehensive documentation for multichain query functionality in Insight, including detailed examples, response formats, and best practices.
## How to test
- Review the new multichain queries documentation page
- Verify the code examples work with the described response formats
- Check that the sidebar navigation correctly links to the new documentation
- Confirm the authentication methods and chain ID formats are accurately described
---
## PR-Codex overview
This PR enhances the `Insight` docs by documenting multichain queries. It updates various documentation files to reflect new features, examples, and response formats related to multichain functionality.
### Detailed summary
- Added `Multichain Queries` section to the sidebar in `sidebar.tsx`.
- Introduced examples for querying multiple chains in `page.mdx` files.
- Updated chain ID handling examples in `agents-and-llms/page.mdx` and `llmstxt/page.mdx`.
- Detailed multichain response structure added to documentation.
- Explained authentication methods for multichain queries.
- Provided best practices and use cases for multichain queries in `multichain-queries/page.mdx`.
- Updated response format details for multichain queries, including metadata and data array structure.
- Included examples for cross-chain portfolio tracking and activity monitoring.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for multichain queries in the `thirdweb Insight` API, enhancing the ability to retrieve data across multiple blockchain networks in a single API call.
### Detailed summary
- Added a new entry for "Multichain Queries" in the `sidebar`.
- Updated examples to illustrate querying multiple chains using query parameters.
- Enhanced documentation for multichain queries with examples and best practices.
- Modified response formats to include `chain_ids` and `limit_per_chain` for multichain queries.
- Updated existing examples to reflect multichain capabilities.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the management of teams and accounts in the application. It introduces a new method to fetch the default team and updates various components to utilize this information, improving user experience and functionality.
### Detailed summary
- Added `getDefaultTeam` function to fetch the default team using an API call.
- Updated `TeamRootPage` to use `getDefaultTeam` instead of fetching all teams.
- Modified middleware to redirect using the default team.
- Refactored account settings page to include `defaultTeamSlug` and `defaultTeamName`.
- Enhanced `DangerSettingCard` to manage confirmation dialog state.
- Updated `AccountSettingsPageUI` to handle account deletion with relevant alerts for errors.
- Added UI components for handling account deletion status responses in the storybook.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the Content Security Policy (CSP) in the `next.config.ts` file to include an additional source for `script-src`.
### Detailed summary
- Added `static.reo.dev` to the `script-src` directive in the CSP.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CORE-758
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `framer-rewrites.js` file to include a new route related to storage within the application's routing configuration.
### Detailed summary
- Added a new route `"/storage"` to the existing routes in `framer-rewrites.js`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the layout components and search data extraction in the application. It introduces new files for LLM content and modifies existing components to include additional properties for better indexing and rendering.
### Detailed summary
- Added `public/llms.txt` and `public/llms-full.txt` files.
- Removed `data-noindex` from `<div>` in multiple layout files.
- Added `noLLM` property to `DocLayout` in various components.
- Updated `extractSearchData` to return LLM content.
- Modified `extractContent` to handle new LLM data.
- Adjusted `ArticleCard` and `Code` components to include `data-noindex`.
- Updated dependencies in `package.json` and `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates several dependencies, particularly the `viem` package, and makes adjustments to the `package.json` and lock files to reflect these changes. It also increases the size limit in the `.size-limit.json` file.
### Detailed summary
- Updated `viem` version from `2.22.17` to `2.23.5` in `package.json` and `pnpm-lock.yaml`.
- Increased size limit in `packages/thirdweb/.size-limit.json` from `130 kB` to `131 kB`.
- Adjusted various dependencies in `pnpm-lock.yaml` to include `@swc/[email protected]`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the notification system in the dashboard by integrating changelog and inbox notifications, improving UI components, and updating dependencies.
### Detailed summary
- Added `getChangelogNotifications`, `getInboxNotifications`, and `markNotificationAsRead` functions.
- Integrated notifications in `AccountHeaderUI`, `TeamHeader`, and `SecondaryNav`.
- Updated styles for various components.
- Replaced `Changelog` component with a new layout in `TeamProjectsPage`.
- Enhanced notification handling using `idb-keyval` for local storage.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on addressing flaky tests in the `thirdweb` codebase by enabling previously skipped tests related to `SmartWallet` functionality, ensuring they are executed as part of the test suite.
### Detailed summary
- Removed `.github/workflows/issue.yml`.
- Enabled `describe` and `test` blocks previously marked as skipped in:
- `smart-wallet-modular.test.ts`
- `verify-typed-data.test.ts`
- `smart-wallet-integration-v07.test.ts`
- Adjusted test configurations by removing `FIMXE` comments and retry limits.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the project management features by introducing team member retrieval, project transfer capabilities, and UI improvements in the `ProjectGeneralSettingsPage`. It also updates the handling of team roles and member information.
### Detailed summary
- Updated `AccountTeamsUI` to handle empty image string for avatars.
- Added `getMemberById` function to fetch team member details.
- Replaced `getMembers` with `getMemberById` in `Page` component.
- Enhanced `DangerSettingCard` to include `isDisabled` prop.
- Refactored `ProjectGeneralSettingsPage` to manage team roles and project transfers.
- Introduced `TransferProject` component for transferring projects between teams.
- Updated storybook stories to include owner and member account scenarios.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the account management features in the dashboard by introducing linked wallets functionality, refining UI elements, and improving code organization.
### Detailed summary
- Added `/account/wallets` route with "Linked Wallets" label.
- Updated button text from "Create a Team" to "Create Team".
- Changed `<div>` to `<header>` in `AccountSettingsPage.tsx`.
- Enhanced `Devices` page structure with headers and descriptions.
- Implemented `getLinkedWallets` API function.
- Updated `Page` component to fetch linked wallets and account info.
- Refactored `LinkWallet` and `LinkWalletUI` components for better state management and UI.
- Added stubs for unlinking wallets in `LinkWalletsUI.stories.tsx`.
- Improved wallet unlinking functionality with confirmation dialogs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on integrating `Turnstile` CAPTCHA for enhanced security during the login process in the `LoginPage`. It modifies the `doLogin` function to include token validation and updates the UI to present the `Turnstile` challenge.
### Detailed summary
- Added `TURNSTILE_SITE_KEY` and `Turnstile` component to `LoginPage.tsx`.
- Introduced state management for `turnstileToken`.
- Updated `doLogin` function to accept `turnstileToken` and validate it.
- Enhanced error handling for login failures.
- Updated UI to display `Turnstile` CAPTCHA.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the member management functionality by adding search capabilities to filter team members and invites based on a search term. It introduces new state variables and updates components to utilize these features.
### Detailed summary
- Added `searchTerm`, `setSearchTerm`, and `searchPlaceholder` to relevant components.
- Updated the `Input` component to use `searchTerm` and `setSearchTerm`.
- Implemented filtering logic for invites and members based on `searchTerm`.
- Replaced `GradientAvatar` with `Badge` in `TeamSettingsSidebar`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the team management features in the dashboard, including invite management, member roles, and UI improvements for better user experience.
### Detailed summary
- Added `skipShowingPlans` prop in `LoginPage`.
- Updated `AnnouncementBanner` to include new layout segments.
- Enhanced `TeamMember` type with new fields.
- Introduced `DotsBackgroundPattern` component for UI.
- Implemented `service_getTeamBySlug` API function.
- Added `leaveTeam` functionality in various components.
- Improved onboarding logic to skip plans.
- Created `JoinTeamPage` with invite handling.
- Added invite management features in `ManageInvitesSection`.
- Enhanced member management with delete functionality.
- Updated UI components for better accessibility and usability.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the middleware logic to handle subdomains more flexibly, accommodating both the standard `nebula` subdomain and a new format used in Vercel previews.
### Detailed summary
- Changed the condition to check for `subdomain` being either `nebula` or starting with `nebula---`.
- Updated the path rewriting logic to prepend `nebula-app` to the existing paths when the condition is met.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the formatting of monetary values across various components by replacing manual formatting with a utility function `toUSD`. This enhances consistency and readability in displaying currency values.
### Detailed summary
- Added `toUSD` utility function for consistent currency formatting.
- Replaced manual currency formatting in `PaymentsSuccessRate.tsx`, `Payouts.tsx`, `PayCustomersTable.tsx`, `TotalVolumePieChart.tsx`, and `TotalSponsoredChartCard.tsx`.
- Modified random number generation in `storyUtils.ts` to use non-integer values.
- Updated `format-utils.ts` to use a new compact number formatter.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the user interface and functionality of various components in the dashboard application, particularly in handling links, chat interactions, and example prompts for a feature called Nebula.
### Detailed summary
- Updated `className` for improved styling in `markdown-renderer.tsx`.
- Changed `backgroundImage` gradient in `EmptyStateChatPageContent.tsx`.
- Added `target` attribute for external links in `Sidebar.tsx`.
- Introduced `examplePrompts` with new responses in `ChatPageContent.tsx`.
- Added `interceptedReply` to `ExamplePrompt` interface in `examplePrompts.ts`.
- Provided detailed descriptions of Nebula's capabilities in `examplePrompts.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Closes TOOL-3456
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating descriptions and improving the clarity of build instructions for Unity and troubleshooting OAuth redirects.
### Detailed summary
- Fixed a typo in the `description` for the Unreal Engine link.
- Changed section title from `General` to `All Target Platforms`.
- Clarified build settings for IL2CPP Code Generation.
- Added details about OAuth redirect troubleshooting, including best practices for bundle IDs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on refactoring the project and team management functionalities in the application, specifically updating the handling of API keys, project settings, and team responses, alongside improving redirection logic and type definitions.
### Detailed summary
- Removed `getAPIKeys.ts`.
- Updated types for `TeamResponse` and `ProjectResponse`.
- Changed redirection logic in various components to use the correct team/project slugs.
- Updated `ProjectGeneralSettingsPage` to use the new project structure.
- Refactored API key handling to support new project structure.
- Replaced instances of `LazyCreateAPIKeyDialog` with `LazyCreateProjectDialog`.
- Updated service utilities to include new project-related types.
- Improved error handling and user feedback in settings pages.
> The following files were skipped due to too many changes: `apps/dashboard/src/@3rdweb-sdk/react/hooks/useApi.ts`, `apps/dashboard/src/components/settings/ApiKeys/Create/index.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/settings/ProjectGeneralSettingsPage.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3458
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new gas price configuration for a blockchain network named `Ronin` within the `create-2-factory.ts` file.
### Detailed summary
- Added a new entry for the year `"2020"` with:
- `name`: `"Ronin"`
- `gasPrice`: `110n * 10n ** 9n`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
=
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the NFT metadata handling in the dashboard application, specifically renaming and refactoring properties related to custom images and animations, improving form handling, and enhancing user interface elements.
### Detailed summary
- Updated documentation link in `next-env.d.ts`.
- Changed `customImage` and `customAnimationUrl` to `image` and `animation_url` in multiple components.
- Updated titles and headers for improved clarity in forms.
- Enhanced form controls with better error handling and user feedback.
- Adjusted layout and spacing in several components for better usability.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Update "extension" to "extensions"
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the import path for the `balanceOf` function from the `thirdweb/extension/erc1155` to `thirdweb/extensions/erc1155`, ensuring that the correct module is referenced for checking wallet balances.
### Detailed summary
- Changed the import statement for `balanceOf` from `thirdweb/extension/erc1155` to `thirdweb/extensions/erc1155`.
- Added a newline at the end of the file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the user experience in the `ConnectEmbed` component by addressing the display of a "Sign In" prompt when the login status is uncertain. Instead, it shows a loading indicator during this period.
### Detailed summary
- Updated the condition for rendering the loading screen in `SignatureScreen.tsx`.
- The loading screen is now shown if either `wallet` is not available or `siweAuth.isLoading` is true, enhancing user feedback during the login process.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring components related to the `TeamHeader` and `HeaderLoggedOut`, improving code organization and consistency, and updating UI elements for better styling.
### Detailed summary
- Renamed `TeamHeaderLoggedOut` to `HeaderLoggedOut` and updated its import paths.
- Consolidated the header components for logged-out states.
- Changed class names for styling consistency.
- Refactored color mode toggle component to `ToggleThemeButton`.
- Updated button variants and styles in several components.
- Adjusted layout and spacing in various UI elements for improved design.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3433
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the user experience in the dashboard by improving messaging for contract deployment, adding asynchronous handling for network selection, and integrating a mutation for adding chains, which provides feedback during the process.
### Detailed summary
- Updated message in `no-crosschain-prompt.tsx` to clarify contract functionality.
- Modified `SingleNetworkSelector` to include `isAddingRow` prop and changed `handleChange` to be asynchronous.
- Added mutation for adding rows in `DataTable`, with feedback for processing and error states.
- Removed redundant `handleAddRow` function from `DataTable`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/project/[modular-contracts]-op-interoperability-module-87740e1390a9/overview
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new features and improvements related to cross-chain contract deployment in the `thirdweb` framework, enhancing functionality and usability for developers.
### Detailed summary
- Added `getDeployedCloneFactoryContract` export in `contract.ts`.
- Introduced `moduleInstalledEvent` export in `modules.ts`.
- Updated TypeScript documentation links.
- Enhanced sidebar links in `getContractPageSidebarLinks.ts`.
- Improved `namehash.ts` with typed return value.
- Created `NoCrossChainPrompt` component for user feedback.
- Added `nonce` and `initializeData` options in `installPublishedModule.ts`.
- Updated event handling for `ProxyDeployedV2`.
- Implemented cross-chain deployment logic in various files.
- Updated tests to cover new cross-chain functionality.
- Refactored contract deployment methods to support new parameters.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3401
Dashboard handles single unnamed param as "*". Handle this in sdk. Throw error for all other cases.
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `normalizeFunctionParams` function to handle cases where parameter names may be missing or empty. It introduces error handling for unnamed parameters and updates the associated tests to cover these scenarios.
### Detailed summary
- Updated the condition to check for both `undefined` and empty string in parameter names.
- Added a comment for future handling of multiple unnamed parameters.
- Modified test cases to include checks for empty parameter names.
- Ensured that unnamed parameters can be accessed via the `params["*"]` syntax.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the user experience by adding a new feature to fetch users through an API and updating the API endpoint for wallet pregeneration.
### Detailed summary
- Added a new menu item `Fetch Users` in `sidebar.tsx`.
- Updated the API endpoint in `page.mdx` for wallet pregeneration.
- Introduced documentation for fetching users via REST API in `get-users/page.mdx`.
- Provided example curl command and response format for the new feature.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on refactoring and improving the structure of the dashboard application by removing obsolete files, enhancing component functionality, and updating UI elements for better user experience.
### Detailed summary
- Deleted several unused files related to contract management.
- Updated `className` properties for better styling consistency.
- Added `accountAddress` prop to various components for enhanced functionality.
- Introduced new hooks and functions for managing project contracts.
- Improved error handling in contract import functionality.
- Enhanced UI components for better responsiveness and clarity.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/contract-components/tables/cells.tsx`, `apps/dashboard/src/components/contract-components/contract-deploy-form/add-to-project-card.tsx`, `apps/dashboard/src/components/smart-wallets/AccountFactories/index.tsx`, `apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx`, `apps/dashboard/src/components/contract-components/tables/contract-table.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `Page` function in `page.tsx` to handle `searchParams`, allowing for an import URL to trigger a redirect when present.
### Detailed summary
- Added `searchParams` to the `Page` function's props.
- Used `Promise.all` to await both `params` and `searchParams`.
- Implemented a redirect to an import URL if `searchParams.importUrl` is provided.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the deletion of numerous unused asset files from the `apps/dashboard/public/assets` directory and introduces a script for managing the deletion of these files.
### Detailed summary
- Deleted multiple unused asset files from various directories in `apps/dashboard/public/assets`.
- Introduced `deleteUnusedAssets.ts` script to handle the deletion of specified files.
- Added functionality to log deleted files and handle errors when files are not found.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->

<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on enhancing the `ThirdwebBarChart` and `ThirdwebAreaChart` components by introducing a `header` prop for improved chart display, modifying chart aspect ratios, and refining random data generation for analytics. It also updates the `NebulaAnalyticsPage` structure.
### Detailed summary
- Added `header` prop to `ThirdwebBarChart` and `ThirdwebAreaChart` for titles and descriptions.
- Changed aspect ratio from `lg:aspect-[4.5]` to `lg:aspect-[3.5]` in `Analytics.tsx`.
- Updated import path for `NebulaAnalyticsPage`.
- Refined random data generation logic in `nebula-analytics-ui.stories.tsx`.
- Improved chart configurations in multiple analytics components.
- Introduced `AnalyticsChart` component for better organization of chart data and props.
- Adjusted styling and structure of various charts for consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes TOOL-3381
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on exposing the `canClaim` extension function for ERC20, ERC721, and ERC1155 drops, allowing for better claim verification and improving the overall functionality of the drops system.
### Detailed summary
- Added `canClaim` function to `erc20`, `erc721`, and `erc1155` extensions.
- Updated tests to include `canClaim` functionality.
- Modified JSON ABI files to include `verifyClaim` function.
- Adjusted gas values in tests.
- Enhanced error handling in `extract-error.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3389
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a default fee configuration for contract deployments, updates the handling of platform fees, and improves the UI components related to fee management, ensuring that default values are used consistently throughout the application.
### Detailed summary
- Added `DEFAULT_FEE_RECIPIENT` and `DEFAULT_FEE_BPS` to `addresses.ts`.
- Introduced `hasDefaultFeeConfig` in `ContractSettingsPage`.
- Filtered out specific functions related to platform fees in `contract-function.tsx`.
- Integrated platform fee logic in `CustomContractForm`.
- Updated `PlatformFeeFieldset` to reflect marketplace conditions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on enhancing the `Nebula` analytics functionality by adding new components and improving data handling for analytics. It introduces new utilities for managing date ranges and search parameters, along with updates to the UI for better user interaction.
### Detailed summary
- Added `getNebulaAnalyticsRangeFromSearchParams` function in `utils.ts`.
- Updated `ProjectTabs` to remove `isOnNebulaWaitList` prop.
- Introduced `normalizeTime` function in `time.ts` for date normalization.
- Created `NebulaAnalyticsFilter` component for filtering analytics data.
- Implemented `NebulaAnalyticsPage` and `NebulaAnalyticDashboard` for displaying analytics.
- Enhanced `DateRangeSelector` with popover alignment options.
- Added `NebulaAnalyticsDashboardUI` for rendering analytics data and charts.
- Integrated `responsive-rsc` for responsive search parameters.
- Updated `package.json` to include `responsive-rsc` dependency.
- Removed calls to `getTeamNebulaWaitList` in `layout.tsx` and associated logic.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
---
## PR-Codex overview
This PR focuses on updating content and structure across various pages in the `apps/portal` application, including the addition of new features, improved descriptions, and adjustments to the sidebar navigation.
### Detailed summary
- Deleted `supported-chains.png` and `context-filters.png`.
- Added new content for `faqs`, `troubleshoot`, and `Nebula` guides.
- Updated the sidebar with new links and icons.
- Changed import paths for images.
- Enhanced descriptions in `Deploy`, `Contracts`, and `Insight` pages.
- Added a new section for "Supported Chains" in `Contracts` and `Insight` pages.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the documentation and content for the `thirdweb` platform, particularly for the `Insight` and `Nebula` sections, while also restructuring some sidebar links and enhancing the user interface with new images.
### Detailed summary
- Deleted `supported-chains` image and `page.mdx` files.
- Added new content for `Insight FAQs` and `Troubleshoot Guide`.
- Updated `Nebula` description and added a support link.
- Changed sidebar items for `Insight` and `Contracts`.
- Introduced new features and layout in `Insight` and `Contracts` pages.
- Added support for displaying `Supported Chains` images in relevant sections.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updates to the `insight` and `nebula` sections of the application, including the addition of new content, restructuring of sidebar navigation, and changes to image imports. It also enhances the user interface with improved documentation and guidance.
### Detailed summary
- Deleted `apps/portal/src/app/insight/supported-chains/page.mdx`.
- Added new content for `Insight FAQs`, `Insight Troubleshoot Guide`, and `Nebula Troubleshoot Guide`.
- Updated sidebar navigation in `apps/portal/src/app/insight/sidebar.tsx`.
- Changed the name and href for several sidebar items.
- Reorganized `Supported Chains` references and added a new image import in multiple files.
- Enhanced content descriptions in `apps/portal/src/app/contracts/deploy/overview/page.mdx`.
- Added new features and video tutorials in `apps/portal/src/app/insight/page.mdx`.
- Updated layout and structure of `Contracts` section in `apps/portal/src/app/contracts/page.mdx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the documentation for `thirdweb Nebula`, adding detailed metadata, explanations of new features, and clarifying existing concepts. It includes updates to various pages, improving user understanding of plugins, sessions, context filters, and response handling.
### Detailed summary
- Added `metadata` exports to multiple `.mdx` files.
- Enhanced FAQ entries with links and additional context.
- Updated `sidebar` to include new key concepts.
- Added sections on `Chat & Execute endpoints`, `Execute Configuration`, and `Context Filters`.
- Introduced new content on `Response Handling` and streaming vs non-streaming responses.
- Clarified `Sessions` management and benefits.
- Replaced `Stack` with `Grid` in the `page.mdx` and updated links.
- Improved descriptions and examples for API usage and configurations.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refining the UI components and improving the overall structure of the contract deployment forms. It introduces new styles, modifies existing components, and enhances accessibility.
### Detailed summary
- Updated `ThemeProvider` to enable color scheme.
- Changed class names for various components to improve styling.
- Simplified props for `SolidityInput` components.
- Replaced `FormControl` with `FormFieldSetup` for better structure.
- Enhanced accessibility by modifying error messages and labels.
- Streamlined imports and removed unnecessary components.
- Improved the layout and styling of various fieldsets and buttons.
- Added new utility functions for better handling of form states.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the contract fetching logic in the `dashboard` application to improve the retrieval of the latest published contracts. It replaces older functions with new ones that specifically fetch the latest contract versions.
### Detailed summary
- Added `export const dynamic = "force-static";` to `page.tsx` files.
- Replaced `getPublishedContractsWithPublisherMapping` with `getLatestPublishedContractsWithPublisherMapping` in multiple files.
- Introduced `getLatestPublishedContractsWithPublisherMapping` function to fetch the latest contract version.
- Updated `fetchPublishedContractVersions` to use `getSortedPublishedContractVersions`.
- Created `fetchLatestPublishedContractVersion` for fetching the latest version details.
- Modified `ContractCard` to use `ClientOnly` for rendering the `ContractPublisher`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes TOOL-3351
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for managing Circle wallet credentials in the thirdweb Engine, enhancing the wallet management features by allowing users to create, update, and configure Circle wallet credentials.
### Detailed summary
- Added `Wallet Credentials` section in the sidebar.
- Introduced `Circle` wallet option in backend wallet configurations.
- Created new components for managing Circle wallet credentials.
- Implemented credential creation and update functionalities.
- Updated UI components to support Circle wallet management.
- Enhanced documentation for Circle wallet setup and usage.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Closes TOOL-2991
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces enhancements to the `sidebar` structure and API documentation, adds new wallet authentication options, and refines existing content for clarity. It also includes new RPC overrides and updates to the `InAppWallet` and `EcosystemWallet` functionalities.
### Detailed summary
- Added `rpcOverrides` example to `page.mdx`.
- Updated `sidebar.tsx` to include "API Reference" and "Blockchain API" sections.
- Replaced "Blockchain API" with "Nebula AI" in `sidebar.tsx`.
- Enhanced `EcosystemWallet` and `InAppWallet` functionalities with new login options.
- Clarified documentation on wallet connections and authentication methods.
- Added examples for `SiweExternal` login process.
- Updated various sections in `page.mdx` for better clarity and detail.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR enhances error handling in the `AccountForm` component by improving the way errors are processed and displayed to the user.
### Detailed summary
- Replaced the `onError` parameter's type from `Error` to a more generic `error`.
- Added console logging for errors.
- Implemented specific error handling for duplicate email and invalid email address cases.
- Integrated `toast` notifications for user-friendly error messages.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding the `canCreatePublicChains` property to the `mocks.ts` and modifying its type in `api.ts` to enhance the API's capabilities regarding public chain creation.
### Detailed summary
- Added `canCreatePublicChains: false` to the object in `mocks.ts`.
- Updated the type of `canCreatePublicChains` in `api.ts` to `boolean | null`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces several enhancements and new features to the `playground-web` application, including a new `Spinner` component, improved layout for the `APIHeader`, and various updates to forms, UI components, and hooks for better functionality and usability.
### Detailed summary
- Added `isProd` export in `env.ts`.
- Introduced `Spinner` component in `Spinner.tsx` with CSS animations.
- Updated `Layout` to include `APIHeader` with title and links.
- Enhanced `RenderCode` to support new scrollable container class.
- Added `Anchor` component with improved link handling.
- Modified `CodeClient` to accept new props for scrollable container.
- Implemented `useShowMore` hook for dynamic item display.
- Updated `tailwind.config.ts` for new color schemes.
- Refactored `AppSidebar` to accept dynamic links.
- Introduced `fetchAllBlueprints` function for sidebar link generation.
- Added `Alert`, `Tooltip`, and `Table` components with improved styling.
- Enhanced `SelectWithSearch` for better option handling and search functionality.
- Updated various components to use client-side rendering (`"use client"`).
- Improved error handling and loading states in image components.
- Added new utility functions for better link and chain handling.
> The following files were skipped due to too many changes: `apps/playground-web/src/components/ui/select.tsx`, `apps/playground-web/src/app/insight/[blueprint_slug]/blueprint-playground.client.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-0000
### TL;DR
Prioritize explicitly passed `clientId` over computed values when creating a Thirdweb client.
### What changed?
Modified the client initialization logic to prefer explicitly passed `clientId` parameters over computing them from `secretKey`. Only falls back to computing the `clientId` from `secretKey` when no explicit `clientId` is provided.
### How to test?
1. Create a Thirdweb client with both `clientId` and `secretKey` parameters
2. Verify that the provided `clientId` is used instead of computing one from the `secretKey`
3. Create a client with only `secretKey` and verify the `clientId` is computed correctly
### Why make this change?
To give developers more control over client configuration by respecting explicitly provided parameters rather than always computing values from the secret key. This allows for more flexible client setup scenarios where the computed `clientId` might not be desired.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the behavior of the `createThirdwebClient()` function to prioritize the explicitly provided `clientId` over deriving it from the `secretKey`. It also modifies the corresponding test to reflect this new behavior.
### Detailed summary
- Updated `createThirdwebClient()` to prefer `clientId` over computed value from `secretKey`.
- Changed test description to indicate `clientId` is not ignored when `secretKey` is provided.
- Updated test expectation to check that `clientId` is equal to the explicitly provided value instead of the computed one.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixed "Can not import server (async) components in client components" error
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new preview components for wallet, NFT, token, and account functionalities in the `playground-web` application. It enhances code modularity by separating previews into distinct files, improving readability and maintainability.
### Detailed summary
- Added `wallet-previews.tsx` with previews for `WalletIcon`, `WalletName`, and formatting options.
- Created `nft-previews.tsx` with previews for `NFTMedia`, `NFTName`, and `NFTDescription`.
- Introduced `token-previews.tsx` with previews for `TokenIcon`, `TokenName`, and `TokenSymbol`.
- Developed `account-previews.tsx` for `AccountAddress`, `AccountName`, and `AccountBalance` with various configurations.
- Updated example files (`wallet-examples.tsx`, `nft-examples.tsx`, `token-examples.tsx`, `account-examples.tsx`) to utilize new preview components, enhancing code clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on modifying the routes in the `framer-rewrites.js` file for the dashboard application, specifically adding and updating certain paths.
### Detailed summary
- Added the route `"/connect/universal-bridge"`.
- Updated the existing route list by retaining `"/connect/pay"`, `"/connect/account-abstraction"`, and `"/nebula"`.
- Removed the comment indicating `// --insight`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CORE-0000
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `Nebula` documentation by adding new video tutorials and reorganizing content related to supported chains. It also expands the action descriptions in the `prompt-guide` to include bridging and swapping currencies.
### Detailed summary
- Added `Grid` and `ArticleCard` components to introduce video tutorials on using `Nebula`.
- Moved the section on supported chains to follow the new video tutorials.
- Expanded action descriptions in the `prompt-guide` to include "Bridge & Swap" functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the content of the `NotFoundPage` component to enhance the user experience by changing the messaging displayed when a page is not found.
### Detailed summary
- Changed the message from "Looks like web3 can't be found here." to "Looks like you're lost!".
- Updated the text from "Try our" to "Find live content on our".
- Removed "instead" and added a period after the `TrackedLinkTW` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3283
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `MarketplaceV3` address in the `zksync` implementation file, likely reflecting a new deployment or contract version.
### Detailed summary
- Added a new `MarketplaceV3` address: `0x4027561E163a420c4e5Db46E07EBd581CAa8Bb62` at line 2741.
- Removed the previous `MarketplaceV3` address: `0x9EB0830B0b10010F2a53383517A7D0B75531Bb1b`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `Nebula` product to the application, updates several links to point directly to the `thirdweb` site, and refines various UI components for better styling and functionality.
### Detailed summary
- Added `nebula` to the `products` array in `chain.ts`.
- Updated links in `products` to `thirdweb.com` for several items.
- Added `className` to `<TableHeader>` for styling.
- Refined styling and classes in several components, including `<Star>` and `<ProductIcon>`.
- Removed unused functions related to link generation.
- Updated SVG icons to improve accessibility and presentation.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the API's context handling by replacing the `context_filter` with a simplified `context` structure, changing types, and cleaning up related components to improve clarity and functionality in the codebase.
### Detailed summary
- Changed `description` type from `string` to `React.ReactNode` in `APIParameter`.
- Replaced `nebulaContextFilterPathParameter` and `nebulaExecuteConfigPathParameter` with `nebulaContextParameter`.
- Updated JSON structures to use `context` instead of `context_filter`.
- Modified related API response types and request parameters to align with the new context structure.
- Refactored components to use `NebulaContext` instead of `ContextFilters`.
- Adjusted context handling in various components and functions for consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the UI and functionality of the dashboard by updating theme management, enhancing the `FaucetButton` component, and integrating a new modal for refilling the faucet. It also modifies color schemes for buttons and introduces a loading state.
### Detailed summary
- Removed `<Toaster richColors />` from `RootLayout`.
- Added `<ToasterSetup />` component in `AppRouterProviders` for dynamic theming.
- Updated button color schemes in `sdk-component-theme.ts`.
- Enhanced `FaucetButton` with loading states and a new modal for refilling.
- Introduced `SendFundsToFaucetModalButton` and `SendFundsToFaucetModalContent` components.
- Added form validation for the amount in the faucet refill modal.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `BackendWalletsTable` component by improving the balance display functionality, adding a refresh feature, and optimizing some data fetching mechanisms.
### Detailed summary
- Updated `backendWalletBalance` keys in `cache-keys.ts`.
- Introduced `backendWalletBalanceAll` function.
- Added `isFetching` state to balance fetching logic.
- Changed balance skeleton size.
- Replaced `LinkButton` with `Link` for external navigation.
- Added a refresh button with tooltip for balance updates.
- Included `queryClient` in dependencies for memoized columns.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3258
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for EIP-7702 by adding functionality to extract the implementation address from a specific bytecode pattern. It includes a new utility function and a corresponding test case.
### Detailed summary
- Added EIP-7702 support in `extractMinimalProxyImplementationAddress.ts` to extract the implementation address from bytecode.
- Implemented a check for bytecode length and prefix.
- Added a test case in `extractMinimalProxyImplementationAddress.test.ts` to validate the new functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the import path for the `createThirdwebClient` function from `@thirdweb-dev/sdk` to `thirdweb` in the `download.ts` file.
### Detailed summary
- Changed import of `createThirdwebClient` from `@thirdweb-dev/sdk` to `thirdweb` in multiple instances within the `download.ts` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3279
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refining type imports in `usageV2.ts`, adding a new address in `implementations.ts`, and simplifying the `package.json` formatting for better readability.
### Detailed summary
- Changed import style in `usageV2.ts` to use `import type`.
- Added a new address entry in `implementations.ts`.
- Reformatted `typesVersions` and `files` sections in `package.json` for improved clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the functionality of smart wallets in the `thirdweb` ecosystem, ensuring they correctly trigger chain switches and improving related wallet checks and configurations.
### Detailed summary
- Fixed smart wallets to trigger chain switch on admin wallets.
- Updated `smartWalletGetCapabilities` to accept a generic `Wallet` type.
- Implemented `isSmartWallet` function to check for smart wallet status.
- Modified `getSmartWallet` to throw an error for non-smart wallets.
- Refactored wallet checks in `createConnectionManager`.
- Added tests for `isSmartWallet` and `getSmartWallet`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing the `getProvider` function in the `wagmi-adapter` package to improve the autoconnection behavior with the account factory by enhancing the chain selection logic.
### Detailed summary
- Updated `getProvider` function to include `args.smartAccount?.chain?.id` in chain selection.
- Changed the logic for defining `chain` to prioritize `params?.chainId`, followed by the smart account's chain ID, the last stored chain ID, and defaulting to `1`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ClaimableModule` component by integrating the `useQuery` hook for fetching currency decimals and refining the logic for determining when to fetch this data.
### Detailed summary
- Added `useQuery` to fetch currency decimals based on the `claimConditionCurrency`.
- Refactored the logic to check if currency decimals should be fetched.
- Updated the conditional rendering of fetched data in the `ClaimableModule`.
- Made the "Add Claim Condition" button disabled based on `props.isOwnerAccount`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!--
## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
-->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on simplifying the `WalletAddress` component by removing the "Learn more" button and its associated link to the blog, while also cleaning up the imports by removing the unused `ExternalLinkIcon`.
### Detailed summary
- Removed the unused import of `ExternalLinkIcon` from `lucide-react`.
- Eliminated the "Learn more" button, which included:
- The button element with `asChild`, `variant`, `className`, and `size` props.
- The inner `<a>` element linking to the blog post.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces the `teamSlug` prop across multiple components to enhance API key management by associating it with specific teams. This allows for better project handling and user navigation within the dashboard.
### Detailed summary
- Added `teamSlug` prop to `CreateAPIKeyModal` and related components.
- Updated `embed-setup.tsx` to handle `teamSlug` as `undefined`.
- Integrated `teamSlug` in `TeamProjectsPage` and `AccountHeader`.
- Modified `CreateAPIKeyDialog` to include `teamSlug` in props.
- Enhanced `APIKeyDetails` to fetch projects based on `teamSlug`.
- Implemented conditional rendering for "View Project" button based on `teamSlug`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the project analytics in the dashboard by changing how project data is retrieved and displayed. It updates the calculation of user connections to reflect monthly active users and introduces pagination for project listings.
### Detailed summary
- Replaced `getProjectsWithTotalWallets` with `getProjectsWithAnalytics`.
- Updated project data structure to include `monthlyActiveUsers` instead of `totalConnections`.
- Introduced pagination in the `TeamProjectsPage` component.
- Changed sorting criteria from `totalConnections` to `monthlyActiveUsers`.
- Updated UI elements to reflect the new data fields.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces enhancements to the `SingleNetworkSelector` component and its usage across various files. It adds new props for alignment and positioning, replaces existing network selector buttons, and integrates chain ID handling in several components.
### Detailed summary
- Added `side`, `disableChainId`, and `align` props to `SingleNetworkSelector`.
- Updated `SingleNetworkSelector` to conditionally render the chain ID badge.
- Replaced `NetworkSelectorButton` with `SingleNetworkSelector` in multiple components.
- Integrated `chainId` state management using `useState` in `BackendWalletsSection` and `ImportForm`.
- Updated `BackendWalletsTable` and `BackendWalletBalanceCell` to accept `chainId` as a prop.
- Changed the way active chains are retrieved with `useActiveChainAsDashboardChain` to `useV5DashboardChain`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `CopyTextButton` component, optimizing the project fetching logic, and improving project display features by integrating total wallet connections in the dashboard.
### Detailed summary
- Changed `tooltip` type in `CopyTextButton` to `string | undefined`.
- Updated the API call in `getChangelog` to limit results to 7.
- Replaced cookie-based token retrieval with `getAuthToken` in `getProjects`.
- Added `getProjectsWithTotalWallets` to calculate total wallet connections.
- Updated `TeamProjectsPage` to display projects with total connections.
- Modified sorting logic in `TeamProjectsPage` to include total connections.
- Replaced `CopyButton` with `CopyTextButton` in `ProjectCard`.
- Enhanced project display to show total users.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR adds support for the `Lumia Mainnet` in the fee data configuration.
### Detailed summary
- Added a new entry for `Lumia Mainnet` in the fee data array.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR modifies the `.github/CODEOWNERS` file to remove a specific code owner from the `apps/` directory.
### Detailed summary
- Removed `@jakubkrehel` as a code owner for the `apps/` directory.
- Retained `@thirdweb-dev/developer-tools` and `@thirdweb-dev/core-platform` as code owners for the `apps/` directory.
- `scripts/` code ownership remains unchanged with `@jnsdls` and `@joaquim-verges`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR enhances the engine access permission handling in the dashboard. It introduces a new component, `EnsureEnginePermission`, which checks permissions before rendering engine details and handles various error states more effectively.
### Detailed summary
- Added `account` to the return object in `getEngineInstancePageMeta.ts`.
- Improved URL handling in `getEngineAccessPermission.ts`.
- Introduced `EnsureEnginePermission` component.
- Replaced direct permission checks in `Layout` with `EnsureEnginePermission`.
- Removed `EngineInstanceLayoutContent` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CORE-708
### TL;DR
Added `/connect/pay` route to Framer rewrites
### What changed?
Added a new route `/connect/pay` to the list of Framer rewrites in the dashboard application
### How to test?
1. Navigate to `/connect/pay` in the dashboard
2. Verify the route resolves correctly
3. Ensure the page loads without any routing errors
### Why make this change?
To enable proper routing and rendering of the new payment page in the Connect section of the dashboard
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the styling and structure of various components in the `apps/portal` project, enhancing UI consistency and accessibility. It introduces color changes, layout adjustments, and modifies several components' props for better integration.
### Detailed summary
- Deleted `docs-hero.png` and `docs-hero.svg`.
- Updated `fill` attribute in `UnrealEngineIcon.tsx` and `UnityIcon.tsx` to `currentColor`.
- Changed color definitions in `layout.tsx` and several components to use `text-foreground` and `text-muted-foreground`.
- Modified class names in `Paragraph.tsx`, `InlineCode.tsx`, and `Document` components for improved styling.
- Adjusted button classes in `Button.tsx` and `Feedback.tsx` for consistency.
- Refactored links to use `DocLink` for better routing.
- Updated `Callout` component styling to use `bg-card`.
- Enhanced accessibility features across various components by modifying text colors and ensuring proper contrast.
- Modified `tailwind.config.ts` to introduce new color variables for better theme management.
- Improved layout consistency in multiple `page.mdx` files by adjusting grid gaps and spacing.
> The following files were skipped due to too many changes: `apps/portal/src/app/contracts/deploy/overview/page.mdx`, `apps/portal/src/components/others/ScrollShadow/ScrollShadow.tsx`, `apps/portal/src/components/ui/select.tsx`, `apps/portal/src/components/others/Sidebar.tsx`, `apps/portal/src/app/contracts/explore/pre-built-modular/token-drop/page.mdx`, `apps/portal/src/components/others/DocSearch.tsx`, `apps/portal/src/icons/products/nebula/NebulaIcon.tsx`, `apps/portal/src/app/contracts/explore/pre-built-modular/nft-drop/page.mdx`, `apps/portal/src/app/connect/wallet/overview/page.mdx`, `apps/portal/src/app/globals.css`, `apps/portal/src/app/page.tsx`, `apps/portal/src/app/contracts/explore/pre-built-modular/edition-drop/page.mdx`, `apps/portal/src/icons/sdks/ReactIcon.tsx`, `apps/portal/src/app/contracts/explore/pre-built-modular/edition/page.mdx`, `apps/portal/src/app/contracts/explore/pre-built-modular/nft-collection/page.mdx`, `apps/portal/src/app/Header.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces minor updates to the `@thirdweb-dev/wagmi-adapter` package, enhancing the autoconnection feature to accept URL token parameters and making adjustments to the package's metadata.
### Detailed summary
- Added support for URL token parameters in the autoconnection feature within `packages/wagmi-adapter/src/connector.ts`.
- Updated the `autoConnect` function call to include `wallets: [wallet]`.
- Minor updates to the `package.json` file's metadata and dependencies.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new blockchain chain called `mode` to the `thirdweb` package, enhancing the available options for developers.
### Detailed summary
- Added `mode` as a predefined chain in `packages/thirdweb/src/chains/chain-definitions/mode.ts`.
- Exported `mode` from `packages/thirdweb/src/exports/chains.ts`.
- Defined `mode` with properties such as `id`, `name`, `nativeCurrency`, and `blockExplorers`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on restructuring and enhancing the routing and layout of the `settings` pages within the dashboard, as well as integrating new components for better user experience in the `account-abstraction` section.
### Detailed summary
- Added a new `Settings` route in multiple layout files.
- Refactored paths in `ProjectGeneralSettingsPageForTeams` to point to the new settings structure.
- Updated imports to reflect the new file structure for components.
- Introduced `AccountAbstractionAnalytics` and `AccountAbstractionSummary` components.
- Modified layout components to improve styling and organization.
- Replaced `AccountAbstractionPage` with `AccountAbstractionLayout` for better structure.
- Implemented loading states for API calls in `AccountAbstractionSettingsPage`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new smart account authentication feature in the `playground-web` application, allowing users to sign in using Ethereum. It adds a new component for the authentication button and integrates it into the main application page.
### Detailed summary
- Added `SmartAccountAuthButton` component for Ethereum authentication.
- Implemented `SmartAccountAuthPreview` to display JWT cookies.
- Updated `page.tsx` to include `SmartAccountAuth` section.
- Added a code example demonstrating the authentication button usage.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on improving the styling and functionality of various chart components, enhancing pagination controls, and refining transaction details presentation in the dashboard application.
### Detailed summary
- Added `strokeWidth` and `className` properties to several chart components for consistent styling.
- Updated pagination components to include input for direct page navigation.
- Enhanced transaction details with improved layout and added tooltips.
- Refined UI elements for better visibility and usability across various components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3135
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the implementations for `MarketplaceV3` and `ZKSYNC_WETH` in the `thirdweb` package, specifically for the `zksync` deployment.
### Detailed summary
- Added a new entry for `MarketplaceV3` with the address `0x9EB0830B0b10010F2a53383517A7D0B75531Bb1b` for the network ID `[555271]`.
- Added a new entry for `ZKSYNC_WETH` with the address `0xb0b8b267d44c64BA6dD1Daf442949887c85199f6` for the network ID `[555271]`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the handling of NFT metadata in the `thirdweb` library by adding `contractAddress` to various query keys, which resolves issues with metadata caching when multiple contracts share the same token ID.
### Detailed summary
- Added `contractAddress` to the query keys in `getQueryKey` functions for `NFTName`, `NFTMedia`, and `NFTDescription`.
- Updated related queries to include `contractAddress`.
- Fixed metadata display issues when rendering multiple contracts with the same token ID.
- Enhanced tests in `name.test.tsx` and `media.test.tsx` to validate the new `contractAddress` parameter.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Engine pages were in a weird "pages router" type of state - Its now properly migrated to app router
* Common skeleton is moved to layout
* engine instances are fetched on server
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring and enhancing the engine instance management in the application. It removes obsolete files, improves error handling, and introduces new utility functions for fetching engine instances and permissions.
### Detailed summary
- Deleted multiple obsolete `.tsx` files related to engine instance management.
- Improved error handling in engine import functionality.
- Added `getEngineAccessPermission` and `getEngineInstances` utility functions.
- Refactored components to utilize new utility functions for fetching engine data.
- Enhanced the layout and error handling in the engine instance pages.
- Updated components to use consistent instance data and permissions checks.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
NEB-73
## Notes for the reviewer
Mostly documentation changes to add Nebula restructure and also add tutorial for the Eliza Plugin
## How to test
View preview.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `Nebula` documentation and user experience by adding new content, updating existing descriptions, and introducing a new `RocketIcon`. It also restructures the sidebar and adds new pages for getting started and Eliza plugin integration.
### Detailed summary
- Added new `RocketIcon` to the `sidebar`.
- Updated `Nebula` description in `page.mdx` for improved clarity.
- Introduced `get-started` page with setup instructions for the `Nebula API`.
- Improved `Eliza` plugin documentation with new prerequisites and setup steps.
- Updated sidebar links and removed the old `Use Cases` section.
- Added images for better visual guidance in documentation.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on refining the `Layout` component's structure and updating the styling for the `TOCLink` component to enhance the user interface.
### Detailed summary
- In `Layout`, the `DocLayout` component now wraps `props.children` directly without unnecessary line breaks.
- In `TOCLink`, the `data-active` class styling was changed from `text-accent-500` to `text-f-100` for active links.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the user interface and functionality of various components in the dashboard application, particularly around data visualization and table displays.
### Detailed summary
- Updated `chartClassName` for better aspect ratio in multiple chart components.
- Added `tableScrollableClassName` and `tableContainerClassName` to improve table layouts.
- Modified text in `engine-overview.tsx` for clarity.
- Introduced new props in `ThirdwebBarChart` for customizable tooltips and titles.
- Implemented data processing logic in `TransactionsTable` for analytics display.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the `EmbedSetup` component to enhance user experience by introducing a deprecation alert for NFT embeds, reorganizing the UI layout, and adding new configuration options.
### Detailed summary
- Added an `Alert` component indicating the deprecation of thirdweb NFT Embeds.
- Replaced `Flex` with `div` for layout simplification.
- Consolidated form controls for configuration and added new fields for `Client ID`, `RPC Url`, and `Gasless` options.
- Introduced a theme selection dropdown.
- Updated embed code section and preview area for clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fix "inverted look" of light mode - light mode now correctly has a slightly dark background and lighter cards on top
* Instead of `bg-muted/50`, use `bg-card` instead. `--card` color is updated
* For cards that are links, don't change the background color on hover - apply a subtle border change instead - added a `--active-border` for this - this looks great in both light and dark mode
* Prefer using `bg-accent` for hover effects instead of `bg-muted` (even though they are currently both same color) for adding hover accent. Use `bg-accent/50` for applying a very subtle accent - use cases: clickable table row
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the styles of various components in the application to replace the `bg-muted` class with `bg-card`, enhancing the visual consistency across the UI.
### Detailed summary
- Changed `className` from `bg-muted/50` to `bg-card` in multiple components.
- Updated hover effects from `hover:bg-muted` to `hover:bg-card`.
- Modified background colors in various layouts to use `bg-card` instead of `bg-muted`.
- Adjusted button and input styles for consistent theming.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/table.tsx`, `apps/dashboard/src/components/configure-networks/ConfigureNetworkForm.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/insight/[blueprint_slug]/blueprint-playground.client.tsx`, `apps/dashboard/src/@/styles/globals.css`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/embed/embed-setup.tsx`, `apps/dashboard/src/components/pay/PayAnalytics/PayAnalytics.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/chainlist/components/client/filters.tsx`, `apps/dashboard/src/app/components/sdk-component-theme.ts`, `apps/dashboard/src/components/settings/ApiKeys/Create/index.tsx`, `apps/dashboard/src/app/team/components/Analytics/EmptyState.tsx`, `apps/dashboard/src/components/settings/Account/Billing/CreditsItem.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces a new type `ExamplePrompt` and a list of example prompts in `examplePrompts.ts`. It replaces hardcoded example prompts in `EmptyStateChatPageContent.tsx` with a dynamic mapping from the newly created `examplePrompts`, enhancing maintainability and readability.
### Detailed summary
- Added type `ExamplePrompt` with `title` and `message` properties.
- Created `examplePrompts` array containing several example prompts.
- Refactored `EmptyStateChatPageContent.tsx` to dynamically render `ExamplePrompt` components using `examplePrompts`.
- Removed hardcoded example prompts from `EmptyStateChatPageContent.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[Dashboard] Feature: Chainlist page updates"
---
Issue Tags:
INFRA-610
INFRA-698
XSOL-1806
XSOL-1824
INFA-676
XSOL-1046
XSOL-1086
## Notes for the reviewer
Updated Chain Page Banners, About, and CTA:
- EVM on Flow Mainnet/Testnet-> All updated
- Lisk Mainnet/Testnet -> Banner update
- Plume Mainnet/Testnet -> Banner update
- Rivalz Mainnet/Testnet -> All updated
- Saakuru Mainnet/Testnet -> All updated
- Viction Mainnet/Testnet -> All updated
- Worldchain Mainnet/Testnet -> All updated
- Soneium Mainnet -> All updated
Adding OP Superchain banner:
- Celo
- Metal L2
- Ozean
- Unichain
- Worldchain
- Sonium
## How to test
Visit the chain pages for each chain.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the asset imports and metadata for various blockchain networks, including adding new assets for `Flow`, `Rivalz`, `Saakuru`, `Viction`, and `World Chain`, while removing outdated assets and enhancing descriptions for some blockchain networks.
### Detailed summary
- Added imports for new assets: `flowBanner`, `flowCTA`, `rivalzBanner`, `rivalzCTA`, `saakuruBanner`, `saakuruCTA`, `victionBanner`, `victionCTA`, `worldChainBanner`, `worldChainCTA`.
- Removed imports for deleted assets: `plumev2Banner`, `plumev2CTA`.
- Updated `chainMetaRecord` to include new entries for `Flow`, `Rivalz`, `Saakuru`, `Viction`, and `World Chain`.
- Enhanced descriptions for `Flow`, `Rivalz`, `Saakuru`, and `Viction`.
- Deprecated the `Plume` entries and updated their descriptions.
- Removed commented-out code related to `fhenix` and `metal` CTAs.
- Added gas sponsorship for several blockchain entries.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `RpcMethodBarChartCardUI` component by improving data handling, updating the `valueFormatter` function, and refining the chart display logic. It also introduces new RPC methods and adjusts the layout of the chart.
### Detailed summary
- Updated `valueFormatter` in `chart.tsx` to accept a second parameter.
- Changed the gap between elements in the chart tooltip from `gap-2` to `gap-5`.
- Adjusted condition to check for `item.value` to `item.value !== undefined`.
- Added randomness to the data generation logic to simulate empty data.
- Introduced new RPC methods in the `commonMethods` array.
- Updated the `BadgeContainer` labels for clarity on RPC methods displayed.
- Enhanced data processing in `RpcMethodBarChartCardUI` for better method display.
- Implemented a total count for methods in the chart data.
- Updated the tooltip label formatter to use `formatDate`.
- Modified the Y-axis configuration to remove unused properties.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Added onramp page and preferredPartner information to customization pages
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding support for specifying preferred onramp providers in various components and updating documentation accordingly.
### Detailed summary
- Added `Onramp Providers` option in the sidebar.
- Introduced `Preferred Provider` section in `payembed` and `connectbutton` documentation.
- Created a new `onramp-providers` page detailing supported providers and how to set a preferred provider.
- Updated `send-transaction` documentation to include `preferredProvider` parameter.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on the removal of unused files and the refactoring of several components to improve code quality and maintainability, including updates to API calls and component properties.
### Detailed summary
- Deleted multiple unused files from various directories.
- Refactored API calls to use `apiServerProxy` for better error handling.
- Updated component props to be more flexible (e.g., `favoriteButton` can now be `undefined`).
- Improved UI components by removing unnecessary class names and simplifying their structure.
- Enhanced type definitions for better TypeScript support.
- Added new metadata and structured content for landing pages.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/(landing)/account-abstraction/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/connect/pay/webhooks/components/webhooks.client.tsx`, `apps/dashboard/src/@3rdweb-sdk/react/hooks/useEngine.ts`, `apps/dashboard/src/app/(landing)/in-app-wallets/page.tsx`, `apps/dashboard/src/@3rdweb-sdk/react/hooks/useApi.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
https://linear.app/thirdweb/issue/TOOL-2697/add-js-autoconnect
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the auto-connect functionality for wallets in the `thirdweb` library. It enhances the modularity and usability of the `autoConnect` feature, allowing it to be used outside of React components and streamlining wallet connection processes.
### Detailed summary
- Modified `if` condition in `timeoutPromise.ts` to check for `typeof window`.
- Updated import paths for `AutoConnectProps` in `AutoConnect.tsx` files.
- Exposed `autoConnect` function in `wallets.ts` for external use.
- Adjusted exports in `react.ts` and `react.native.ts` for `AutoConnectProps`.
- Refactored `useAutoConnectCore` to use `autoConnectCore`.
- Consolidated wallet connection logic in `autoConnect` and `autoConnectCore`.
- Updated tests to reflect changes in wallet connection handling and added new test cases for `autoConnect`.
- Enhanced error handling and timeout logic in wallet connection processes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
* Disable eslint as part of next.js build - We are already running eslint in separate pipeline
* Enable Next.js memory optimization flags
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the configuration of multiple `Next.js` applications by adding ESLint settings, production source maps, and experimental features. It also modifies security headers and refines the handling of IPFS gateways.
### Detailed summary
- Added `eslint` configuration with `ignoreDuringBuilds: true` to multiple `next.config` files.
- Set `productionBrowserSourceMaps` to `false`.
- Enabled experimental features: `webpackBuildWorker`, `webpackMemoryOptimizations`, and `serverSourceMaps`.
- Updated security headers in `apps/dashboard/next.config.ts` for consistent formatting.
- Refined `determineIpfsGateways` function for IPFS gateway handling.
- Maintained existing configurations for redirects, rewrites, images, and compiler settings.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces the `isValidENSName` utility function to validate ENS names, replacing the previous `isEnsName` checks across multiple files. It refines address validation and enhances the overall handling of ENS names within the codebase.
### Detailed summary
- Added `isValidENSName` utility function for ENS name validation.
- Replaced occurrences of `isEnsName` with `isValidENSName` in various files.
- Updated validation logic in components and utilities to improve address and ENS name handling.
- Enhanced error messages and conditions related to ENS name checks.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/TOOL-2988/update-docs-to-call-out-pregeneration-caveats
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing documentation and functionality related to wallet connections and smart accounts in the `thirdweb` library, particularly emphasizing account abstraction and the use of smart wallets.
### Detailed summary
- Added `backend` to the `AuthList` component in `AuthList.tsx`.
- Updated documentation in `ConnectEmbed.tsx` and `ConnectButton.tsx` regarding ecosystem wallets and account abstraction.
- Introduced a warning callout in `page.mdx` for generating smart wallet addresses using `predictSmartAccountAddress`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
CORE-694
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new section for "Web3 Onboard" in the sidebar and adds a corresponding documentation page in `page.mdx`, providing information about the acquisition of Web3Onboard by Blocknative and guidance for migration to thirdweb's SDK.
### Detailed summary
- Added a new entry for `Web3 Onboard` in the sidebar of `sidebar.tsx`.
- Created a new documentation page in `page.mdx` detailing the acquisition of Web3Onboard and migration instructions.
- Included links to Web3 Onboard's documentation and thirdweb's support site.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the analytics functionality within the `dashboard` application by introducing new utility functions, updating existing API calls, and improving the data handling for contract analytics.
### Detailed summary
- Added export of `toEventSelector` from `thirdweb/utils`.
- Introduced `INSIGHT_SERVICE_API_KEY` in environment constants.
- Modified `ContractAnalyticsPageClient` to accept new props for function and event selectors.
- Created new analytics functions for total contract events, unique wallets, and transactions.
- Updated `isAnalyticsSupportedForChain` to use `INSIGHT_SERVICE_API_KEY`.
- Refactored analytics components to use new hooks for contract events and functions.
- Improved data fetching and error handling in analytics hooks.
- Enhanced UI components for displaying analytics data with loading states.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-3013
TOOL-3014
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the deployment process for contracts in the `thirdweb` package, including changes to version handling and contract IDs.
### Detailed summary
- Updated `version` handling in the `custom-contract.tsx` file.
- Changed `contractId` from `"Forwarder"` to `"ForwarderEOAOnly"` in `deploy-pack.ts`.
- Added `version` to the options in `deployMarketplaceContract`.
- Modified `getAllDefaultConstructorParamsForImplementation` to use a dynamic `contractId`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on modifying the handling of a parameter in the `BlueprintPlayground` component, changing its name from `chainId` to `chain`, and updating its usage throughout the codebase.
### Detailed summary
- Changed the `domain` URL format to remove `chainId`.
- Updated the parameter name from `chainId` to `chain` in `modifyParametersForPlayground`.
- Adjusted the parameter handling in `ParameterSection` to reflect the new name.
- Updated the schema creation to default to `z.string()` for parameters without a schema.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the user interface for checkbox components in the `batch-lazy-mint.tsx` and `add-contract-subscription-button.tsx` files. It improves the handling of checkbox states and integrates labels more effectively.
### Detailed summary
- In `batch-lazy-mint.tsx`, replaced `Checkbox` with a more integrated `CheckboxWithLabel`.
- Updated checkbox handling to use `form.watch` and `form.setValue` for state management.
- In `add-contract-subscription-button.tsx`, converted checkboxes to use `CheckboxWithLabel` for better labeling.
- Simplified checkbox state handling by removing `form.register`.
- Adjusted label elements from `<Text>` to `<span>` for consistency.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the `SignatureScreen` component by updating the signing flow for different wallet types and enhancing the user experience by removing unnecessary prompts for signing messages.
### Detailed summary
- Added `isHeadlessSignSupported` function to determine wallet support.
- Updated `SignatureScreen` logic to handle headless signing for supported wallets.
- Refactored tests to improve clarity and organization.
- Enhanced error handling and loading states in the UI.
- Introduced mocks for `useActiveWallet` and `useAdminWallet` in tests.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2025-01-09 16:22:25 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refining the network selection and configuration logic in the dashboard, specifically improving how favorite and recent networks are displayed, enhancing the handling of deprecated chains, and simplifying error messages related to network slugs.
### Detailed summary
- Rearranged the `chainSections` to maintain the `Favorites` section at the top.
- Updated logic for `rpcUrl` to handle deprecated chains more clearly.
- Simplified error message when a slug is taken, removing specific references to existing chains.
- Enhanced validation logic for checking if a slug is unique, considering custom chains.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2025-01-08 14:04:55 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
---
title: "[SDK] Feature: add backend wallets for in app wallet"
---
https://linear.app/thirdweb/issue/TOOL-2884/backend-server-wallets
## Notes for the reviewer
This also fixes the cache mechanics for thirdweb clients to include a partial string of the secret key. Was running into an issue where the client was originall instantiated without the secret key and even when a new client with secret key was passed in, we keep falling back to the cached client without secret key
## How to test
Add a button on playground with a client that has secret key and create a new backend wallet.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for backend wallets in the `thirdweb` library, allowing applications to authenticate users with a backend strategy, enhancing security by managing wallet access without exposing private keys.
### Detailed summary
- Added `backend` strategy for wallet authentication.
- Updated `authenticate` function to support `backend` strategy.
- Introduced `backendAuthenticate` function for backend authentication.
- Updated `InAppWebConnector` and `InAppNativeConnector` to handle `backend` strategy.
- Modified type definitions to include `backend` strategy.
- Added tests for `backendAuthenticate` and its integration in connectors.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
CORE-680
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing the batch fetching utility in the `marketplace-v3` and adding tests to ensure its functionality.
### Detailed summary
- Fixed the calculation of the end index in the batch fetching logic in `packages/thirdweb/src/extensions/marketplace/utils.ts`.
- Added tests for `getAllInBatches` in `packages/thirdweb/src/extensions/marketplace/getAllInBatches.test.ts` to validate handling of multiple and single batches.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CORE-682
### TL;DR
Disabled the unlimited wallets campaign page and redirected its URL to the homepage.
### What changed?
- Commented out the `/unlimited-wallets` route in framer-rewrites.js
- Added a new redirect rule to send `/unlimited-wallets` traffic to the homepage
### How to test?
1. Visit `/unlimited-wallets`
2. Verify you are redirected to the homepage
3. Ensure no 404 errors occur
### Why make this change?
The unlimited wallets campaign has concluded, and we need to gracefully handle any remaining traffic to this URL by redirecting users to the homepage instead of showing a broken or missing page.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the redirect configurations in the `apps/dashboard/redirects.js` and `apps/dashboard/framer-rewrites.js` files, specifically modifying the handling of the `/unlimited-wallets` route.
### Detailed summary
- Added a new redirect entry for `/unlimited-wallets` to redirect to `/` in `apps/dashboard/redirects.js`.
- Commented out the existing redirection for `/unlimited-wallets` in `apps/dashboard/framer-rewrites.js`, marking it as "OFF for now".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the version of `@radix-ui/react-dialog` from `1.1.3` to `1.1.4` across multiple `package.json` files and making adjustments to the `pnpm-lock.yaml` file to reflect these changes.
### Detailed summary
- Updated `@radix-ui/react-dialog` from `1.1.3` to `1.1.4` in:
- `apps/portal/package.json`
- `apps/wallet-ui/package.json`
- `apps/dashboard/package.json`
- `apps/playground-web/package.json`
- Adjusted `pnpm-lock.yaml` to reflect the new version of `@radix-ui/react-dialog`.
- Updated various entries related to `@radix-ui/react-dialog` in `pnpm-lock.yaml` to align with the new version.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces beta support for `EIP-7702` authorization lists, enhancing transaction handling and signing within the `thirdweb` library.
### Detailed summary
- Added `style` configuration in `biome.json`.
- Introduced `signAuthorization` function for EIP-7702 authorizations.
- Updated transaction preparation to include `authorizationList`.
- Added tests for `signAuthorization` and transaction serialization.
- Modified `serializeTransaction` to handle EIP-7702 transactions.
- Enhanced gas estimation and transaction preparation functions to support authorization lists.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
See https://nextjs.org/docs/app/building-your-application/optimizing/memory-usage#disable-webpack-cache
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces optimizations to the webpack configuration and modifies several components to improve performance and fix TypeScript errors.
### Detailed summary
- Added `webpackMemoryOptimizations` to `experimental` in `next.config.ts`.
- Simplified `webpack` function by removing `dev` parameter.
- Changed cache type to `memory` in `next.config.ts`.
- Updated `abi-selector.tsx` to remove TypeScript error comments.
- Enhanced `ApplyForOpCreditsForm.tsx` by streamlining `onChange` handling.
- Modified `MarkdownRenderer` to handle optional `href` and added TypeScript error comments for future fixes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the documentation and functionality related to `Agents & LLMs` within the `thirdweb Insight` API, including new links, improved examples, and standardized usage instructions for better integration with AI tools.
### Detailed summary
- Added a new link for `llms.txt` in `sidebar.tsx`.
- Updated documentation in `page.mdx` to clarify API usage for `Agents & LLMs`.
- Revised code examples to use template literals for dynamic values.
- Simplified `ChainId` type to a number.
- Enhanced error handling and response structure in API examples.
- Included detailed instructions on authentication and API endpoints.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the availability timeline for a feature in the `TeamMembersSettingsPage.tsx` file from Q4 2024 to Q1 2025.
### Detailed summary
- Changed the text in the `AlertDescription` from "This feature will be available in Q4 2024" to "This feature will be available in Q1 2025".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## PR-Codex overview
This PR introduces a check for `nebula` access in two `page.tsx` files, redirecting users to the Nebula web app if access is granted. It also maintains the existing login redirect functionality.
### Detailed summary
- Added a check for `nebula` access using `team.enabledScopes.includes("nebula")`.
- Redirects to `https://nebula.thirdweb.com` if access is granted.
- Updated login redirect paths in both `page.tsx` files.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2025-01-06 21:02:05 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing typos, improving comments, and enhancing code readability across various files in the project.
### Detailed summary
- Corrected typos in text labels (e.g., `Manange` to `Manage`, `Comunity` to `Community`).
- Improved comments for clarity (e.g., `Fix colors on autofilled inputs` to `Fix colors on auto-filled inputs`).
- Standardized variable names (e.g., `dispalyName` to `displayName`).
- Enhanced consistency in formatting (e.g., `balancesisPending` to `balancesIsPending`).
- Fixed minor grammatical issues in comments and strings throughout the code.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the handling of SimpleHash support in the `wallet` API and related components. It introduces an asynchronous check for SimpleHash support and replaces direct checks with a hook for better data management.
### Detailed summary
- Changed `isSimpleHashSupported` to return a chain slug instead of a boolean.
- Updated the `generateSimpleHashUrl` function to use `chainSlug`.
- Introduced `useSimplehashSupport` hook for querying SimpleHash support.
- Refactored components to use the new hook instead of direct checks.
- Removed unused `simpleHashSupportedChainIdsMap` and related types.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding a new entry to the sidebar in the `sidebar.tsx` file of the `insight` section, specifically introducing a link for "Agents & LLMs".
### Detailed summary
- Added a new sidebar entry:
- `name`: "Agents & LLMs"
- `href`: `${insightSlug}/agents-and-llms`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2673
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces an `onTimeout` callback to the `useAutoConnect` hook, enhancing its functionality by allowing users to define custom behavior when a connection attempt times out. It also includes tests for the new feature and refactors some wallet connection logic.
### Detailed summary
- Added `onTimeout` callback to `useAutoConnect`.
- Updated `useAutoConnectCore` to handle wallet connections with the new `onTimeout` feature.
- Refactored `handleWalletConnection` function to improve clarity.
- Added unit tests for `getUrlToken` covering various scenarios.
- Updated test configurations for better matching of test files.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Notes for the reviewer
Adds an edge case if a user only has events for a single time period. Previously, this would show 0 in the analytics summary since it normally takes the most recent *complete* time period. Now, it falls back to show the incomplete period if there is no complete period with data.
## How to test
Run the dashboard and view the project client ID listed in the linear ticket
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the handling of time series data in the `aggregateFn` function by ensuring that if there is only one data point, it uses that point instead of the previous one. This change is applied in two files.
### Detailed summary
- Updated `aggregateFn` in `apps/dashboard/src/app/team/[team_slug]/[project_slug]/page.tsx`:
- Added logic to check if there is only one valid data point.
- If only one point exists, it uses the last data point; otherwise, it uses the previous one.
- Updated `aggregateFn` in `apps/dashboard/src/app/team/[team_slug]/(team)/~/analytics/page.tsx`:
- Similar logic added as in the previous file to handle time series data appropriately.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
---
title: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes"
---
If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000):
## Notes for the reviewer
Anything important to call out? Be sure to also clarify these in your comments.
## How to test
Unit tests, playground, etc.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces documentation for the `thirdweb Insight` API, targeting agents and LLMs. It includes usage instructions, core concepts, API examples, query parameters, and error handling.
### Detailed summary
- Added metadata for the page with title and description.
- Provided API usage instructions for agents and LLMs.
- Explained authentication methods (header, query parameter, bearer token).
- Detailed core concepts including chain IDs and base response structure.
- Included examples for Events API, Token Balance API, and filtering.
- Documented API reference for Events and Transactions.
- Listed common query parameters and filter types.
- Explained error handling for API responses.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on fixing chain switching in smart account transactions within the `thirdweb` SDK and adding tests for sending transactions across different chains.
### Detailed summary
- Updated the logic for `accountContract` in `packages/thirdweb/src/wallets/smart/index.ts` to handle chain switching.
- Added a new test in `packages/thirdweb/src/wallets/smart/smart-wallet-integration.test.ts` to verify sending transactions on another chain.
- Introduced similar test functionality in `packages/thirdweb/src/wallets/smart/smart-wallet-integration-v07.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the handling of `team_slug` and validating the `teamSlug` input in the settings UI. It enhances the URL decoding process and adds error handling for invalid team URLs.
### Detailed summary
- Updated `team_slug` retrieval to decode the URL component in `layout.tsx`.
- Modified project retrieval logic to decode `team_slug`.
- Replaced `isTeamTaken` state with `errorMessage` state for better error handling.
- Added validation for `teamSlug` input to check for empty values and invalid characters.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2730
TOOL-2733
TOOL-2738
[x] Dont show Reveal-button if nothing to reveal
[x] Dont allow to select batches that were revealed already
[x] Show UI for the un-revealed. metadata
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `nfts/components/reveal-button.tsx` file to enhance the NFT reveal functionality by adding a tooltip and handling cases for revealed batches. It also modifies a comment in `next-env.d.ts` to point to the correct documentation link.
### Detailed summary
- Updated documentation link in `next-env.d.ts`.
- Imported `ToolTipLabel` in `nfts/components/reveal-button.tsx`.
- Added a check to return `null` if no batches are available.
- Implemented logic to display a tooltip and disabled button when all batches are revealed.
- Disabled options in the select dropdown for revealed batches.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing user feedback for NFT and token transactions by integrating `useTxNotifications` for success and error notifications across various components.
### Detailed summary
- Added `useTxNotifications` to multiple components for transaction feedback.
- Replaced toast notifications with `onSuccess` and `onError` methods from `useTxNotifications`.
- Updated success and error messages for lazy minting, airdropping, minting, claiming, and listing NFTs/tokens.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the `handleLogin` and `handlePostLogin` functions to use an `async` callback within the `connect` function, enhancing the handling of asynchronous operations in the in-app wallet connection process.
### Detailed summary
- Changed `connect(() => {...})` to `connect(async () => {...})` in multiple files.
- Updated `handlePostLogin` in `apps/portal/src/app/connect/in-app-wallet/custom-auth/configuration/page.mdx`.
- Updated `handleLogin` in various files:
- `apps/portal/src/app/connect/in-app-wallet/guides/build-your-own-ui/page.mdx`
- `apps/portal/src/app/react/v5/in-app-wallet/build-your-own-ui/page.mdx`
- `apps/portal/src/app/react/v5/in-app-wallet/get-started/page.mdx`
- Other instances in similar files.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Holiday project.
Basically trying to improve test coverage, especially in those low-haning-fruit utils files
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing documentation, improving error handling, and adding tests across various modules in the codebase. It also corrects minor typos and ensures better code readability.
### Detailed summary
- Added `@internal` documentation comments to `Queue` and `convertViemChain`.
- Updated test cases to use `await expect(...)` for consistency.
- Fixed typos in file imports and function names.
- Introduced new tests for `namehash`, `encodeLabelhash`, and `parseNFT`.
- Enhanced error handling in `parseNftUri`.
- Improved the `toSemver` function and its tests.
- Added tests for `replaceBigInts` and `toHex` functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Adding chain forms for
- Fhenix Nitrogen
- Plume
Linear - INFRA-539
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding new assets and metadata for two blockchain projects, `Fhenix` and `Plume`, including banners and CTAs, enhancing the dashboard's visual representation and information.
### Detailed summary
- Added imports for `fhenixBanner`, `fhenixCTA`, `plumeBannerv2`, and `plumeCTAv2`.
- Introduced metadata for `Fhenix` with header image, about section, and CTA details.
- Added metadata for `Plume` with similar structure, including two entries with the same content.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Allow `0` value for gasPrice, important for gasless chains
Fixes TOOL-2865
<!-- start pr-codex -->
---
## PR-Codex overview
This PR modifies the conditional check for `gasPrice` in the `fee-data.ts` file to ensure it specifically checks if `gasPrice` is of type `bigint` instead of just checking its truthiness.
### Detailed summary
- Changed the condition from `if (gasPrice)` to `if (typeof gasPrice === "bigint")` in the `fee-data.ts` file.
- This ensures that only values of type `bigint` are considered valid for `gasPrice`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Closes TOOL-2863
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on simplifying the OTP login process in the `InAppWallet` by removing the `canRetry` variable and related conditional logic, providing a more straightforward approach for handling OTP submissions.
### Detailed summary
- Removed the `canRetry` variable from the `LoginWithOtp` method calls.
- Simplified the OTP login logic by eliminating the retry checks.
- Added comments to indicate where to implement error handling and retries if needed.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Closes TOOL-2440
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the code to streamline interactions with contracts by removing references to `ThirdwebContract` and directly using `contract`. Additionally, it introduces new functionalities for unlinking accounts and enhances documentation across various pages.
### Detailed summary
- Refactored contract interactions to use `contract` instead of `ThirdwebContract`.
- Added `PurchaseData` object in `getbuywithfiatstatus` and `getbuywithfiatquote`.
- Introduced unlinking functionality in in-app and ecosystem wallets.
- Updated documentation for `SwitchNetwork` and `SignAuthorization`.
- Improved descriptions and metadata for various pages.
- Enhanced code examples and clarified usage instructions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2444
CNCT-2444
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily introduces an `onClose` callback for the `ConnectButton` component's details modal, enhancing its functionality. It also improves the rendering of various components and adds tests for new features.
### Detailed summary
- Added `onClose` callback to `ConnectButtonProps` for modal closure.
- Updated `ConnectButton` to utilize the `onClose` callback.
- Improved test coverage for `NetworkSwitcherButton` and `ChainIcon`.
- Enhanced `fetchChainIcon` functionality to handle various icon resolvers.
- Introduced `ChainActiveDot` for visual representation of active chains.
- Updated `NetworkSelector` and `DetailsModal` components for better user experience.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2834
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `implementations.ts` file for the `thirdweb` package to include new marketplace and WETH addresses for the `ZKSYNC` network.
### Detailed summary
- Added a new marketplace address for `37111` in the `MarketplaceV3` object.
- Added a new WETH address for `37111` in the `ZKSYNC_WETH` object.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.0.1 to 19.0.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `@types/react` package version from `19.0.1` to `19.0.2` across multiple projects and updates the associated dependencies in the `pnpm-lock.yaml` file.
### Detailed summary
- Updated `@types/react` from `19.0.1` to `19.0.2` in:
- `apps/playground-web/package.json`
- `apps/dashboard/package.json`
- `apps/portal/package.json`
- `packages/thirdweb/package.json`
- `apps/wallet-ui/package.json`
- Updated `@types/react` references in `pnpm-lock.yaml`.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Update chain pages for:
Flare Mainnet - partial update
GPT Mainnet
Appchain
Cyber Mainnet
Zetachain Test and Mainnet
Linear ticket INFRA-523
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding new assets and enhancing the metadata for various blockchain projects, including `Cyber`, `Flare`, `Appchain`, `GPT`, and `Zetachain`. It updates the `chainMetaRecord` to include new images, descriptions, and call-to-action details for these projects.
### Detailed summary
- Added new image imports for `appChainBanner`, `appchainCTA`, `cyberCTA`, `cyberChainBanner`, `gptCTA`, `gptChainBanner`, `zetachainBanner`, and `zetachainCTA`.
- Updated `chainMetaRecord` for `Cyber` with a new description and CTA.
- Added metadata for `Flare` including a description.
- Added metadata for `Appchain` with a description and CTA.
- Added metadata for `GPT Mainnet` with a description and CTA.
- Added metadata for `Zetachain` and its Testnet with descriptions and CTAs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the UI components in the `ChatBar`, `ChatSidebar`, and `ContextFilters` by updating styles, modifying button variants, and enhancing layout structures. It also introduces a new `SidebarIconLink` component for better organization.
### Detailed summary
- Removed `variant="primary"` from `Button` in `ChatBar`.
- Simplified `Button` in `NebulaMobileNav`.
- Adjusted class names in `ChatHistoryPage` for responsiveness.
- Updated `Badge` components in `ContextFilters` to use `variant="secondary"`.
- Replaced multiple icons in `ChatSidebar` with new ones.
- Changed `Button` variant to `outline` in `ChatSidebar`.
- Added new `SidebarIconLink` component for navigation links.
- Adjusted layout spacing in `ChatSidebar`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refining the chat functionality and user experience in the `ChatBar` and `ChatPageContent` components. It enhances wallet connection handling, streamlines message sending, and introduces a dialog for when the wallet is disconnected.
### Detailed summary
- Added `e.preventDefault()` in `ChatBar` to prevent default behavior on Enter key.
- Removed unused wallet address fetching in several components.
- Updated `config` type to allow `null` in `Chat` API.
- Introduced `WalletDisconnectedDialog` in `ChatPageContent`.
- Enhanced state management for showing different login pages.
- Improved context filter updates based on wallet address and active chain.
- Added conditional rendering for wallet connection prompts.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on significant updates to wallet support, increasing the number of supported wallets from 350+ to 500+. It also includes various code deletions, modifications, and new features across multiple components and files.
### Detailed summary
- Increased wallet support from 350+ to 500+ across various components.
- Updated `version` in `package.json` files.
- Modified `ChainIcon` component to use a fallback icon.
- Added `ModalPreview` for connect modal examples.
- Updated descriptions in documentation and UI elements.
- Refactored several components for better code clarity and functionality.
- Deleted multiple unused assets and components.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/icons/ChainIcon.tsx`, `packages/thirdweb/src/react/core/utils/structuralSharing.test.ts`, `packages/thirdweb/src/contract/deployment/utils/bootstrap.ts`, `packages/thirdweb/src/react/web/utils/resolveMimeType.test.ts`, `apps/portal/src/app/connect/wallet/sign-in-methods/external-wallets/page.mdx`, `apps/dashboard/src/hooks/useCsvUpload.ts`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx`, `packages/thirdweb/src/react/web/ui/MediaRenderer/mime/mime.test.ts`, `apps/portal/src/app/connect/account-abstraction/erc-20-paymaster/page.mdx`, `apps/dashboard/src/app/(dashboard)/(chain)/components/server/chain-icon.tsx`, `packages/thirdweb/src/contract/deployment/utils/create-2-factory.ts`, `packages/thirdweb/src/react/web/ui/MediaRenderer/icons.test.tsx`, `packages/thirdweb/src/react/web/ui/hooks/useShowMore.test.tsx`, `packages/thirdweb/src/react/web/ui/hooks/useDebouncedValue.test.tsx`, `apps/portal/src/app/connect/page.mdx`, `apps/portal/src/app/connect/wallet/sign-in-methods/configure/page.mdx`, `packages/thirdweb/src/react/core/utils/walletIcon.ts`, `apps/portal/src/app/typescript/v5/adapters/page.mdx`, `apps/portal/src/app/connect/wallet/get-started/page.mdx`, `apps/portal/src/app/react/v5/adapters/page.mdx`, `packages/thirdweb/src/react/web/ui/MediaRenderer/MediaRenderer.test.tsx`, `apps/portal/src/app/nebula/api-reference/page.mdx`, `packages/thirdweb/src/react/core/utils/walletIcon.test.ts`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/insight/[blueprint_slug]/blueprint-playground.stories.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/insight/[blueprint_slug]/blueprint-playground.client.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/snapshot-upload.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2814
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces support for `ZkSync` chains by adding implementations for contracts and adjusting methods to handle `ZkSync` specific logic, including fetching default constructor parameters and deploying contracts.
### Detailed summary
- Added `ZKSYNC_IMPLEMENTATIONS` and `ZKSYNC_WETH` records for various `ZkSync` chains.
- Updated `CustomContractForm` to handle `MarketplaceV3` differently for `ZkSync` chains.
- Introduced a test for retrieving default constructor parameters for `ZkSync`.
- Modified `getAllDefaultConstructorParamsForImplementation` to return `nativeTokenWrapper` for `ZkSync`.
- Updated contract deployment logic in `bootstrap.ts` to use `ZkSync` implementations.
- Added a test case for saving implementations for `ZkSync` chains.
- Enhanced contract fetching logic in `getOrDeployInfraContract` for `WETH9` on `ZkSync`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `date-utils` and `claim-conditions` components, updating the handling of date types, and refactoring the `SnapshotUpload` component to improve data processing and user experience. It also introduces a new dependency, `p-limit`, for better concurrency control.
### Detailed summary
- Updated `toDateTimeLocal` function to handle `Date` instances directly.
- Replaced `SnapshotUpload` with `SnapshotViewerSheet` in `claim-conditions-form`.
- Enhanced `AirdropUpload` to show a loading spinner when data is being normalized.
- Refactored `useCsvUpload` to use `useQuery` instead of `useQueries`.
- Improved error handling and data validation in `SnapshotUpload`.
- Added new dependency `p-limit` for managing concurrent requests.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2814
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refactors the `useCustomFactoryAbi` function in `hooks.ts` to improve contract handling and query logic. It changes how the contract is retrieved and updates the query's enabled condition.
### Detailed summary
- Changed import statements for `ThirdwebContract` and `getContract`.
- Refactored the `contract` retrieval logic to be more concise.
- Updated `queryKey` to include `contractAddress` and `chainId`.
- Modified the `enabled` condition to check for `contractAddress` and `chainId`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes: https://github.com/thirdweb-dev/js/issues/5791
Problem:
User uploads a CSV1 and then uploads a CSV2 - CSV2 is ignored and CSV1's data is sent instead of CSV2 because of incorrect query cache key
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `normalizeQuery` in the `useCsvUpload` hook to improve clarity and consistency in parameter naming.
### Detailed summary
- Changed the parameter name from `o` to `item` in the `rawData.map` function for better readability.
- Updated the `queryKey` to use `item` directly instead of `o.address`.
- Maintained the same functionality while enhancing code clarity.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `ChatHistoryPage` component by improving the layout and interactivity of the session title and button elements.
### Detailed summary
- Changed the `div` class from `overflow-hidden` to `relative overflow-hidden`.
- Wrapped the session title in a `Link` component for better navigation.
- Added a `className` to the `Link` for styling.
- Modified the `Button` class to include `relative z-10` for improved stacking context.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-20 11:15:28 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `UnlimitedWalletsBanner` component, which displays a promotional banner for free in-app wallets until December 31, 2024, replacing placeholder comments in the layout files.
### Detailed summary
- Added import of `UnlimitedWalletsBanner` in `apps/dashboard/src/pages/_app.tsx`.
- Replaced placeholder comment with `<UnlimitedWalletsBanner />` in `apps/dashboard/src/pages/_app.tsx`.
- Added import of `UnlimitedWalletsBanner` in `apps/dashboard/src/app/layout.tsx`.
- Replaced placeholder comment with `<UnlimitedWalletsBanner />` in `apps/dashboard/src/app/layout.tsx`.
- Created `UnlimitedWalletsBanner` component in `apps/dashboard/src/components/notices/AnnouncementBanner.tsx` that hides after December 31, 2024.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Update Ink Mainnet Chain Page
Add OP Superchain Application CTA to chain page
Linear Issues:
INFRA-520
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new blockchain entry for `Ink` in the dashboard, including the addition of an image asset and relevant metadata.
### Detailed summary
- Added `inkBanner.jpg` to the project assets.
- Updated `ApplyForOpCreditsForm.tsx` to include `Ink` in the chain options.
- Enhanced `utils.ts` with `Ink` metadata, including:
- `headerImgUrl`: set to `inkBanner.src`
- `about` description for `Ink`
- `cta` and `gasSponsored` attributes set to true.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the handling of the `UnlimitedWalletsBanner` component in the dashboard application by removing its direct usage and replacing it with a placeholder comment, while also modifying the `knip.json` configuration to include an additional file in the ignore list.
### Detailed summary
- Updated `apps/dashboard/knip.json`: Added `src/components/notices/AnnouncementBanner.tsx` to the `ignore` array.
- Modified `apps/dashboard/src/pages/_app.tsx`: Replaced `<UnlimitedWalletsBanner />` with a comment `{/* Banner goes here */}`.
- Updated `apps/dashboard/src/app/layout.tsx`: Similarly replaced `<UnlimitedWalletsBanner />` with a comment `{/* Banner goes here */}`.
- Changed `AnnouncementBanner` function to `export function AnnouncementBanner`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `RequestConfigSection` component by improving the handling of parameters. It introduces a new categorization for query parameters, separating them into general query parameters and filter query parameters, and updates the rendering logic accordingly.
### Detailed summary
- Refactored parameter handling in `RequestConfigSection` using `useMemo`.
- Introduced `filterQueryParams` to categorize parameters starting with "filter_".
- Updated rendering to conditionally display `ParameterSection` for `filterQueryParams`.
- Added `className` prop to `ParameterSection` for styling flexibility.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `ToolTipLabel` and `SelectTrigger` components, adding new props for customization. It also introduces a new `ParameterInput` component to streamline input handling for parameters with enums, improving the overall user experience in forms.
### Detailed summary
- Added `contentClassName` prop to `ToolTipLabel` for custom styling.
- Updated `SelectTrigger` to accept `chevronClassName` prop for customization.
- Introduced `ParameterInput` component to handle parameter inputs with enums.
- Enhanced form error handling and display logic in `RequestConfigSection` and `ParameterSection`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of OpenAPI specifications within the codebase, improving type definitions, and refining the UI components to accommodate optional fields and better manage parameters.
### Detailed summary
- Added `openapi-types` dependency in `package.json`.
- Updated `blueprintSpec` to use optional chaining for safer access.
- Modified `BlueprintCard` to handle optional `description` and `title`.
- Changed `BlueprintParameter` type to use `OpenAPIV3.ParameterObject`.
- Enhanced `BlueprintPlaygroundUI` to filter and manage parameters more effectively.
- Updated parameter handling in forms to leverage new schema definitions.
- Refined UI components to conditionally render descriptions and titles.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `Chat` component's handling of transaction messages, introducing a new transaction data structure, and modifying related components to support this change.
### Detailed summary
- Updated `role` in `types.ts` to include `"action"`.
- Replaced `SendTransactionOption` with `NebulaTxData` in `chat.ts`.
- Refactored message handling in `ChatPageContent.tsx` to support transaction messages.
- Created `NebulaTxData` type with properties for transaction details.
- Adjusted `Chats.tsx` to utilize `NebulaTxData` in various functions.
- Modified `SendTransactionButton` to prepare and send transactions using the new data structure.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
TOOL-2779 (XPROT-931)
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a custom `create2` factory deployment for SKALE chains, enhancing gas management and testing functionalities.
### Detailed summary
- Added tests for `create2` factory address computation and deployment in `create-2-factory.test.ts`.
- Introduced `Create2FactoryDeploymentInfo` type in `create-2-factory.ts`.
- Implemented custom gas price and limit handling for specific SKALE chains.
- Updated `deployCreate2Factory` to utilize custom gas settings.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the `ChainIcon` component's implementation and its usage across various files, specifically changing the way the icon's size is handled and integrating a new fallback mechanism.
### Detailed summary
- Added `decoding="async"` to an `Image` component.
- Replaced `size` prop with `className` for `ChainIcon` across multiple components, adjusting sizes accordingly.
- Updated `ChainIcon` implementation to use a new `Img` component.
- Introduced a fallback image for `ChainIcon` in case of loading failures.
- Added stories for `MultiNetworkSelector` and `SingleNetworkSelector` components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the filtering logic in the `LinkedProfilesScreen` component to exclude specific profile types, namely `guest`, `custom_jwt`, and `custom_auth_endpoint`, from being displayed. It also updates the test cases to reflect these changes.
### Detailed summary
- Updated the filtering logic in `LinkedProfilesScreen.tsx` to exclude `guest`, `custom_jwt`, and `custom_auth_endpoint` profiles.
- Added a test case to verify that `custom_jwt` profiles are not displayed.
- Added a test case to ensure profiles that are not `guest` or `custom_jwt` are displayed correctly.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a feature to hide the "Linked Profiles" button in the `ConnectButton` Details Modal based on the `allowLinkingProfiles` option. It also includes tests for the `ManageWalletScreen` to ensure the button's visibility behaves as expected.
### Detailed summary
- Added `manageWallet` option in `ConnectButtonProps` to configure wallet management.
- Updated `ManageWalletScreen` to conditionally render the linked profiles button based on `allowLinkingProfiles`.
- Created tests for `ManageWalletScreen` to verify button visibility based on `allowLinkingProfiles` settings.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the transaction handling in the `Chats` component by improving the transaction execution process and ensuring the use of an authenticated `ThirdwebClient`.
### Detailed summary
- Updated `client` initialization in `ChatPageContent` to include `props.authToken`.
- Introduced `ExecuteTransaction` component to handle transaction execution.
- Replaced `SendTransactionButton` with `ExecuteTransaction` in `Chats`.
- Refactored `SendTransactionButton` to use `useSendTransaction` instead of `sendTransaction`.
- Simplified error handling for transaction data parsing.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
CORE-656
* Move the Team analytics from overview page to Analytics tab
* Move the changelog to "projects" page and make that the default page to show on /team/<team-slug>
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating links related to the `thirdweb dashboard`, changing references from project-specific URLs to a more general team URL. Additionally, it refines the `TeamProjectsPage` component and enhances the analytics page structure.
### Detailed summary
- Updated links in multiple `.mdx` files to point to `https://thirdweb.com/team` instead of project-specific URLs.
- Modified `layout.tsx` to change the path from `projects` to `analytics`.
- Enhanced `TeamProjectsPage` to display a message when no projects are created, with a button to create a new project.
- Refactored the main page to include the `TeamProjectsPage` component and removed unnecessary analytics content.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on adding support for the `Humanity Testnet` as a legacy transaction chain within the `thirdweb` package.
### Detailed summary
- Added `Humanity Testnet` with the value `1942999413` to the list of transaction chains in the `packages/thirdweb/src/gas/fee-data.ts` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `ChatPageContent` component by integrating the `useActiveWalletChain` hook, which allows the component to manage context filters based on the user's active wallet chain. It refines state management and ensures context filters are updated appropriately.
### Detailed summary
- Added `useActiveWalletChain` to track the active wallet chain.
- Renamed the state variable `_contextFilters` to `contextFilters`.
- Updated the `setContextFilters` function to use `useCallback`.
- Modified the logic to update context filters based on active wallet address and chain ID.
- Simplified the effect to set context filters conditionally based on user interactions and active chain.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the ownership and environment variables in the GitHub workflows and `CODEOWNERS` file, reflecting a shift in responsibilities and issue prefix definitions.
### Detailed summary
- Changed `VALID_ISSUE_PREFIXES` from `"CNCT|DASH|PROT|INSIGHT|ENGINE|CS|DES|BIL|DEVX|SOLU|NEB"` to `"CORE|TOOL"`.
- Updated default ownership group in `.github/CODEOWNERS` to `@thirdweb-dev/developer-tools`.
- Adjusted package ownerships for `packages/thirdweb/`, `packages/service-utils/`, `packages/eslint-config-thirdweb/`, and `packages/tw-tsconfig/` to include `@thirdweb-dev/core-platform` and `@edwardysun`.
- Changed app ownership for `apps/` to include `@thirdweb-dev/developer-tools` and `@thirdweb-dev/core-platform`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the layout and structure of the `BlueprintPlaygroundUI` component in the `blueprint-playground.client.tsx` file and enhancing the styling of the `page.tsx` file in the `insight` directory.
### Detailed summary
- Updated the layout of the `BlueprintPlaygroundUI` component.
- Replaced `useHeightObserver` with `ScrollShadow`.
- Adjusted height and overflow properties for responsive design.
- Enhanced the styling of the `insight/page.tsx` component.
- Added a new `ScrollShadow` wrapper around `ParameterSection` components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-540
* on the chat page -> move the container 1 level down - so the chat can be scrolled from the corner of the page as well
* reduce container max-width for the history page to 800px to match it with landing page
* stop the auto scroll if user interacts with chat UI
* custom 404 page for the nebula subdomain
* remove the announcement banner from the 404 pages ( this affects entire dashboard)
* fix empty title in chat history page
* fix overflow in chat history page on mobile when there's a long text without a whitespace
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the chat functionality and user experience in the `Nebula` application. It introduces auto-scrolling features, improves layout styling, and adds a new `404 Not Found` page.
### Detailed summary
- Added auto-scrolling feature to `Chats` component.
- Introduced `setEnableAutoScroll` function to manage scrolling behavior.
- Enhanced styling in `ChatHistoryPage` and `SessionCard`.
- Implemented a new `NebulaNotFound` component with a user-friendly 404 message.
- Updated `ChatPageContent` to utilize the new auto-scroll functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `MismatchButton` component in the `MismatchButton.tsx` file to include new network identifiers for the `Saakuru Mainnet` and `Saakuru Testnet`.
### Detailed summary
- Added `7225878` for `Saakuru Mainnet`.
- Added `247253` for `Saakuru Testnet`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the handling of gradients for avatars and updating the Open Graph image generation for user profiles. It introduces a new `GradientBlobbie` component and modifies the `GradientAvatar` to use this new component, enhancing the visual representation of user profiles.
### Detailed summary
- Deleted `url-utils.ts` and `profile.tsx` files.
- Introduced `title` and `description` variables in the profile page response.
- Created `GradientBlobbie` component for gradient backgrounds.
- Removed gradient logic from `GradientAvatar` and used `GradientBlobbie` instead.
- Updated Open Graph image generation to include `GradientBlobbie` for users without an ENS image.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Note: can't remove the package from package.json because chakra has peer dependency on it
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the presentation of components by removing unnecessary animations and simplifying the structure of several components, specifically in the `GuideCard`, `EventsFeed`, and `PermissionsTable`.
### Detailed summary
- Changed `guides.map` to use a more concise arrow function syntax.
- Removed `index` prop from `GuideCardProps`.
- Replaced `AnimatePresence` wrappers with simple `div` elements in `EventsFeed` and `LatestEvents`.
- Simplified animation logic in `EventsFeedItem` and `PermissionsItem` by removing motion properties and replacing them with simple list item (`li`) tags.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the styling of various components by adding the `object-cover` class to ensure images maintain their aspect ratio and cover the designated area appropriately.
### Detailed summary
- Updated `className` in `publisher-header.tsx` to include `object-cover`.
- Updated `className` in `index.tsx` to include `object-cover`.
- Updated `className` in `profile-header.tsx` to include `object-cover`.
- Replaced `MediaRenderer` with `Img` in `wallet-address.tsx` for avatar rendering, adding `object-cover` to its `className`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ProjectOverviewPage` component by integrating a loading state with `Suspense`, restructuring the layout, and improving the conditional rendering of analytics components based on project activity.
### Detailed summary
- Added `Suspense` for loading state using `GenericLoadingPage`.
- Refactored layout to use a flexbox structure.
- Enhanced conditional rendering for `ProjectAnalytics` and `EmptyState`.
- Improved user statistics and charts display logic.
- Streamlined the rendering of various analytics cards.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `metadata` object in the `page.tsx` file for the `ChainListPage` component, specifically modifying the `title` and `description` properties for improved clarity and consistency.
### Detailed summary
- Added a new `title` variable with the value "Chainlist: RPCs, Block Explorers, Faucets".
- Added a new `description` variable with the updated description text.
- Updated the `metadata` object to use the new `title` and `description` variables.
- Introduced an `openGraph` property in the `metadata` object that includes the new `title` and `description`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
Added Superseed Gas Credit, Funki, Somnia, lumia testnet
Linear tasks:
SOLU-1913
SOLU-1909
SOLU-1885
SOLU-1888
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new assets and updates for the `Funki` and `Somnia` chains, enhancing the dashboard's visual and informational content. It includes new banners, CTAs, and detailed descriptions for these chains.
### Detailed summary
- Added new image assets: `funkiBanner.jpg`, `funkiCTA.jpg`, `somniaBanner.png`.
- Introduced metadata for `Funki Mainnet` and `Funki Testnet` with descriptions and CTAs.
- Added metadata for `Somnia Devnet` with its description and CTA.
- Updated the description and CTA for `Lumia`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-638
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `ProjectTabs` component to replace the existing `TabPathLinks` usage in the `TeamLayout`. It enhances tab management by allowing custom active tab logic and streamlining the tab structure.
### Detailed summary
- Added `isActive` prop to the `links` array in `tabs.tsx`.
- Introduced `ProjectTabs` component in `tabs.tsx` for managing project-related tabs.
- Replaced `TabPathLinks` with `ProjectTabs` in `layout.tsx`.
- Removed unused code for project fetching and not found handling in `page.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the `.github/dependabot.yml` configuration file to include new dependencies to be ignored during updates for specific versions of AWS SDK clients.
### Detailed summary
- Added `ignore` section for dependencies:
- `@aws-sdk/client-kms`: version `3.592.0`
- `@aws-sdk/client-lambda`: version `3.592.0`
- `@aws-sdk/credential-providers`: version `3.592.0`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds functionality to handle custom chains by mapping them to a new format and storing them in a separate array.
### Detailed summary
- Added a line to push mapped custom chains to the `allChainsV5` array using `mapV4ChainToV5Chain(c)`.
- Included an ESLint directive to disable the `no-restricted-syntax` rule for the new line.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the deletion of numerous image files from various directories within the `apps/dashboard/public/assets` folder, including images related to partners, ambassadors, landing pages, and grants.
### Detailed summary
- Deleted multiple image files from `partners`, `ambassadors`, `landingpage`, `community`, and `grant` directories.
- Removed images such as `aws.png`, `polygon.png`, `coinbase.png`, `superchain/logo-dashboard.png`, and many others.
- A total of 160 image files were deleted.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring and updating the chat and login components in the `nebula-app`, enhancing the handling of chat sessions, prompts, and user interactions.
### Detailed summary
- Added `initialPrompt` to `ChatPageContent` and `EmptyStateChatPageContent`.
- Simplified `EmptyStateChatPageContent` props.
- Introduced `LoginAndOnboardingPageContent` for better login handling.
- Updated `NebulaLogin` to use `NebulaLoginPage`.
- Refactored message handling and session management in `ChatPageContent`.
- Removed unnecessary props in `Chatbar` and `EmptyStateChatPageContent`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes: DASH-630
In-App wallet and Account abstraction settings are already available in project settings layout
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the `AccountAbstractionPage` and `SmartWallets` components by removing the `twAccount` property and associated logic, along with deleting unused configuration files. It streamlines the code and improves maintainability.
### Detailed summary
- Deleted files: `page.tsx` and `loading.tsx` in `connect/in-app-wallets/config`.
- Removed `twAccount` property from `AccountAbstractionPage` and `SmartWallets` components.
- Updated `AccountAbstractionPage` to only fetch `team` and `project` data.
- Removed `getValidAccount` function call.
- Deleted `Sponsorship Policies` tab and related logic from `SmartWallets`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes: DASH-629
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the validation schema and related components for project settings, particularly around custom authentication endpoints and redirect URIs. The changes enhance the form handling and validation logic in the dashboard.
### Detailed summary
- Introduced `expandCustomAuthEndpointField` for conditional rendering of custom authentication endpoint fields.
- Updated `checked` property of `GatedSwitch` to use the new variable.
- Modified the placeholder of `Textarea` in `NativeAppsFieldset`.
- Changed `UpdateAPIForm` type to use `ProjectSettingsPageFormSchema`.
- Updated form initialization to use `projectSettingsPageFormSchema`.
- Refined validation logic for redirect URIs, allowing specific formats.
- Created a new `redirectUriSchema` for validating redirect URIs.
- Updated `redirectUrls` validation to use the new schema.
- Changed the exported validation type from `ApiKeyValidationSchema` to `ProjectSettingsPageFormSchema`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `CreateListingButton` and `CreateListingsForm` components by adding support for multiple listing modes (automatic and manual) and improving NFT validation logic, ensuring users can list NFTs more effectively based on the selected mode.
### Detailed summary
- Introduced `LISTING_MODES` for "Select NFT" and "Manual" modes.
- Added logic to toggle between automatic and manual listing modes.
- Enhanced NFT validation for manual mode, including contract address and token ID checks.
- Updated NFT approval checks based on listing mode.
- Modified form controls and error handling for improved user experience.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-16 16:46:51 +00:00
3984 changed files with 212545 additions and 824046 deletions
@@ -6,8 +6,6 @@ To get started, read the [How this repo works](#how-this-repo-works) section bel
From there, you can take a look at our [Good First Issues](https://github.com/thirdweb-dev/js/labels/good%20first%20issue) board and find an issue that interests you!
If you have any questions about the issue, feel free to ask on our [Discord server](https://discord.gg/thirdweb) in the `#contributors` channel; where you'll be able to get help from our team and other contributors.
<br />
## How this repo works
@@ -85,7 +83,10 @@ If your test depends on a downstream network call, you must mock the call using
import { setupServer } from "msw/node";
import { downloadMock, uploadMock } from "../../../test/src/mocks/storage.js";
const server = setupServer(uploadMock("HASH"), downloadMock({ name: "Test NFT" }));
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.