feat: Add MPToken issuance destroy and set features#440
Open
RomThpt wants to merge 5 commits intoGemWallet:masterfrom
Open
feat: Add MPToken issuance destroy and set features#440RomThpt wants to merge 5 commits intoGemWallet:masterfrom
RomThpt wants to merge 5 commits intoGemWallet:masterfrom
Conversation
Add TanStack Query (React Query) to improve data fetching performance and user experience by caching account balance data across page navigations. Changes: - Add @tanstack/react-query dependency - Create QueryContext with QueryClientProvider and sensible defaults - Add useAccountBalances hook for cached balance fetching - Refactor TokenListing to use the new cached hook - Update TokenListing tests to work with QueryClient
Add support for displaying Multi-Purpose Tokens (MPT) in the wallet's tokens page with metadata support following XLS-89 specification. Changes: - Add MPToken types for XLS-89 metadata structure - Add fetchMPTokenData utility for fetching and parsing MPToken data - Create MPTokenDisplay molecule for individual token rendering - Create MPTokenListing organism for listing all MPTokens - Integrate MPTokenListing into TokenListing component - Add MPTOKEN_REMOVE_PATH constant (for future PR) Features: - Display ticker, name, icon from token metadata - Format balance using AssetScale from issuance - Show issuer name with truncation and tooltips - Support remove button for zero-balance tokens (requires authorization PR)
Add ability to authorize (hold) and revoke MPTokens via the UI. Changes: - Add addMPTokenAuthorization and removeMPTokenAuthorization to LedgerContext - Create AddMPToken page for authorizing new MPTokens by issuance ID - Create MPTokenRemove page for revoking MPToken authorization - Add routes for /add-mptoken and /mptoken-remove - Update ledger context mock for tests The MPTokenAuthorize transaction allows users to: - Hold a new MPToken by providing the MPTokenIssuanceID - Remove authorization when balance is 0
Add ability for users to create their own MPToken issuances (issue new tokens on XRPL). Changes: - Add createMPTokenIssuance function to LedgerContext - Create CreateMPTokenIssuance page with form for: - Asset scale (decimal places) - Maximum amount (supply cap) - Transfer fee percentage - XLS-89 metadata (JSON format) - Token capability flags (transfer, trade, escrow, lock, clawback, etc.) - Add route for /create-mptoken-issuance - Update mock for tests This allows token issuers to create new MPToken issuances with full control over token properties and capabilities.
- Add destroyMPTokenIssuance function to LedgerContext - Add setMPTokenIssuance function to LedgerContext for lock/unlock - Create MPTokenIssuanceDestroy page component - Create MPTokenIssuanceSet page component with lock/unlock UI - Add routes and path constants for new pages - Update mock context
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
destroyMPTokenIssuancefunction to destroy MPToken issuances when supply is zerosetMPTokenIssuancefunction to lock/unlock tokens for specific holdersChanges
LedgerContext
MPTokenIssuanceDestroyResponseandMPTokenIssuanceSetResponseinterfacesMPTokenIssuanceSetParamsinterface withmptIssuanceId,holder, andflagsfieldsdestroyMPTokenIssuancefunction for MPTokenIssuanceDestroy transactionsetMPTokenIssuancefunction for MPTokenIssuanceSet transaction (lock/unlock)New Pages
Routes & Constants
DESTROY_MPTOKEN_ISSUANCE_PATHandSET_MPTOKEN_ISSUANCE_PATHconstantsDependencies
This PR depends on:
Test plan