From 1c11b761ee1f9d5f57d9607bbcdaeb0b5bdee431 Mon Sep 17 00:00:00 2001 From: Daniel Cogan Date: Wed, 5 Jun 2024 12:29:11 -0400 Subject: [PATCH] Show verified checkmark when selecting asset and sort by verified (#4993) --- ironfish-cli/src/utils/asset.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ironfish-cli/src/utils/asset.ts b/ironfish-cli/src/utils/asset.ts index 57280dc0a5..8cebae636b 100644 --- a/ironfish-cli/src/utils/asset.ts +++ b/ironfish-cli/src/utils/asset.ts @@ -129,20 +129,35 @@ export async function selectAsset( balances = balances.filter((balance) => filter(assetLookup[balance.assetId])) } + // Show verified assets at top of the list + balances = balances.sort((asset1, asset2) => { + const verified1 = assetLookup[asset1.assetId].verification.status === 'verified' + const verified2 = assetLookup[asset2.assetId].verification.status === 'verified' + if (verified1 && verified2) { + return 0 + } + + return verified1 ? -1 : 1 + }) + const choices = balances.map((balance) => { + const asset = assetLookup[balance.assetId] + const assetName = BufferUtils.toHuman(Buffer.from(assetLookup[balance.assetId].name, 'hex')) + const assetNameWithVerification = renderAssetWithVerificationStatus(assetName, asset) const renderedAvailable = CurrencyUtils.render( balance.available, false, balance.assetId, - assetLookup[balance.assetId].verification, + asset.verification, ) - const name = `${balance.assetId} (${assetName}) (${renderedAvailable})` + + const name = `${balance.assetId} (${assetNameWithVerification}) (${renderedAvailable})` const value = { id: balance.assetId, - name: assetLookup[balance.assetId].name, + name: asset.name, } return { value, name }