feat(plutus): plutus_mint module — Plutus-policy mint with custom output
Adds aldabra-core::plutus_mint with build_signed_plutus_mint and build_unsigned_plutus_mint. Designed for Agora-style DAO bringup where every "mint a single ST token under a Plutus policy and deposit it at a script address with inline datum" tx shares the same shape (governor / stake / proposal bootstrap). PlutusMintArgs takes: - required_inputs: UTxOs that MUST be spent (e.g. gstOutRef the GST policy is parameterized on) - policy_cbor + policy_version + redeemer + ex_units - mint_assets: list of (asset_name_hex, qty) under this policy - dest_address + dest_lovelace + dest_extra_assets to forward + optional inline datum Same collateral/funding pattern as plutus.rs::build_signed_plutus_spend (smallest ADA-only ≥ 5 ADA for collateral, separate funding picks to cover dest + fee + min_change). PlutusV3 cost-model wired into language_view per the existing PLUTUS-4 fix. 3 unit tests cover empty-policy / empty-mint / required-input-not- in-available rejections + the governor-bootstrap shape produces valid Conway CBOR. This is Phase 2 of the Track B-fast preprod DAO bringup. Together with the wallet-ref-script Phase 1 commits (8b0e090+a1060b1) it gives aldabra everything needed to deploy 11 Agora script ref UTxOs + bootstrap a governor + bootstrap stakes on preprod.
This commit is contained in:
parent
a1060b13fc
commit
11848d869b
2 changed files with 919 additions and 0 deletions
|
|
@ -43,6 +43,7 @@ pub mod metadata;
|
|||
pub mod mint;
|
||||
pub mod plutus;
|
||||
pub mod plutus_cost_models;
|
||||
pub mod plutus_mint;
|
||||
pub mod sign;
|
||||
pub mod stake;
|
||||
pub mod tx;
|
||||
|
|
@ -62,6 +63,10 @@ pub use plutus::{
|
|||
build_signed_plutus_spend, looks_like_script_address, PlutusExUnits, PlutusInput,
|
||||
PlutusVersion, DEFAULT_EX_UNITS, MIN_COLLATERAL_LOVELACE,
|
||||
};
|
||||
pub use plutus_mint::{
|
||||
build_signed_plutus_mint, build_unsigned_plutus_mint, ExtraDestAsset, PlutusMintArgs,
|
||||
PlutusMintAsset,
|
||||
};
|
||||
pub use stake::{build_signed_stake_delegation, parse_pool_id, STAKE_KEY_DEPOSIT_LOVELACE};
|
||||
pub use governance::{
|
||||
build_signed_drep_deregistration, build_signed_drep_registration,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue