From 7bdb410b5d3a8cb86fb047e6b30fc3a61503aa90 Mon Sep 17 00:00:00 2001 From: sowle Date: Mon, 27 Feb 2023 15:36:58 +0100 Subject: [PATCH] is_out_to_acc: handling of non-blinded native assets id added --- src/currency_core/currency_format_utils.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/currency_core/currency_format_utils.cpp b/src/currency_core/currency_format_utils.cpp index 2d2a3be1..44136547 100644 --- a/src/currency_core/currency_format_utils.cpp +++ b/src/currency_core/currency_format_utils.cpp @@ -2671,10 +2671,17 @@ namespace currency if (A_prime != crypto::point_t(zo.amount_commitment).modify_mul8()) return false; - asset_id_blinding_mask = crypto::hash_helper_t::hs(CRYPTO_HDS_OUT_ASSET_BLINDING_MASK, h); // f = Hs(domain_sep, d, i) - - crypto::point_t asset_id = blinded_asset_id - asset_id_blinding_mask * crypto::c_point_X; // H = T - s * X - decoded_asset_id = asset_id.to_public_key(); + if (blinded_asset_id == currency::native_coin_asset_id_pt) + { + asset_id_blinding_mask = 0; + decoded_asset_id = currency::native_coin_asset_id; + } + else + { + asset_id_blinding_mask = crypto::hash_helper_t::hs(CRYPTO_HDS_OUT_ASSET_BLINDING_MASK, h); // f = Hs(domain_sep, d, i) + crypto::point_t asset_id = blinded_asset_id - asset_id_blinding_mask * crypto::c_point_X; // H = T - s * X + decoded_asset_id = asset_id.to_public_key(); + } return true; }