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
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
## PR-Codex overview
This PR enhances the `SendTransactionButton` component in `Chats.tsx` by introducing improved transaction handling and validation through the addition of a blockchain `chain` context and the `sendTransaction` method.
### Detailed summary
- Added import for `sendTransaction` from `thirdweb`.
- Introduced `chain` variable using `useV5DashboardChain`.
- Updated transaction validation to check for both `txData` and `chain`.
- Refactored transaction sending logic to use `sendTransaction` with detailed parameters.
> ✨ 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 `TypeDoc` workflow for generating documentation and updates the `parse.mjs` script to process documentation data. It also modifies the `package.json` to include the `typedoc-better-json` dependency and adjusts the `pnpm-lock.yaml` accordingly.
### Detailed summary
- Added `TypeDoc` GitHub Actions workflow in `.github/workflows/typedoc.yml`.
- Created a new `parse.mjs` script in `packages/thirdweb/scripts` for transforming documentation data.
- Updated `package.json` to include `typedoc-better-json` as a dependency.
- Adjusted `pnpm-lock.yaml` to reflect changes in dependencies and versions.
> ✨ 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 GitHub workflows for pull requests by adding conditions for author associations and expanding issue types.
### Detailed summary
- In `.github/workflows/auto-assign.yml`, added checks to assign authors only if they are `MEMBER`, `OWNER`, or `COLLABORATOR`.
- In `.github/workflows/issue.yml`, expanded the `types` to include `ready_for_review`.
- Added logic to automatically pass checks for external contributors.
> ✨ 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 new `Wallet` navigation link and implements a new `Wallet` page with components for displaying wallet icons and names, enhancing the user interface for crypto wallet applications.
### Detailed summary
- Added a new navigation link for `Wallet`.
- Created `page.tsx` for the `Wallet` section with metadata and layout.
- Implemented `APIHeader` for the `Wallet` page.
- Added three components: `WalletIconBasic`, `WalletNameBasic`, and `WalletNameFormat` in `wallet-examples.tsx`.
- Each component includes a description and code example for usage.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2620
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new headless components for wallet management in the `thirdweb` library, enhancing user interface options for wallet context, icons, and names.
### Detailed summary
- Added `WalletProvider`, `WalletIcon`, and `WalletName` components.
- Updated `ChainProvider` to mark it as `@beta`.
- Introduced utility functions `getQueryKeys` for both chain and wallet components.
- Updated documentation and tests for new wallet components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-624
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `CodeBlockContainer` and related components to support an `onCopy` callback, allowing for custom actions when code is copied. It also introduces tracking for user interactions within the `BlueprintPlayground` component.
### Detailed summary
- Added `onCopy` prop to `CodeBlockContainer`, `RenderCode`, `PlainTextCodeBlock`, and `CodeClient`.
- Updated button click handler in `CodeBlockContainer` to call `onCopy` and pass the copied code.
- Integrated `useTrack` for tracking user events in `BlueprintPlayground`.
- Added tracking for "run", "copy-url", and "copy-response" actions in relevant components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-615
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the context filter functionality within the application by introducing support for `walletAddresses`, updating related types, and modifying components to accommodate these changes.
### Detailed summary
- Added `walletAddresses` to various types and API parameters.
- Updated `SessionContextFilter` to include `wallet_addresses`.
- Modified `ChatPageContent` to handle and display `walletAddresses`.
- Enhanced `ContextFiltersButton` to show wallet address badges.
- Updated form handling to include validation for `walletAddresses`.
> ✨ 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 new `Chain` components to enhance the user interface for blockchain applications, allowing for the display of chain icons and names. It includes new pages and components that integrate these features into the existing playground web application.
### Detailed summary
- Added a new `Chain` entry in `navLinks.ts`.
- Created a new page in `page.tsx` for `Chain` components with metadata.
- Integrated `ThirdwebProvider`, `APIHeader`, `ChainIconBasic`, and `ChainNameBasic` components.
- Implemented `ChainIconBasic` and `ChainNameBasic` components in `chain-examples.tsx` to showcase chain icons and names.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
PROT-935
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of `implementationConstructorParams` and `initializeParams` by adding null checks to ensure that they are defined before processing. This improves the robustness of the code.
### Detailed summary
- Changed `processedImplParams` and `processedInitializeParams` from constants to `undefined` initially.
- Added checks to confirm that `implementationConstructorParams` and `initializeParams` are defined before processing.
- Retained the logic for processing parameters using `processRefDeployments`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-621
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the authorization process by introducing an `authMethod` property and allowing `null` service scopes, while modifying billing statuses and service configuration types.
### Detailed summary
- Added `authMethod` to `teamAndProjectResponse`.
- Allowed passing `null` to `serviceScope` in `CoreServiceConfig`.
- Changed `billingStatus` from `"noCustomer"` to `"noPayment"`.
- Updated `TeamAndProjectResponse` to include `authMethod` type.
- Adjusted authorization logic for `secretKey` and null service scopes.
> ✨ 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 `authorizeNode` function by improving type handling for request headers and refactoring how headers are accessed. It introduces a type guard for distinguishing between header types and updates the way headers are retrieved in various functions.
### Detailed summary
- Updated `req` type in `AuthInput` to allow `Request`.
- Added `isNodeHeaders` function to differentiate between `IncomingHttpHeaders` and `Headers`.
- Refactored `getHeader` function to use `isNodeHeaders` for retrieving headers.
- Modified `extractAuthorizationData` to use `getHeader` for constructing the URL.
- Updated `logHttpRequest` to use `getHeader` for SDK-related headers.
> ✨ 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 new `Token` navigation link, updates documentation links, and adds a new SVG file. It also implements a `Token` components page with multiple examples and components for displaying tokens, enhancing the UI for token-related functionalities.
### Detailed summary
- Added a new navigation link for `Token` in `navLinks.ts`.
- Updated documentation links in `page.tsx` for better references.
- Introduced a new SVG file for `usdc`.
- Created a new `Token` components page with examples for:
- `TokenImageBasic`
- `TokenImageOverride`
- `TokenNameBasic`
- `TokenSymbolBasic`
- `TokenCard`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-13 02:43:35 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
CNCT-2640
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `service-utils` package to remove the `usageLimit` module, update types and endpoints to version 2, and enhance authorization logic by integrating team and project responses.
### Detailed summary
- Deleted `usageLimit` module files.
- Updated API endpoint and types to version 2.
- Modified `authorizeClient` and `authorizeService` functions to use `TeamAndProjectResponse`.
- Adjusted authorization tests to reflect new structure.
- Revised caching logic for keys.
- Enhanced rate limiting to use project IDs instead of account IDs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-554
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on the removal of certain components related to `BlueprintsPage`, updates to the `useHeightObserver` function, and enhancements to the `BlueprintPlayground` functionality, including new utility functions for fetching blueprint data.
### Detailed summary
- Deleted components: `BlueprintsPage`, `BlueprintsExplorer`, `BlueprintsPageHeader`.
- Updated `useHeightObserver` to be an exported function.
- Changed height from `40px` to `32px` in CSS.
- Added new props (`scrollableContainerClassName`, `shadowColor`) to several components.
- Implemented a new utility for fetching blueprints and their specifications.
- Enhanced `BlueprintPlayground` to handle fetching and displaying blueprints.
> ✨ 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 updates the link in the `page.mdx` file for the wallet overview section, directing users to the correct "get started" guide for thirdweb wallets.
### Detailed summary
- Changed the `href` attribute from `/wallet/get-started/overview` to `/connect/wallet/get-started` in the `page.mdx` 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 updates a link in the documentation for the `Wallet Connection functions`. The link's path has been changed, likely to reflect an updated structure in the documentation.
### Detailed summary
- Changed the link from `/typescript/v5/functions#wallets` to `/typescript/v5/wallets` in the `page.mdx` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2497/unlink-auth-method-for-enclave-wallets
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces functionality to unlink accounts from the in-app wallet, allowing users to manage multiple linked profiles more effectively.
### Detailed summary
- Added `UnlinkParams` type for unlinking profiles.
- Implemented `unlinkProfile` method in `InAppNativeConnector` and `InAppWebConnector`.
- Updated `unlinkAccount` function to handle profile unlinking.
- Added `useUnlinkProfile` hook for React.
- Enhanced `LinkedProfilesScreen` to include unlink buttons when multiple profiles exist.
- Added tests for unlinking functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-613
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the usage of the `newChatPageUrlStore` by introducing a custom hook, `useNewChatPageLink`, to manage the chat page URL more effectively across different components.
### Detailed summary
- Added `useNewChatPageLink` hook in `useNewChatPageLink.ts` to retrieve the chat page URL.
- Updated imports of `useNewChatPageLink` in `NebulaMobileNav.tsx`, `ChatSidebarLink.tsx`, and `ChatSidebar.tsx`.
- Removed duplicate `useNewChatPageLink` function from `ChatSidebar.tsx`.
- Set `newChatPageUrlStore` value directly in `ChatPageContent.tsx` based on the current page type.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-614
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling in the `setMessages` function within the `ChatPageContent` component. It modifies how error messages are added to the message list, ensuring that the previous messages are preserved correctly.
### Detailed summary
- Refactored `setMessages` to create a new array `newMessages` based on previous messages.
- Added a condition to exclude the last message if its type is "presence".
- Pushed a new error message object containing the error details to `newMessages`.
- Returned `newMessages` from `setMessages`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-607
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the `explore` functionality by removing the export of `ALL_CATEGORIES` from `data/explore` and adjusting the import statements in `page.tsx`.
### Detailed summary
- Removed the export of `ALL_CATEGORIES` from `apps/dashboard/src/data/explore.ts`.
- Updated `apps/dashboard/src/app/(dashboard)/explore/[category]/page.tsx` to only import `getCategory` from `data/explore`, excluding `ALL_CATEGORIES`.
- Deleted the `generateStaticParams` function that utilized `ALL_CATEGORIES`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-604, DASH-582
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the functionality and UI of the `ChatBar`, modifying the `PublishedContractTable`, and disabling the invite button in the `InviteSection`.
### Detailed summary
- In `ChatBar.tsx`, added a condition to ignore the `Enter` key if the `Shift` key is pressed.
- In `PublishedContractTable.tsx`, changed the `span` to have a maximum width and normal whitespace handling.
- In `InviteSection.tsx`, set `inviteEnabled` to `false` and disabled the invite button.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-602
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the routing paths in the `framer-rewrites.js` file for the dashboard application, specifically modifying the community and grants sections.
### Detailed summary
- Removed the route `"/community/ambassadors/startup-program"`.
- Added the route `"/community/startup-program"`.
- No other changes were made to the routing paths for community pages or grants.
> ✨ 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 utility function `getLastAuthProvider` to retrieve the most recently used authentication provider from local storage. It also exports the `LAST_AUTH_PROVIDER_STORAGE_KEY` for consistent access.
### Detailed summary
- Added `getLastAuthProvider` function in `packages/thirdweb/src/react/web/utils/storage.ts`.
- Exported `LAST_AUTH_PROVIDER_STORAGE_KEY` from `packages/thirdweb/src/react/core/utils/storage.ts`.
- Created tests for `getLastAuthProvider` in `packages/thirdweb/src/react/web/utils/storage.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-580
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the UI layout and styling of the `nebula-waitlist-page-ui.client.tsx` and `TeamProjectsPage.tsx` components within the dashboard application. It enhances spacing and text presentation for a better user experience.
### Detailed summary
- Increased gap in `nebula-waitlist-page-ui.client.tsx` from `gap-3` to `gap-6`.
- Adjusted paragraph width in `nebula-waitlist-page-ui.client.tsx` for better text alignment.
- Reduced height of a div from `h-10` to `h-6` in `nebula-waitlist-page-ui.client.tsx`.
- Increased padding in project card from `p-4` to `p-5` in `TeamProjectsPage.tsx`.
- Changed the class of `CopyButton` from `hover:bg-background` to `hover:bg-secondary` in `TeamProjectsPage.tsx`.
- Adjusted text presentation and layout for project details in `TeamProjectsPage.tsx`.
> ✨ 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 addresses caching issues in headless components and enhances code coverage. It introduces the `getFunctionId` utility in various components to improve resolver handling for names and symbols.
### Detailed summary
- Added `getFunctionId` to various components for handling resolvers.
- Updated `NFTName`, `NFTDescription`, and `NFTMedia` to use `getFunctionId` instead of `toString()`.
- Enhanced `ChainIcon`, `TokenIcon`, `ChainName`, and `TokenName` to include resolver handling.
- Introduced `fetchChainName` and `fetchTokenName` for improved name resolution.
- Added tests for `fetchChainName`, `fetchTokenName`, `fetchTokenSymbol`, and their respective query keys.
- Updated `TokenSymbol` to utilize `fetchTokenSymbol` and improved resolver handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
PROT-932
PROT-864
## Problem solved
https://linear.app/thirdweb/project/[contract-tooling]-deployment-publish-flow-revamp-0194e04e2a84/overview
Handle contract refs in publish form -- Resolve / deploy all linked contracts in publish metadata, and pass the addresses as constructor args for corresponding params.
It recursively deploys all referenced contracts through the ref chain, before deploying the main contract.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the contract deployment and parameter handling in the thirdweb platform, introducing dynamic parameters, improved UI components, and better error handling for contract interactions.
### Detailed summary
- Updated `deploy-with-abi.ts` to return the contract address instead of throwing an error if already deployed.
- Enhanced UI components in `string-input.tsx` and `raw-input.tsx` for better user experience.
- Added dynamic parameter handling in multiple components.
- Introduced new types for dynamic parameters in `deploy-metadata.ts`.
- Improved form handling in `FormFieldSetup` and related components.
- Added reference contract input fields in various components for dynamic contract deployments.
- Enhanced error handling and validation in the deployment forms.
- Updated component structure for better maintainability and clarity.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/contract-components/contract-publish-form/contract-params-fieldset.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-592, DASH-591, DASH-589, DASH-590
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing several components and pages related to open-source and community initiatives, while updating redirects and modifying navigation links to reflect a shift towards "Bounties" and other new paths.
### Detailed summary
- Deleted multiple files related to open-source and community initiatives.
- Added a redirect from `/open-source` to `/bounties`.
- Updated navigation data to replace "Open Source" with "Bounties".
- Removed references to "grant/superchain" and community pages from `PageId`.
- Removed the `LandingImages` component and its associated interface.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-11 18:04:46 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
https://linear.app/thirdweb/issue/INSIGHT-480/improvements-required-for-insight-playground
Updated the authentication method in the Insight API documentation to use the `x-client-id` header instead of embedding the client ID in the URL path.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the GitHub workflow and documentation related to the `insight` feature. It enhances the valid issue prefixes and provides clearer instructions for authentication in the API usage.
### Detailed summary
- Updated `VALID_ISSUE_PREFIXES` to include `INSIGHT`.
- Improved documentation in `apps/portal/src/app/insight/get-started/page.mdx`:
- Corrected "clientId" to "client ID".
- Added a note about using the `x-client-id` header for authentication.
- Modified the API fetch request to include headers for `client ID`.
> ✨ 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 various components in the `thirdweb` package, specifically related to `Account`, `NFT`, `Chain`, and `Token` functionalities. It introduces new imports and ensures that the components are utilizing the necessary contexts and types.
### Detailed summary
- In `Account/provider.tsx`: Added import for `Address`.
- In `NFT/provider.tsx`: Added import for `ThirdwebContract`.
- In `Account/blobbie.tsx`: Imported `Blobbie` and `useAccountContext`.
- In `Chain/icon.tsx`, `Token/icon.tsx`, `NFT/name.tsx`, and `NFT/media.tsx`: Imported `UseQueryOptions`, `useQuery`, and `getChainMetadata`.
> ✨ 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 detection of ecosystem wallets in the `Pay` modal by modifying the logic in the `hasSponsoredTransactionsEnabled` function and adding comprehensive tests for various wallet configurations.
### Detailed summary
- Updated the condition in `hasSponsoredTransactionsEnabled` to check for ecosystem wallets.
- Added tests for `hasSponsoredTransactionsEnabled` covering:
- Undefined wallet
- Smart wallet with `sponsorGas` config
- Smart wallet with `gasless` config
- In-app wallet with `smartAccount` config
- Regular wallet without smart account config
> ✨ 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
Linear: Dash-573
Added to chains for custom chainlist pages
- Metal L2 (1750)
- Creator Chain (66665)
- Treasure Topaz (978658)
Enabled white space preserving for new lines on chain 'About' section.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new assets and updates `chainMetaRecord` to enhance the dashboard with additional blockchain information, including two new chains: `Creator` and `Metal L2`, along with their respective metadata and call-to-action details.
### Detailed summary
- Added new images: `creatorBanner`, `creatorCTA`, `metalBanner`, `metalCTA`.
- Updated `layout.tsx` to use `whitespace-pre-line` for `chainMetadata.about`.
- Introduced `Creator` chain metadata with details and CTA.
- Introduced `Metal L2` chain metadata with details and CTA.
- Added `Treasure Topaz` and `Treasure Mainnet` chain metadata with details and CTA.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-444
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on adding new features and enhancements to the `Nebula` application, including updates to environment variables, improved session handling, and new UI components.
### Detailed summary
- Added `fetch-event-stream` dependency.
- Introduced `NEXT_PUBLIC_NEBULA_URL` in environment variables.
- Enhanced `loginRedirect` to handle optional paths.
- Updated `getValidAccount` to accept optional `pagePath`.
- Implemented new stores for session management.
- Improved UI components like `Chatbar`, `ChatPageLayout`, and `EmptyStateChatPageContent`.
- Added `isValidEncodedRedirectPath` function for redirect validation.
- Modified `NebulaWaitListPage` to directly use team data.
- Enhanced session handling functions in `api/session.ts`.
- Created new types for session management and context filters.
- Updated styles and class names for better UI consistency.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/nebula-app/(app)/components/EmptyStateChatPageContent.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.stories.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/NebulaAccountButton.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ContextFilters.tsx`, `apps/dashboard/src/app/nebula-app/(app)/chat/history/ChatHistoryPage.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatPageContent.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2588
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `playground-web` application by adding new components and improving existing ones related to NFT and account functionalities, showcasing headless UI components for better Web3 integration.
### Detailed summary
- Added `ArticleCardIndex` in `page.tsx`.
- Introduced new navigation link for "Headless UI".
- Expanded `Account` and `NFT` components with detailed examples.
- Improved `useQuery` parameters in `avatar.tsx` and `name.tsx`.
- Created several new components in `nft-examples.tsx` and `account-examples.tsx` for displaying NFT and account information.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-545
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various package dependencies across multiple `package.json` files and the `pnpm-lock.yaml` file, ensuring compatibility with newer versions and fixing potential issues.
### Detailed summary
- Updated `@types/react` and `@types/react-dom` to `19.0.1` and `19.0.2` respectively in multiple packages.
- Bumped `shiki` version from `1.24.0` to `1.24.1` in several packages.
- Updated `sonner` from `1.7.0` to `1.7.1` in `apps/wallet-ui` and `apps/dashboard`.
- Incremented `@emotion/react` and `@emotion/styled` versions to `11.14.0`.
- Updated `framer-motion` from `11.13.1` to `11.13.3`.
- Updated `@playwright/test` from `1.49.0` to `1.49.1`.
- Updated `@dirtycajunrice/klee` from `1.0.5` to `1.0.6` in `apps/portal`.
- Adjusted dependencies in `pnpm-lock.yaml` to reflect the above changes.
> 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 -->
2024-12-10 05:15:25 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the display of linked profiles in the `LinkedProfilesScreen` component by correctly handling the "Custom Auth" profile type and enhancing unit tests for various profile types.
### Detailed summary
- Updated the label for the "Custom Auth" profile type to "Custom Profile".
- Added unit tests for various profile types including email, google, phone, wallet address, cognito, custom_auth_endpoint, and unknown types.
- Ensured guest profiles are not displayed.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2602/issue-signing-deploy-tx-on-saakura
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on ensuring that gas price information is always included for enclave wallets, even when it is 0. It modifies the condition for setting the `maxFeePerGas` to check for the type `bigint`.
### Detailed summary
- Updated the condition to check if `tx.maxFeePerGas` is of type `bigint`.
- Ensured that `transaction.maxFeePerGas` is set correctly when `tx.maxFeePerGas` is provided.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/DASH-574/add-nebula-usage-tracker-events
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces additional properties to the `usageEventSchema` in the `service-utils` package, enhancing the tracking of usage events by including identifiers for the model, session, and request.
### Detailed summary
- Added `modelName`, `sessionId`, and `requestId` as optional string fields to the `usageEventSchema` in `packages/service-utils/src/core/usage.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-1111
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `thirdweb` package's `package.json` file to fix the version of `ox` to `0.4.0` while retaining other configurations and dependencies.
### Detailed summary
- Updated `ox` version to `0.4.0` in `peerDependencies`.
- Maintained all other existing fields and dependencies in `package.json`.
- No structural changes to the `thirdweb` package configuration.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-471
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring components related to contracts in the dashboard, enhancing the layout with `SidebarLayout`, and improving the user interface for contract management with better structure and loading states.
### Detailed summary
- Updated `layout.tsx` to use `SidebarLayout` for contracts.
- Simplified return statements in `DeployedContractsPage` components.
- Changed class names for better styling consistency.
- Added authentication checks in published contract pages.
- Created `PublishedContractsPage` to display published contracts with loading 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 introduces a new GitHub Actions workflow for automatically assigning authors to pull requests when they are opened or reopened.
### Detailed summary
- Added a new workflow file: `.github/workflows/auto-assign.yml`
- Defined the workflow name as `Auto Author Assign`
- Set the trigger for the workflow on `pull_request` events for types `opened` and `reopened`
- Specified permissions for pull requests as `write`
- Created a job named `assign-author` that runs on `ubuntu-latest`
- Included a step to use the action `toshimaru/[email protected]`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-564 and DASH-494
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the user interface and functionality related to wallet connection across various components in the dashboard, primarily changing instances of "Sign In" to "Connect Wallet" and modifying how account information is handled.
### Detailed summary
- Changed button text from `Sign In` to `Connect Wallet` in multiple components.
- Updated `TeamHeader` to use `getRawAccount` instead of `getAuthToken`.
- Modified account handling in `TeamLayout` functions to include `getValidAccount`.
- Adjusted `LoginPage` logic for account onboarding and redirection.
- Enhanced `TeamHeaderLoggedIn` to accept `account` as a prop directly.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
188 imports
part of DASH-388
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the UI components in the dashboard, specifically introducing a new `StatCard` component for displaying statistics and refactoring existing components to utilize this new design pattern, improving consistency and readability.
### Detailed summary
- Added a new `StatCard` component in `stat-card.tsx`.
- Refactored `SupplyCards` to use `StatCard` for displaying total, claimed, and unclaimed supply.
- Updated `NftProperty` component to replace `Text` with `<p>` tags for consistency.
- Replaced `Text` components with `<p>` tags in `ContractPermission` for improved styling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2584
- add custom resolver methods
- add better test coverage
- add caching for the getNFT method
- small fix: handling falsy values
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the NFT components in the `thirdweb` library by improving functionality, performance, and test coverage. It introduces custom resolver methods and caching mechanisms, along with fixes for handling falsy values.
### Detailed summary
- Added custom resolver methods to `NFTMedia`, `NFTName`, and `NFTDescription`.
- Implemented caching for the NFT info getter to improve performance.
- Fixed handling of falsy values for NFT media `src`, `name`, and `description`.
- Enhanced test coverage by extracting internal logic for testing.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Set CTA for Engine Playground to "Deploy an Instance"
## Problem solved
Update for [DASH-535](https://linear.app/thirdweb/issue/DASH-535/make-deploy-an-instance-the-primary-cta-in-playground)
Set CTA for Engine Playground to "Deploy an Instance"
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily updates the `deployLink` across multiple pages and modifies the `EngineAPIHeader` component to dynamically include the `deployLink` prop, enhancing the deployment functionality in the playground web application.
### Detailed summary
- Added `deployLink` prop to `page.tsx` files for `webhooks`, `minting`, and `airdrop`.
- Updated `docsLink` for `minting` and `airdrop` pages to point to specific API documentation.
- Modified `EngineAPIHeader` component to utilize the `deployLink` prop for dynamic linking.
- Removed hardcoded `Deploy an Instance` button from `EngineAPIHeader`.
> ✨ 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 TypeScript typings, updating ESLint configurations, and refining package dependencies across various files in the `thirdweb` package.
### Detailed summary
- Changed parameter name from `uri` to `_uri` in `onDisplayUri` callback.
- Updated `WalletCreationOptions` type definition.
- Modified listener type to use `_event`.
- Added ESLint rules for better coding practices.
- Removed outdated TSDoc tags and added `@example` tag.
- Updated package dependencies in `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2494
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `AccountBalance` and `ConnectButton` components to support displaying balances in fiat currency (currently only USD). It also introduces new utility functions and improves test coverage across various components.
### Detailed summary
- Added `showBalanceInFiat` prop to `AccountBalance` and `ConnectButton`.
- Updated `formatFn` in `AccountBalance` to accept an object of type `AccountBalanceInfo`.
- Introduced `shortenLargeNumber` and `formatNumber` utility functions.
- Improved tests for `ConnectButton`, `AccountBalance`, and related components.
- Enhanced rendering logic for displaying balances in both token and fiat.
> ✨ 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 error handling and connection management for smart wallets within the `thirdweb` package, enhancing user experience by ensuring proper disconnection and validation of address inputs.
### Detailed summary
- Added error handling in `AccountProvider` for missing addresses.
- Implemented disconnection logic for smart wallets in `handleSmartWalletConnection`.
- Updated tests to cover new error scenarios and connection handling.
- Refactored `DetailsModal` to manage modal state based on active accounts.
- Improved test coverage for `DetailsModal` and connection manager functionalities.
> 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
Short description of the bug fixed or feature added
Adding Arena-Z mainnet to OP Superchain grant page.
Linear
DASH-562
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces updates related to the `Arena Z` network within the dashboard application, including configurations and UI adjustments.
### Detailed summary
- Added configuration for `Arena Z Mainnet` with properties `cta`, and `gasSponsored`.
- Included `Arena-Z` in the onboarding form's chain options.
- Updated the `superchain` page with `Arena-Z` details, changing the link to `/arena-z` and setting `isComingSoon` to `false`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2526/analytics-discrepancy-after-migration-to-ecosystem-wallets
This fixes for all queries from Nov onwards.
We have to think of a solution to backfill for data stretching before Nov if customers ask for it
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the handling of ecosystem identifiers in the codebase, changing from using `ecosystemId` to `ecosystemSlug` for better clarity and consistency across various components and functions.
### Detailed summary
- Changed prop from `ecosystemId` to `ecosystemSlug` in `EcosystemAnalyticsPage`.
- Updated `getEcosystemWalletUsage` calls to use `ecosystemSlug` instead of `ecosystemId` in `EcosystemSlugLayout` and `EcosystemAnalyticsPage`.
- Adjusted the parameter type in `EcosystemAnalyticsPage` and `getEcosystemWalletUsage` to reflect the new `ecosystemSlug` usage.
- Modified the fetch URL in `getEcosystemWalletUsage` to use `ecosystemSlug` for API requests.
- Updated error message in `getEcosystemWalletUsage` to specify "ecosystem wallet stats".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2303
Woah. This is sick.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `thirdweb` package to enhance transaction serialization by integrating the `ox` library, renaming files, and refactoring code for better consistency in handling typed data and signatures.
### Detailed summary
- Replaced instances of `coinbaseWebSDK.js` with `coinbase-web.js`.
- Updated the `parseTypedData` function to handle hex `chainId`.
- Refactored signature handling in various files to use `ox` library.
- Introduced new types and updated existing ones for better type safety.
- Added tests for `parseTypedData` functionality.
- Adjusted imports across multiple files to reflect new structure.
- Enhanced error handling and validation for typed data signatures.
> The following files were skipped due to too many changes: `packages/thirdweb/src/adapters/ethers5.test.ts`, `packages/thirdweb/src/utils/hashing/hashTypedData.ts`, `packages/thirdweb/src/wallets/coinbase/coinbase-web.test.ts`, `packages/thirdweb/src/transaction/serialize-transaction.ts`, `packages/thirdweb/src/transaction/serialize-transaction.test.ts`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-558, DASH-559
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of outdated pages and components related to terms of service and privacy policy, while also updating links and redirects to reflect new URLs.
### Detailed summary
- Deleted several files: `tos.tsx`, `mission.tsx`, `privacy.tsx`, and multiple component files.
- Updated links in `footerLinks.tsx` for "Privacy Policy" and "Terms of Service".
- Changed URLs in `LoginPage.tsx` and `connect-wallet/index.tsx` for privacy and terms.
- Added redirects in `redirects.js` for `/tos` to `/terms`, `/privacy` to `/privacy-policy`, and `/mission` to `/home`.
- Removed references to `Mission` and legacy pages in `page-id.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-557
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the layout of various components in the application from using `Flex` elements to using `div` elements with Tailwind CSS classes for styling, improving consistency and readability.
### Detailed summary
- Changed `Flex` components to `div` with Tailwind CSS classes in `nft-property.tsx`.
- Updated layout in `external-links-fieldset.tsx` to use `fieldset` and `div`.
- Modified `engine-wallet-config.tsx` to replace `Flex` with `div`.
- Refactored `engine-relayer.tsx` to use `div` instead of `Flex`.
- Updated `ContractTokensPage.tsx` to use `div` for layout.
- Changed `ContractExplorerPage.tsx` layout from `Flex` to `div`.
- Refactored `proposal.tsx` to replace `Flex` with `div`.
- Updated `EngineSystemMetrics.tsx` to use `div` instead of `Flex`.
- Changed layout in `airdrop-tab.tsx` to replace `Flex` with `div`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-556
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing files related to RPC validation within the dashboard application, indicating a potential refactor or removal of unnecessary functionality.
### Detailed summary
- Deleted the file `apps/dashboard/src/hooks/chains/useRpcValidation.ts`
- Removed the file `apps/dashboard/src/app/(dashboard)/chain/validate/page.tsx`
- Eliminated the file `apps/dashboard/src/app/(dashboard)/chain/validate/ChainValidation.tsx`
> ✨ 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. PROT-926
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing documentation for various smart contracts by adding new components and updating existing content. It introduces new `ContractDeployCard` elements to highlight modular contract options and expands the description of certain contracts.
### Detailed summary
- Updated `VALID_ISSUE_PREFIXES` in `.github/workflows/issue.yml` to include `PROT`.
- Added `ContractDeployCard` components in multiple `.mdx` files for:
- `Modular Token`
- `Modular Edition Drop`
- `Modular Open Edition`
- `Modular Token Drop`
- `Modular NFT Collection`
- `Modular NFT Drop`
- `Modular Edition`
- Revised introduction and features sections in `apps/portal/src/app/contracts/page.mdx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2555
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `erc20Value` parameter to the `buyFromListing` transaction, enhancing the functionality for transactions involving ERC20 tokens. It also includes tests to ensure proper handling of ERC20 transactions in the marketplace.
### Detailed summary
- Added `erc20Value` to `buyFromListing` to handle ERC20 transactions.
- Implemented a test case for the new `erc20Value` functionality.
- Deployed an ERC20 contract for testing purposes.
- Verified the correct approval transaction is generated for ERC20 purchases.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CNCT-2563
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates various dependencies to ensure compatibility with `react 19`, including explicitly setting peer dependencies and updating package versions across multiple files.
### Detailed summary
- Updated `@types/react` and `@types/react-dom` to `19.0.0`.
- Changed `react` and `react-dom` versions to `19.0.0`.
- Updated `next` versions from `15.0.3` to `15.0.4`.
- Updated `shiki` versions from `1.22.2` to `1.24.0`.
- Updated `@next/eslint-plugin-next` and `@next/mdx` versions to `15.0.4`.
> 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 -->
closes: DASH-547
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on removing unused components and code, updating the handling of publisher profiles, and enhancing the user interface components related to account and publisher display.
### Detailed summary
- Deleted unused files: `MetaIcon.tsx`, `MediumIcon.tsx`, `TelegramIcon.tsx`, `edit-profile.tsx`, `masked-avatar.tsx`, `PublisherSocials.tsx`.
- Updated `retry` option to `false` in several `queryOptions`.
- Refactored publisher profile fetching and display logic.
- Introduced `replaceDeployerAddress` function for address formatting.
- Updated `ProfileUI` to use `ProfileHeader` component.
- Enhanced `ContractPublisher` component with `AccountProvider`.
- Removed console logging and unused variables throughout the code.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-545
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various package dependencies in multiple projects and making minor code adjustments for improved functionality and compatibility.
### Detailed summary
- Updated `@cloudflare/workers-types` from `4.20241127.0` to `4.20241205.0`.
- Changed `chainId` handling in `iframe-wallet.ts` to use `Number.parseInt(BigInt(...).toString())`.
- Updated `@tanstack/react-query` from `5.62.1` to `5.62.2` across multiple `package.json` files.
- Updated `lucide-react` from `0.462.0` to `0.468.0` across multiple `package.json` files.
- Updated `tailwindcss` from `3.4.15` to `3.4.16` across multiple `package.json` files.
- Updated `next-themes` from `0.4.3` to `0.4.4` in several projects.
- Updated `knip` from `5.39.0` to `5.39.2` in multiple `package.json` files.
- Updated `abitype` from `1.0.6` to `1.0.7`.
- Updated `framer-motion` from `11.12.0` to `11.13.1`.
- Updated `@coinbase/wallet-sdk` from `4.2.3` to `4.2.4`.
- Updated `viem` from `2.21.53` to `2.21.54`.
- Updated `storybook` dependencies from `8.4.6` to `8.4.7`.
> 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 -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the `CODEOWNERS` file to include a new owner, `@jakubkrehel`, for specific apps. This change reflects the addition of `@jakubkrehel` to the ownership of the `apps/dashboard/`, `apps/playground-web/`, and `apps/wallet-ui/` directories.
### Detailed summary
- Added `@jakubkrehel` as an owner for:
- `apps/dashboard/`
- `apps/playground-web/`
- `apps/wallet-ui/`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-05 22:40:23 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
- Adding Lisk Mainnet to the available grants
- Adding Arena -Z to the coming soon List

## Linear ticket
DASH-544
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces `Lisk` as a new entry in the onboarding process and modifies the `cta` structure in the `utils.ts` file. It also adds an `ArenaZ` entry to the `superchains` array while removing a previous `Lisk` entry.
### Detailed summary
- Added `Lisk` to the chain mapping in `ApplyForOpCreditsForm.tsx`.
- Commented out the previous `cta` structure in `utils.ts` and replaced it with `OP_CTA`.
- Set `gasSponsored` to `true` in `utils.ts`.
- Added `ArenaZ` to the `superchains` array in `superchain.tsx`.
- Removed the previous `Lisk` entry from the `superchains` array in `superchain.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 enhancing the user interface for error handling during the sign-in process in the `SignatureScreen` component of the `thirdweb` wallet. It propagates error messages to the UI, improving user feedback when sign-in fails.
### Detailed summary
- Updated `walletId` parameter to accept `Wallet` or `string` in `is-ecosystem-wallet.ts`.
- Changed state management in `SignatureScreen.tsx` to include an `error` state.
- Modified sign-in logic to set error messages on failure.
- Enhanced UI to display error messages and loading state.
- Added `data-testid` attributes for testing.
- Updated tests in `SignatureScreen.test.tsx` to cover new error handling scenarios and UI changes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes DASH-493
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the billing and checkout functionalities within the dashboard application. It introduces new props for redirecting to checkout and billing portals, updates UI components, and replaces the `CustomConnectWallet` with a `ConnectButton`.
### Detailed summary
- Updated `TransactionButton` to streamline className handling.
- Added `redirectToCheckout` prop in various components including `PageContent`, `OnboardingUI`, and `PlanInfoCard`.
- Introduced `RedirectBillingCheckoutAction` type in `billing.ts`.
- Replaced `CustomConnectWallet` with `ConnectButton` in several components.
- Enhanced `BillingPricing` and `PricingCard` components to accept `redirectToCheckout`.
- Added stubs for `redirectToBillingPortal` in story files for testing.
- Improved UI consistency across billing-related components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2522/unable-to-log-in-to-ecosystem-wallet-and-xai-connect
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a fallback chain option for ecosystem smart accounts in the `thirdweb` wallet, enhancing the configuration options for users.
### Detailed summary
- Added `defaultChainId` to `SmartAccountOptions` type.
- Updated `smartAccountOptions` to use `defaultChainId`.
- Modified error messages to clarify chain requirements.
- Added new form field for `defaultChainId` in the `AuthOptionsForm`.
- Enhanced tests to cover scenarios with `defaultChainId`.
> ✨ 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 `ConnectWalletSocialOptions` component by conditionally rendering the "Sign in with Wallet" button based on the `isLinking` prop, and it adds tests to verify this behavior.
### Detailed summary
- Added condition to hide the "Sign in with Wallet" button when `isLinking` is true in `ConnectWalletSocialOptions.tsx`.
- Created tests for `ConnectWalletSocialOptions` in `ConnectWalletSocialOptions.test.tsx`:
- Tests rendering the button when enabled and not linking.
- Tests that the button is not rendered when `isLinking` is true.
- Tests that clicking the button calls `handleWalletLogin`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes#5615
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing the `auth` property from the `useConnectModal` options in the `thirdweb` package, as it is currently unsupported.
### Detailed summary
- Removed the `auth` property from `UseConnectModalOptions` in `packages/thirdweb/src/react/web/ui/ConnectWallet/useConnectModal.tsx`.
- Updated documentation to reflect the removal of the `auth` prop.
> ✨ 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 updates the `isERC20` function in the `isERC20.ts` file to retrieve the contract's ABI and extract function selectors before checking if the contract is an ERC20.
### Detailed summary
- Removed direct usage of `isERC20` with a contract.
- Added import of `resolveContractAbi` from `thirdweb/contract`.
- Introduced a new step to resolve the contract's ABI.
- Extracted function selectors from the ABI.
- Updated `isERC20` call to use the extracted selectors.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-492
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `metadata` in the `layout.tsx` file and modifying the sitemap configuration in `next-sitemap.config.js` to improve SEO and access control based on the environment.
### Detailed summary
- In `layout.tsx`:
- Added `metadataBase` with URL `https://thirdweb.com`.
- Introduced `alternates` with a `canonical` path set to `"./"`.
- In `next-sitemap.config.js`:
- Updated access rules:
- Allowed access if `VERCEL_ENV` is `"production"`.
- Disallowed access to all if not in production, except for specific paths (`/team` and `/team/*`).
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2523/remapping-of-siwe-wallet-type-in-typescript-sdk
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `getUser` function in the `Profiles` to align with TypeScript types and enhancing its test coverage.
### Detailed summary
- Updated the `type` in `getUser` to correctly classify profile types as either "wallet" or their original type.
- Added unit tests to handle various scenarios: missing secret key, missing query parameters, and handling fetch errors.
- Verified correct API URL calls for different query parameters (email, phone, id, externalWalletAddress).
- Included tests for fetching user profiles and handling cases where no user is found.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2428/pro-upcade-ecosystem-wallet-restriction-not-working
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling in the `get-enclave-user-status.ts` file by changing the error message thrown when fetching the account status fails. It updates the error message to provide more clarity based on the response.
### Detailed summary
- Updated the error message in `get-enclave-user-status.ts` from `result.error` to `result.message` for clarity when fetching account status fails.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes CNCT-2510
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating dependencies and improving compatibility with `Expo 52` and `React Native 0.76`, including adjustments to package versions and installation commands.
### Detailed summary
- Added support for `Expo 52` and `React Native 0.76`.
- Updated `expo-web-browser` version to `14.0.1`.
- Modified `expo-application` version to allow `5 || 6`.
- Updated installation commands from `npx expo:run` to `npx expo run`.
- Added `react-native-passkey` dependency.
- Adjusted peer dependencies in `package.json` files.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes#5537
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving wallet connection handling in the `thirdweb` project, specifically when switching signer accounts and simplifying connection logic for smart wallets.
### Detailed summary
- Updated `biome.json` to add `"noUselessElse": "off"`.
- Modified wallet connection logic in `packages/thirdweb/src/wallets/manager/index.ts` for better handling of active wallets.
- Added tests for connection management in `packages/thirdweb/src/wallets/manager/connection-manager.test.ts`.
- Removed environment variable logging across multiple API routes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-503
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of several components and pages related to contracts in the dashboard, along with updates to routing configurations.
### Detailed summary
- Deleted the following files:
- `contracts.tsx`
- `Stats.tsx`
- `CaseStudyStatic.tsx`
- `ContractInteractionSection.tsx`
- `LandingCaseStudyStaticSection.tsx`
- Updated `page-id.ts` by modifying the `ContractsLanding` constant.
- Modified `framer-rewrites.js` to add new routes:
- `/nebula`
- `/trusted-partner-program`
- `/trusted-partner-program/:partner_slug`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-496
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various components in the codebase to replace the `isLoading` prop with `isPending` for better clarity and consistency in handling loading states.
### Detailed summary
- Replaced `isLoading` with `isPending` in multiple components including `delegate-button.tsx`, `claim-button.tsx`, and `proposal-button.tsx`.
- Updated the loading state handling in `TransactionButton` and related components.
- Adjusted styles and props for better UI consistency.
- Modified tooltip labels and button texts to reflect the new loading state terminology.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/buttons/MismatchButton.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
FIxes [DASH-495](https://linear.app/thirdweb/issue/DASH-495/engine-playground)
Short description of the bug fixed or feature added
Added Engine Section to playground
-Airdrop
-Mint
-Webhooks
Updated AppSidebar `expanded: false` to show `otherLinks` section - previously this was unseen by users and there was no scroll option
Create EngineAPIHeader for Engine CTA and utm link updates
Slack [thread](https://thirdwebdev.slack.com/archives/C07U1LM6S2W/p1731687004602369) for initiative
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new features and updates to the `playground-web` application, including new API routes for minting and airdropping tokens, enhancements to the UI components, and the addition of new environment variables for build processes.
### Detailed summary
- Added environment variables for `ENGINE_ACCESS_TOKEN`, `ENGINE_BACKEND_WALLET`, and `ENGINE_URL`.
- Introduced new dependencies: `@thirdweb-dev/engine` and `timeago.js`.
- Updated `navLinks.ts` to collapse sections and added a new `Engine` section.
- Created new pages for `Webhooks`, `Airdrop`, and `Minting` with respective UI components.
- Implemented API routes for transaction status, minting, and airdropping.
- Enhanced the `EngineAPIHeader` component to display dynamic content.
- Added polling functionality for transaction status updates in the `Sponsorship` and `AirdropERC20` components.
- Introduced pagination for transaction results in `ClaimTransactionResults` components.
> 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 -->
part of DASH-388
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the return types in the `convertFiatToCrypto` and `convertCryptoToFiat` functions to return objects instead of plain numbers. Additionally, it modifies the `SnapshotUpload` component to replace `Link` elements with `a` tags and adjusts the layout for better styling.
### Detailed summary
- Changed return type of `convertFiatToCrypto` to `{ result: 0.0000057 }`.
- Changed return type of `convertCryptoToFiat` to `{ result: 3404.11 }`.
- Replaced `Link` components with `a` tags in `SnapshotUpload`.
- Adjusted layout and styling in `SnapshotUpload` for improved design.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2369
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces two new functions for converting between fiat and crypto currencies in the `thirdweb` package, along with corresponding tests and endpoints.
### Detailed summary
- Added `convertFiatToCrypto` and `convertCryptoToFiat` functions.
- Created endpoints for fiat to crypto and crypto to fiat conversions.
- Implemented tests for both conversion functions, covering various scenarios and error handling.
- Updated documentation with examples for the new functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
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.