Skip to main content

shielding_many_transparent_utxos

Function shielding_many_transparent_utxos 

Source
pub fn shielding_many_transparent_utxos<DSF>(dsf: DSF, cache: impl TestCache)
where DSF: DataStoreFactory,
Available on crate feature transparent-inputs and (crate features test-dependencies) only.
Expand description

Regression test for PRO-291: shielding a transparent balance composed of many P2PKH UTXOs must not fail with ChangeRequired due to fee disagreement between the proposal and builder layers.

At 150 P2PKH inputs the proposal-time fee computation (which uses STANDARD_P2PKH = 150 bytes per input) starts to diverge from the builder-time fee computation (which historically used the actual serialized size, 149 bytes per input) due to the ceildiv(t_in_total_size, 150) term in the ZIP 317 fee formula. The discrepancy grows by one logical action (5000 zats) for every additional 150 inputs.