From 959bfa6b0d4689217c806912d150b1652dbf6fa1 Mon Sep 17 00:00:00 2001 From: Satoshi Qazi Muhammed Date: Fri, 12 Jun 2026 23:36:15 -0700 Subject: [PATCH] feat(assets): PEZ-20 badge on PEZ & USDT in token list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Show a small PEZ-20 pill next to PEZ and USDT (wUSDT) token rows in the main balance list. These are fungible assets on Pezkuwi Asset Hub — the PEZ-20 token standard. - item_token_asset.xml: add itemTokenAssetPez20 chip (gone by default). - TokenAssetViewHolder: show it when chainId == Pezkuwi Asset Hub and the symbol is PEZ/USDT/wUSDT. Additive only; native HEZ and other chains are unbadged. Consistent with the pex and Telegram mini app badges. --- .../common/holders/TokenAssetViewHolder.kt | 13 ++++++++++++- .../src/main/res/layout/item_token_asset.xml | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/presentation/balance/common/holders/TokenAssetViewHolder.kt b/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/presentation/balance/common/holders/TokenAssetViewHolder.kt index 6fa5db7..d0be618 100644 --- a/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/presentation/balance/common/holders/TokenAssetViewHolder.kt +++ b/feature-assets/src/main/java/io/novafoundation/nova/feature_assets/presentation/balance/common/holders/TokenAssetViewHolder.kt @@ -1,5 +1,6 @@ package io.novafoundation.nova.feature_assets.presentation.balance.common.holders +import androidx.core.view.isVisible import coil.ImageLoader import io.novafoundation.nova.common.list.GroupedListHolder import io.novafoundation.nova.common.presentation.masking.setMaskableText @@ -13,6 +14,11 @@ import io.novafoundation.nova.feature_assets.presentation.balance.list.model.ite import io.novafoundation.nova.feature_assets.presentation.model.AssetModel import io.novafoundation.nova.feature_wallet_api.presentation.model.maskableFiat import io.novafoundation.nova.feature_wallet_api.presentation.model.maskableToken +import io.novafoundation.nova.runtime.ext.Geneses +import io.novafoundation.nova.runtime.multiNetwork.chain.model.Chain + +// Fungible assets on Pezkuwi Asset Hub follow the PEZ-20 token standard. +private val PEZ20_SYMBOLS = setOf("PEZ", "USDT", "wUSDT") class TokenAssetViewHolder( private val binder: ItemTokenAssetBinding, @@ -31,7 +37,12 @@ class TokenAssetViewHolder( bindTotal(asset) - binder.itemTokenAssetToken.text = asset.token.configuration.symbol.value + val config = asset.token.configuration + binder.itemTokenAssetToken.text = config.symbol.value + + val isPez20 = config.chainId == Chain.Geneses.PEZKUWI_ASSET_HUB && config.symbol.value in PEZ20_SYMBOLS + binder.itemTokenAssetPez20.isVisible = isPez20 + if (isPez20) binder.itemTokenAssetPez20.text = "PEZ-20" setOnClickListener { itemHandler.assetClicked(asset.token.configuration) } } diff --git a/feature-assets/src/main/res/layout/item_token_asset.xml b/feature-assets/src/main/res/layout/item_token_asset.xml index 0abce22..77a3ff3 100644 --- a/feature-assets/src/main/res/layout/item_token_asset.xml +++ b/feature-assets/src/main/res/layout/item_token_asset.xml @@ -32,6 +32,24 @@ app:layout_constraintVertical_chainStyle="packed" tools:text="DOT" /> + +