diff --git a/crates/aldabra-core/src/plutus_mint.rs b/crates/aldabra-core/src/plutus_mint.rs index aed6e88..e7b6da6 100644 --- a/crates/aldabra-core/src/plutus_mint.rs +++ b/crates/aldabra-core/src/plutus_mint.rs @@ -193,11 +193,13 @@ fn hash_to_hex_32(h: &[u8; 32]) -> String { // Generous overhead for the vkey witness + redeemer ex_units inflation + // CBOR length-prefix flips between unsigned (def-length) and signed -// (indef-length) array tags. Original 128 underbid by ~144 bytes on a +// (indef-length) array tags. Original 128 underbid by 144 bytes on a // 3-input + inline-V2-policy mint (preprod_test2 governor bootstrap -// 2026-05-08, FeeTooSmallUTxO @ 6353 lovelace short). 256 is plenty -// for any single-vkey signing case. -const WITNESS_OVERHEAD_BYTES: u64 = 256; +// 2026-05-08, FeeTooSmallUTxO @ 6353 lovelace short). Bumping to 256 +// got within 16 bytes on retry — still rejected. 512 is generous head- +// room for any single-vkey case (~+22k lovelace overestimate worst-case, +// trivial); reconsider for multi-sig where many vkey witnesses are added. +const WITNESS_OVERHEAD_BYTES: u64 = 512; /// Build + sign a Plutus-policy mint with a fully-specified output. ///