## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to fix the common icons theme in React Native components.
### Detailed summary
- Updated icons in `WalletImage.tsx` and `ConnectModal.tsx`
- Refactored `getAuthProviderImage` function
- Added new `PASSKEY_ICON` in `svgs.ts`
> The following files were skipped due to too many changes: `packages/thirdweb/src/react/core/utils/walletIcon.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 adds state management for execution mode (read, write, simulate) and refactors error and data handling in `InteractiveAbiFunction`.
### Detailed summary
- Added `useState` for execution mode
- Refactored error and data handling based on execution mode
- Improved formatting of response data
- Updated button disable conditions for simulation and transaction handling
> ✨ 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
The focus of this PR is to refactor the settings usage page in the dashboard app.
### Detailed summary
- Refactored usage page to use `SettingsUsagePage` component
- Removed redundant imports and code in `usage.tsx`
- Updated `Page` component to render `SettingsUsagePage`
- Updated `getLayout` and `pageId` in `Page` component
> ✨ 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
The focus of this PR is to refactor the settings page for gas credits, adding a new component and improving the layout.
### Detailed summary
- Added a new component `SettingsGasCreditsPage` for gas credits settings
- Updated the layout of the gas credits settings page
- Removed unused imports and components
- Renamed `SettingsGasCreditsPage` to `Page` and updated references
> ✨ 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 refactors the billing settings pages by introducing a new `SettingsBillingPage` component and updating related components for better organization and structure.
### Detailed summary
- Introduces a new `SettingsBillingPage` component for billing settings
- Updates components to use the new `SettingsBillingPage`
- Removes unnecessary code related to account and router handling
> ✨ 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 restructuring file paths and components related to engine management in the dashboard.
### Detailed summary
- Moved `engine-access-tokens.tsx` to `permissions` folder
- Added `EngineInstancePageProps` type in `types.ts`
- Created new pages for engine creation and import
- Updated various components related to engine management
- Refactored file paths for better organization
> The following files were skipped due to too many changes: `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/layout.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/~/settings/general/GeneralSettingsPage.tsx`, `apps/dashboard/src/@/components/blocks/MobileSidebar.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/page.tsx`, `apps/dashboard/src/app/components/Header/TeamHeader/TeamHeaderUI.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/metrics/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/admins/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/~/settings/_components/sidebar/TeamsMobileNav.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/relayers/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/explorer/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/webhooks/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/access-tokens/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/configuration/page.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(instance)/[engineId]/contract-subscriptions/page.tsx`, `apps/dashboard/src/pages/dashboard/engine/index.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/TeamOverviewPage.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(general)/layout.tsx`, `apps/dashboard/src/app/team/[team_slug]/[project_slug]/engine/(general)/sidebars.tsx`, `apps/dashboard/src/components/engine/engine-instances-table.tsx`, `apps/dashboard/src/@/components/ChakraProviderSetup.tsx`, `apps/dashboard/src/@/components/ui/NavLink.tsx`, `apps/dashboard/src/app/team/[team_slug]/components/account-button.client.tsx`, `apps/dashboard/src/components/engine/EnginePage.tsx`, `apps/dashboard/src/components/engine/EngineSidebar.tsx`, `apps/dashboard/src/components/engine/create/ConfirmEngineTierDialog.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/~/settings/members/InviteSection.tsx`, `apps/dashboard/src/app/team/[team_slug]/(team)/~/settings/members/ManageMembersSection.tsx`, `apps/dashboard/src/components/engine/engine-list.tsx`, `apps/dashboard/src/components/engine/import/EngineImportPage.tsx`, `apps/dashboard/src/components/engine/create/CreateEnginePage.tsx`, `apps/dashboard/src/pages/dashboard/engine/import.tsx`, `apps/dashboard/src/pages/dashboard/engine/create.tsx`, `apps/dashboard/src/components/engine/EnginePageLayout.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 exposes a new utility function `createAndSignUserOp` in `thirdweb` package.
### Detailed summary
- Added `createAndSignUserOp` utility function
- Imported `toSerializableTransaction`
- Updated function `getAccountNonce`
- Added `createAndSignUserOp` function with detailed documentation
> ✨ 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 user operation signing process and renames `smartWallet` to `wallet` for consistency.
### Detailed summary
- Updated user operation signing to be asynchronous
- Renamed `smartWallet` to `wallet` for consistency
- Changed `addAdmin` import to `addSessionKey`
> ✨ 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
The focus of this PR is to add options for hiding buttons on the details modal in the `ConnectWallet` feature.
### Detailed summary
- Added options to hide "Send Funds," "Receive Funds," and "Buy Funds" buttons in the details modal
- Updated `ConnectButton.tsx` and `Details.tsx` to include new hide options
- Modified `UseWalletDetailsModalOptions` type to support new hide options
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
FIXES: DASH-210
<!-- start pr-codex -->
## PR-Codex overview
The focus of this PR is to fix the baseURI extraction logic in the `lazy-mint-form.tsx` file.
### Detailed summary
- Removed unnecessary `upload` function calls for image and animation URLs
- Updated data processing logic in `LazyMintNftForm`
- Refactored `getBaseUriFromBatch` function for URI extraction
- Added tests for `getBaseUriFromBatch` function
> ✨ 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 improves React Query caching performance by optimizing structural sharing in the `ThirdwebProviderCore`.
### Detailed summary
- Added `structuralSharing` function to optimize caching performance
- Implemented `deepEqual` function for deep comparison
- Updated `ThirdwebProviderCore` to use `structuralSharing` for better caching efficiency
> ✨ 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 support for fetching social profiles for Farcaster, Lens, and ENS.
### Detailed summary
- Added functions to fetch social profiles for different protocols
- Updated components to use social profile data
- Updated types for social profiles and profiles metadata
> The following files were skipped due to too many changes: `packages/thirdweb/src/react/web/ui/ConnectWallet/Details.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 updates `getFunctionId` in `function-id.ts` to use `randomBytesHex` instead of `uint8ArrayToHex`.
### Detailed summary
- Replaced `uint8ArrayToHex` with `randomBytesHex` function
- Changed `functionIdCache` from WeakMap to Map
> ✨ 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 upload images and animations for lazy minting NFTs in the `LazyMintNftForm` component.
### Detailed summary
- Added `upload` import from `thirdweb/storage`.
- Modified form submission to upload image and animation URLs.
- Updated data handling for image and animation URLs.
> ✨ 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 `useNftDrawerTabs` functionality by allowing updates to metadata in addition to token URI.
### Detailed summary
- Updated condition to include support for updating metadata
- Added option to update metadata in the tabs if supported
> ✨ 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
The focus of this PR is to update the description in the Auth page of the `playground-web` app to provide a more detailed explanation of user authentication using wallets.
### Detailed summary
- Updated the description in the Auth page to explain user authentication using wallets
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Before:
<img width="747" alt="image" src="https://github.com/user-attachments/assets/ea60b693-70f9-4a20-8d31-246dc428e580">
After:
<img width="746" alt="image" src="https://github.com/user-attachments/assets/58fd622f-0aad-403f-976e-d06ac01ae0e2">
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `formatError` function in `interactive-abi-function.tsx` to handle different error objects more effectively.
### Detailed summary
- Improved error handling in `formatError` function
- Added a check for `error.message` property
- Removed unnecessary type casting for `error` object
> ✨ 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
The focus of this PR is to update the logic in `WalletDistributionChartCard.tsx` to correctly handle chart data for different wallet types.
### Detailed summary
- Updated logic to correctly handle chart data for different wallet types
- Adjusted how data is set in `_chartDataMap`
- Refactored the mapping of chart data to include a return statement
> ✨ 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 Unity SDK v5 documentation with new features, migration guide, and Ecosystem Wallet details.
### Detailed summary
- Updated Unity SDK v5 documentation with Ecosystem Wallet info
- Migration guide from Unity SDK v4 to v5
- Added Ecosystem Wallet login methods
- Enhanced Ecosystem Wallet details and API usage
- Improved contract interactions and wallet management in Unity SDK v5
> The following files were skipped due to too many changes: `apps/portal/src/app/unity/v5/migration-guide/page.mdx`, `apps/portal/src/app/dotnet/wallets/providers/ecosystem-wallet/page.mdx`
> ✨ 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
The focus of this PR is to update the link for the gaming solution page from a specific Unreal Engine quickstart to a more general engine-express page.
### Detailed summary
- Updated the href link for the gaming solution page to a more general engine-express URL.
> ✨ 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 improves the handling of local input state in the `AddressInput` component by introducing a new local state variable `_localInput`.
### Detailed summary
- Introduces `_localInput` state variable using `useState`
- Modifies `localInput` assignment logic to consider `_localInput`
- Updates usage of `localInput` in the component to reflect the changes
> ✨ 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 analytics data handling in the dashboard:
### Detailed summary
- Added `THIRDWEB_ANALYTICS_API_HOST`
- Modified `createWalletStatsStub` structure
- Updated API handling for analytics data
- Refactored components for improved data display
> The following files were skipped due to too many changes: `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 -->
<!-- start pr-codex -->
## PR-Codex overview
This PR adds a new feature to simulate contract transactions before execution, enhancing user experience and safety.
### Detailed summary
- Added `useSimulateTransaction` hook for simulating transactions
- Implemented simulation functionality in `InteractiveAbiFunction`
- Added simulation button and logic for contract functions
> ✨ 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
The focus of this PR is to update UI components, add a new import contract modal, and improve the network select dropdown.
### Detailed summary
- Updated table UI styles
- Added `ShowMoreButton` component with `Button` and `ChevronDownIcon`
- Improved `NetworkSelectDropdown` with `Select` components
- Added `ImportModal` with form validation and submission logic
> The following files were skipped due to too many changes: `apps/dashboard/src/components/contract-components/import-contract/modal.tsx`, `apps/dashboard/src/components/contract-components/tables/deployed-contracts.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 `ethers` package version across multiple packages and introduces new exports in the `ethers5.ts` and `ethers6.ts` files.
### Detailed summary
- Updated `ethers` package version to `"5.7.2"`
- Added new exports in `ethers5.ts` and `ethers6.ts`
- Modified imports in `provider-setup.tsx` to use updated exports
> ✨ 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
The focus of this PR is to update the import of `ModularExt` from "thirdweb/extensions/modular" to "thirdweb/modules".
### Detailed summary
- Updated import of `ModularExt` from "thirdweb/extensions/modular" to "thirdweb/modules"
> ✨ 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 changes related to adding a `shadowColor` prop, refactoring table components, and updating button stories.
### Detailed summary
- Added `shadowColor` prop to components
- Refactored table components with `TableContainer`
- Updated button stories import path
> The following files were skipped due to too many changes: `apps/dashboard/src/@/components/ui/table.stories.tsx`, `apps/dashboard/src/@/components/ui/table.tsx`, `apps/dashboard/src/components/shared/TWTable.tsx`, `apps/dashboard/src/app/(dashboard)/dashboard/connect/ecosystem/[slug]/(active)/components/server/partners-table.tsx`, `apps/dashboard/src/components/contract-components/tables/deployed-contracts.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 removes a redirect logic for the "/login" path and updates path splitting logic in `middleware.ts`.
### Detailed summary
- Removed redirect logic for "/login" path
- Updated path splitting logic in `middleware.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Let's say I need a list of owned tokenids for rendering a list of <NFT.Media />. Using getOwnedNFTs is a waste of requests, so I split the code from the current getOwnedNFTs to make a new function
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a new function `getOwnedTokenIds` to retrieve ERC1155 tokenIds and their balances for a wallet address, along with related tests.
### Detailed summary
- Added `getOwnedTokenIds` function to retrieve ERC1155 tokenIds and balances
- Updated `getOwnedNFTs` to use `getOwnedTokenIds`
- Added tests for `getOwnedTokenIds`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-09-05 09:58:46 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
address: https://app.graphite.dev/github/pr/thirdweb-dev/js/4413/Update-Refactor-NFT-reveal-functionality-and-batch-lazy-minting#comment-PRRC_kwDOH5MG4s5oAmQb
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to refactor the `isAccountDeployed` function by replacing the `getBytecode` call with `isContractDeployed` for improved readability and efficiency.
### Detailed summary
- Replaced `getBytecode` call with `isContractDeployed` for checking contract deployment status
- Updated function return logic for clarity and simplicity
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
The focus of this PR is to introduce the `ModularExt` extension and refactor the `detectedModularExtension` logic in the `useContractRouteConfig` hook.
### Detailed summary
- Added `ModularExt` import
- Refactored `detectedModularExtension` logic to `isModularCore`
- Updated `isEnabled` logic for 'Modules' section to use `isModularCore`
- Removed unnecessary code related to `detectedModularExtension`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR removes the usage of `useRouter` from `contract-table` component and updates the onClick behavior to always open links in a new tab.
### Detailed summary
- Removed `useRouter` import
- Updated onClick behavior to open links in a new tab
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
The focus of this PR is to add support for additional ERC721 metadata and claim conditions, optimize contract checklist components, and improve feature detection.
### Detailed summary
- Added support for `isSharedMetadataSupported` and `getClaimConditions` in ERC721.
- Optimized contract checklist component for ERC721, ERC1155, and ERC20 contracts.
- Improved feature detection for lazy minting, claim conditions, and account factory creation.
> ✨ 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 checking if specific ERC721 and ERC1155 methods are supported by contracts. It also updates function exports and improves code consistency.
### Detailed summary
- Added functions to check method support for ERC721 and ERC1155 contracts
- Updated function exports for minting, updating metadata, and token URI
- Improved code consistency and clarity in various files
> The following files were skipped due to too many changes: `packages/thirdweb/src/extensions/erc721/read/getNFTs.ts`, `packages/thirdweb/src/extensions/erc1155/write/mintAdditionalSupplyTo.ts`, `apps/dashboard/src/contract-ui/tabs/claim-conditions/page.tsx`, `packages/thirdweb/src/exports/extensions/erc721.ts`, `apps/dashboard/src/contract-ui/tabs/claim-conditions/components/claim-conditions.tsx`, `apps/dashboard/src/contract-ui/tabs/nfts/components/table.tsx`, `packages/thirdweb/src/extensions/erc1155/drops/write/updateMetadata.ts`, `packages/thirdweb/src/extensions/erc721/drops/write/updateMetadata.ts`, `apps/dashboard/src/contract-ui/hooks/useRouteConfig.tsx`, `apps/dashboard/src/core-ui/nft-drawer/useNftDrawerTabs.tsx`, `apps/dashboard/src/contract-ui/tabs/nfts/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 enhances ERC1155 Drop ClaimCondition functionality.
### Detailed summary
- Added `isGetActiveClaimConditionSupported` function
- Updated `getActiveClaimCondition` and `claimTo` methods
- Added `isClaimToSupported` function
- Updated `lazyMint` method and added `isLazyMintSupported` function
> The following files were skipped due to too many changes: `packages/thirdweb/src/extensions/erc1155/drops/write/setClaimConditions.ts`, `packages/thirdweb/src/extensions/erc20/drops/write/setClaimConditions.ts`, `packages/thirdweb/src/extensions/erc20/drops/write/claimTo.ts`, `packages/thirdweb/src/extensions/erc1155/drops/read/getClaimConditions.ts`, `packages/thirdweb/src/extensions/erc1155/drops/write/resetClaimEligibility.ts`, `packages/thirdweb/src/extensions/erc1155/__generated__/IDrop1155/read/claimCondition.ts`, `packages/thirdweb/src/extensions/erc1155/drop1155.test.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->