feat(dao-config): Phase 4 prerequisite fields + ScriptRefs
DaoConfig gains optional fields for Phase 4 (proposal_create) work:
- proposal_addr — proposal validator address (bech32)
- stake_st_policy — StakeST minting policy id (56 hex)
- proposal_st_policy — ProposalST minting policy id (56 hex)
- script_refs — cached reference UTxO refs for each Agora script
(governor / stake / proposal / treasury validators
+ stake_st / proposal_st minting policies)
All fields optional with serde defaults so existing configs keep loading.
Will be populated by upcoming `dao_discover_scripts` MCP tool that audits
on-chain state under a known governor_addr.
Test fixture also corrected: stakes_addr now uses Sulkta's real per-DAO
parameterized stake-validator address (`addr1w8msu7p...`) instead of the
shared MLabs deployer (`addr1w9gexmeunzsy...`) — matches audit findings.
aldabra-mcp dao_register tool initializes new optionals to None so
DaoConfig construction stays explicit.
This commit is contained in:
parent
0ef4730dbb
commit
7316eed248
2 changed files with 60 additions and 2 deletions
|
|
@ -30,7 +30,7 @@ use std::sync::Arc;
|
|||
|
||||
use aldabra_chain::{ChainBackend, KoiosClient};
|
||||
use aldabra_dao::agora::stake::Credential as DaoCredential;
|
||||
use aldabra_dao::config::{DaoConfig, DaoNetwork, DaoStore};
|
||||
use aldabra_dao::config::{DaoConfig, DaoNetwork, DaoStore, ScriptRefs};
|
||||
use aldabra_dao::reader::{DaoReader, KoiosDaoReader};
|
||||
use aldabra_core::plutus_cost_models::PLUTUS_V3_COST_MODEL_PREPROD;
|
||||
use aldabra_core::{
|
||||
|
|
@ -1340,6 +1340,12 @@ impl WalletService {
|
|||
Some("preview") => DaoNetwork::Preview,
|
||||
_ => DaoNetwork::Mainnet,
|
||||
},
|
||||
// Optional discovery fields — populated by `dao_discover_scripts`
|
||||
// after registration.
|
||||
proposal_addr: None,
|
||||
stake_st_policy: None,
|
||||
proposal_st_policy: None,
|
||||
script_refs: ScriptRefs::default(),
|
||||
};
|
||||
self.inner
|
||||
.dao_store
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue