Эх сурвалжийг харах

app/drk: filter out unaliased token balances

x 1 долоо хоног өмнө
parent
commit
395eb4b384

+ 9 - 3
bin/app/src/plugin/drk.rs

@@ -39,8 +39,8 @@ use darkfi::{
     Error as DarkFiError, Result as DarkFiResult,
 };
 use darkfi_money_contract::{
-    model::TokenId, MONEY_CONTRACT_COIN_MERKLE_TREE, MONEY_CONTRACT_INFO_TREE,
-    MONEY_CONTRACT_LATEST_COIN_ROOT,
+    model::{TokenId, DARK_TOKEN_ID},
+    MONEY_CONTRACT_COIN_MERKLE_TREE, MONEY_CONTRACT_INFO_TREE, MONEY_CONTRACT_LATEST_COIN_ROOT,
 };
 use darkfi_sdk::crypto::{
     contract_id::MONEY_CONTRACT_ID,
@@ -326,9 +326,15 @@ impl DrkPlugin {
 
         let mut result: Vec<(String, TokenId, u64)> = Vec::new();
         for (token_id_str, balance) in balances {
-            let alias = aliases.get(&token_id_str).cloned().unwrap_or_else(|| "UNKN".to_string());
             let token_id = token_id_str.parse::<TokenId>().unwrap();
 
+            // Only DRK and tokens with an alias are exposed
+            let alias = match aliases.get(&token_id_str) {
+                Some(alias) => alias.clone(),
+                None if token_id == *DARK_TOKEN_ID => "DRK".to_string(),
+                None => continue,
+            };
+
             result.push((alias, token_id, balance));
         }