fix(core): bump WITNESS_OVERHEAD_BYTES from 256 to 512
256 still underbid by ~16 bytes (721 lovelace) on the same preprod_test2 governor mint shape that 128 missed by 144 bytes. The actual CBOR delta between the unsigned tx (def-length witness set arrays, no vkey witness, no redeemer expansion) and the signed tx (indef-length flips, vkey witness, finalized redeemer) is ~270 bytes for this shape, not the 144 the first FeeTooSmallUTxO suggested. 512 gives plenty of headroom — worst-case ~22k lovelace overestimate which is trivial. For multi-sig flows with N vkey witnesses, this needs revisiting; plutus_mint's only signer today is the wallet's own payment key so a single-vkey budget is correct.
This commit is contained in:
parent
4472007dae
commit
fbc4955c1d
1 changed files with 6 additions and 4 deletions
|
|
@ -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.
|
||||
///
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue