feat: enable sending ERC1155 NFTs from the NFT details screen#27800
Conversation
OGPoyraz
left a comment
There was a problem hiding this comment.
I appreciate adding a recording to initiate ERC1155 send directly from the asset page. Can we also add full send flow example as well? (Click send from home screen, pick ERC1155 and confirm)
832055d
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
SmokeConfirmations is the primary tag because:
SmokeWalletPlatform was considered but not selected because:
No performance tests needed - changes are UI skeleton loading states and bug fixes, not performance-sensitive code paths. Performance Test Selection: |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
|
✅ E2E Fixture Validation — Schema is up to date |
|




Description
ERC1155 NFTs were not sendable from the NFT details screen because the
isTradableguard only allowedERC721tokens, even though the underlying send flow already supports ERC1155.This PR:
NftDetailsby extendingisTradableto accept bothERC721andERC1155standards whenisCurrentlyOwnedis true.useEVMNftsasynchronously processes the NFT (resolves IPFS image URLs, fetches ERC1155 balance, computesnetworkBadgeSource). Without this, the screen briefly shows0 units availableand no image before the data arrives.StyledButtonwithButtonfrom@metamask/design-system-react-nativeon the NFT details send button, using its built-inisLoadingandisDisabledprops to give feedback during the network-switch step.The loading state is propagated through
useEVMNfts→useRouteParams→Amount, keeping the data flow explicit and avoiding any inference from data absence (which would cause the skeleton to hang if the NFT is not found).Changelog
CHANGELOG entry: Added support for sending ERC1155 NFTs from the NFT details screen
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2908
Manual testing steps
Screenshots/Recordings
Before
After
Screen.Recording.2026-03-23.at.14.04.49.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Moderate risk because it changes send entry conditions and refactors
useEVMNftsto be async with a new loading state that affects multiple send screens; bugs could block NFT selection/sending or cause incorrect asset resolution.Overview
Enables sending owned ERC1155 NFTs from
NftDetailsby widening the tradable guard to includeERC1155(in addition toERC721) and updating the Send CTA to use the design-systemButton.Improves Send Amount UX while NFT data resolves by adding an
isLoadingstate touseEVMNfts, plumbing it throughuseRouteParams, and showing skeleton placeholders (including balance) on theAmountscreen.Tightens NFT resolution for send navigation by matching NFTs by
address+chainId+tokenId(important for ERC1155), and updates mocks/snapshots/tests accordingly (including an ERC721 mock and new loading/error-path coverage).Written by Cursor Bugbot for commit 068ef91. This will update automatically on new commits. Configure here.