plutus_mint: thread additional_signers into tx body's required_signers
On Babbage+, Plutus's TxInfo.signatories is populated only from the tx body's required_signers field — vkey witnesses alone don't surface in the script context. Without this, any Agora script that calls pauthorizedBy/txSignedBy fails. Stake-bootstrap on preprod erred because the owner pkh wasn't in signatories despite the wallet signing the tx. MCP layer always passes [wallet_pkh]; callers can append cosigner pkhs for multi-sig flows.
This commit is contained in:
parent
1e20b71cc9
commit
6fa93a3c68
2 changed files with 21 additions and 0 deletions
|
|
@ -1654,6 +1654,8 @@ impl WalletService {
|
|||
}
|
||||
};
|
||||
|
||||
let wallet_pkh = self.inner.payment_key.public_key_hash();
|
||||
let signers = [wallet_pkh];
|
||||
let core_args = CorePlutusMintArgs {
|
||||
required_inputs: &required,
|
||||
policy_cbor: &policy_cbor,
|
||||
|
|
@ -1665,6 +1667,7 @@ impl WalletService {
|
|||
dest_lovelace,
|
||||
dest_extra_assets: &core_extras,
|
||||
dest_inline_datum_cbor: datum_bytes.as_deref(),
|
||||
additional_signers: &signers,
|
||||
};
|
||||
|
||||
let unsigned = build_unsigned_plutus_mint(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue