diff --git a/src/currency_core/currency_format_utils.h b/src/currency_core/currency_format_utils.h index cef2f29a..fa269eaa 100644 --- a/src/currency_core/currency_format_utils.h +++ b/src/currency_core/currency_format_utils.h @@ -368,7 +368,7 @@ namespace currency bool parse_and_validate_block_from_blob(const blobdata& b_blob, block& b); uint64_t get_inputs_money_amount(const transaction& tx); bool get_inputs_money_amount(const transaction& tx, uint64_t& money); - uint64_t get_outs_money_amount(const transaction& tx); + uint64_t get_outs_money_amount(const transaction& tx, const currency::account_keys& acc_keys_for_hidden_amounts = currency::null_acc_keys); bool check_inputs_types_supported(const transaction& tx); bool check_outs_valid(const transaction& tx); bool parse_amount(uint64_t& amount, const std::string& str_amount); diff --git a/src/currency_core/currency_format_utils_transactions.h b/src/currency_core/currency_format_utils_transactions.h index e4f16d1f..6190f19c 100644 --- a/src/currency_core/currency_format_utils_transactions.h +++ b/src/currency_core/currency_format_utils_transactions.h @@ -62,6 +62,7 @@ namespace currency bool is_multisig() const { return ms_sigs_count > 0; } bool is_zc() const { return !real_out_amount_blinding_mask.is_zero(); } bool is_native_coin() const { return asset_id == currency::native_coin_asset_id; } + uint64_t amount_for_global_output_index() const { return is_zc() ? 0 : amount; } // amount value for global outputs index, it's zero for outputs with hidden amounts BEGIN_SERIALIZE_OBJECT() FIELD(outputs)