diff --git a/miniapps/forge/src/App.stories.tsx b/miniapps/forge/src/App.stories.tsx index 4466cfafc..384c3c9a0 100644 --- a/miniapps/forge/src/App.stories.tsx +++ b/miniapps/forge/src/App.stories.tsx @@ -258,16 +258,16 @@ export const TokenPicker: Story = { await userEvent.click(canvas.getByRole('button', { name: /连接钱包/i })) - // Wait for token selector button + // Wait for token selector button (BSC/BNB is now first due to chain ordering) await waitFor( () => { - expect(canvas.getByText('ETH')).toBeInTheDocument() + expect(canvas.getByText('BNB')).toBeInTheDocument() }, { timeout: 5000 } ) // Click token selector to open picker - const tokenButton = canvas.getAllByRole('button').find((btn) => btn.textContent?.includes('ETH')) + const tokenButton = canvas.getAllByRole('button').find((btn) => btn.textContent?.includes('BNB')) if (tokenButton) { await userEvent.click(tokenButton) } diff --git a/miniapps/forge/src/hooks/useRechargeConfig.test.ts b/miniapps/forge/src/hooks/useRechargeConfig.test.ts index 515a70a91..7d66e27fd 100644 --- a/miniapps/forge/src/hooks/useRechargeConfig.test.ts +++ b/miniapps/forge/src/hooks/useRechargeConfig.test.ts @@ -88,16 +88,17 @@ describe('useRechargeConfig', () => { const options = result.current.forgeOptions expect(options).toHaveLength(2) // ETH and BSC enabled, TRON disabled + // Chain order: BSC -> TRON -> ETH expect(options[0]).toMatchObject({ - externalChain: 'ETH', - externalAsset: 'ETH', + externalChain: 'BSC', + externalAsset: 'BNB', internalChain: 'bfmeta', internalAsset: 'BFM', }) expect(options[1]).toMatchObject({ - externalChain: 'BSC', - externalAsset: 'BNB', + externalChain: 'ETH', + externalAsset: 'ETH', internalChain: 'bfmeta', internalAsset: 'BFM', }) diff --git a/miniapps/forge/src/hooks/useRechargeConfig.ts b/miniapps/forge/src/hooks/useRechargeConfig.ts index 0015b0bf4..5a732b3fb 100644 --- a/miniapps/forge/src/hooks/useRechargeConfig.ts +++ b/miniapps/forge/src/hooks/useRechargeConfig.ts @@ -27,6 +27,9 @@ export interface ForgeOption { logo?: string } +/** Chain display order: BSC -> TRON -> ETH */ +const CHAIN_ORDER: Record = { BSC: 1, TRON: 2, ETH: 3 } + /** * Parse recharge config to forge options */ @@ -52,6 +55,9 @@ function parseForgeOptions(config: RechargeConfig): ForgeOption[] { } } + // Sort by chain order: BSC -> TRON -> ETH + options.sort((a, b) => (CHAIN_ORDER[a.externalChain] ?? 99) - (CHAIN_ORDER[b.externalChain] ?? 99)) + return options }