pub fn add_block(
        self,
        block: impl Borrow<Block>,
        utxos: &HashMap<transparent::OutPoint, transparent::Utxo>,
    ) -> Result<ValueBalance<NonNegative>, ValueBalanceError> {
        let chain_value_pool_change = block.borrow().chain_value_pool_change(utxos)?;

        self.add_chain_value_pool_change(chain_value_pool_change)
    }
/// Return the sum of the chain value pool change from `block`, and this value balance.
///
/// `utxos` must contain the [`Utxo`]s of every input in this block,
/// including UTXOs created by earlier transactions in this block.
///
/// "If any of the "Sprout chain value pool balance", "Sapling chain value pool balance",
/// or "Orchard chain value pool balance" would become negative in the block chain created
/// as a result of accepting a block, then all nodes MUST reject the block as invalid.
///
/// Nodes MAY relay transactions even if one or more of them cannot be mined due to the
/// aforementioned restriction."
///
/// https://zips.z.cash/zip-0209#specification
///
/// Zebra also checks that the transparent value pool is non-negative,
/// which is a consensus rule derived from Bitcoin.
///
/// Note: the chain value pool has the opposite sign to the transaction
/// value pool.
///
/// See [`Block::chain_value_pool_change`] for details.
Return the sum of the chain value pool change from `block`, and this value balance.
`utxos` must contain the [`Utxo`]s of every input in this block,
including UTXOs created by earlier transactions in this block.



Nodes MAY relay transactions even if one or more of them cannot be mined due to the
aforementioned restriction."



Zebra also checks that the transparent value pool is non-negative,
which is a consensus rule derived from Bitcoin.

the chain value pool has the opposite sign to the transaction
value pool.

See [`Block::chain_value_pool_change`] for details.
Return the sum of the chain value pool change from ` block ` and this value balance . ` utxos ` must contain the [ ` Utxo ` ] s of every input in this block including UTXOs created by earlier transactions in this block . Nodes MAY relay transactions even if one or more of them cannot be mined due to the aforementioned restriction . " Zebra also checks that the transparent value pool is non - negative which is a consensus rule derived from Bitcoin . the chain value pool has the opposite sign to the transaction value pool . See [ ` Block :: chain_value_pool_change ` ] for details .
pub fn add_block(
        self,
        block: impl Borrow<Block>,
        utxos: &HashMap<transparent::OutPoint, transparent::Utxo>,
    ) -> Result<ValueBalance<NonNegative>, ValueBalanceError> {
        let chain_value_pool_change = block.borrow().chain_value_pool_change(utxos)?;
        self.add_chain_value_pool_change(chain_value_pool_change)
    }
pub fn add_block ( self , block : impl Borrow < Block > , utxos : & HashMap < transparent :: OutPoint , transparent :: Utxo > , ) -> Result < ValueBalance < NonNegative > , ValueBalanceError > { let chain_value_pool_change = block . borrow ( ) . chain_value_pool_change ( utxos ) ? ; self . add_chain_value_pool_change ( chain_value_pool_change ) }
Return the sum of the chain value pool change from `block`, and this value balance.
Return the sum of the chain value pool change from ` block ` and this value balance .
self
block
impl Borrow<Block>
utxos
&HashMap<transparent::OutPoint, transparent::Utxo>