From 6df17ff78c4f78c156bbea3a9d2b4d5cf786ec72 Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 21 Jul 2021 10:53:32 +1000 Subject: [PATCH] Clarify indexes in `new_ordered_outputs` (#2510) --- zebra-chain/src/transparent/utxo.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/zebra-chain/src/transparent/utxo.rs b/zebra-chain/src/transparent/utxo.rs index cb652d50..09c287af 100644 --- a/zebra-chain/src/transparent/utxo.rs +++ b/zebra-chain/src/transparent/utxo.rs @@ -1,6 +1,6 @@ //! Unspent transparent output data structures and functions. -use std::collections::HashMap; +use std::{collections::HashMap, convert::TryInto}; use crate::{ block::{self, Block}, @@ -102,10 +102,17 @@ pub fn new_ordered_outputs( .enumerate() { let from_coinbase = transaction.is_coinbase(); - for (index, output) in transaction.outputs().iter().cloned().enumerate() { - let index = index as u32; + for (output_index_in_transaction, output) in + transaction.outputs().iter().cloned().enumerate() + { + let output_index_in_transaction = output_index_in_transaction + .try_into() + .expect("unexpectedly large number of outputs"); new_ordered_outputs.insert( - transparent::OutPoint { hash, index }, + transparent::OutPoint { + hash, + index: output_index_in_transaction, + }, OrderedUtxo::new(output, height, from_coinbase, tx_index_in_block), ); }