Wide sweep across the codebase to remove leftover artifacts of internal
development sessions, internal entity naming, and audit-code references
that point at non-public docs. The technical reasoning for each piece
of code stays; the "Caught 2026-05-XX while debugging XYZ at preprod"
narrative goes.
Categories scrubbed:
- Dated session-log comments ("Caught/Surfaced/Discovered 2026-05-XX")
→ rewritten as neutral technical reasoning.
- Internal audit codes (AUDIT-H2, AUDIT-C2, AUDIT-M2, AUDIT-H5, etc.)
referencing a non-public audit doc → labels stripped, fix reasoning
kept.
- Internal-entity names in code comments (Sulkta-specific, Sulkta runs
X, Terrapin/TRP as gov-token names) → generic phrasing.
- Test fixture helper `sulkta_cfg` → `test_dao_cfg`; test DAO name
string `"sulkta"` → `"test-dao"`. On-chain addresses in test fixtures
kept (they're real-world wire-byte test data on public chain).
- Cross-references to memory files / non-public audit docs
(`internal notes`, `aiken-escrow/README.md`)
→ reasoning inlined or removed.
- Test names renamed: `decodes_sulkta_live_governor_datum` →
`decodes_live_governor_datum`, `decodes_sulkta_live_proposal_zero` →
`decodes_live_finished_proposal`, etc.
Kept (legitimate):
- Cross-references to in-repo audit docs (aiken-escrow/README.md, aiken-escrow/README.md) — they ARE the
public artifacts being referenced.
- HIGH-1/HIGH-2/MED-2/LOW labels on escrow fixes — these correspond to
findings in the in-repo audit doc.
- TODO markers — legitimate work-still-to-do.
36 lines
1.3 KiB
Rust
36 lines
1.3 KiB
Rust
//! aldabra-dao — Agora-on-Cardano DAO interaction.
|
|
//!
|
|
//! Native client for any [Agora](https://github.com/Liqwid-Labs/agora)
|
|
//! deployment on Cardano. Multi-DAO from day one — Sulkta DAO, Bob's
|
|
//! DAO, and Alice's DAO are all first-class, configured per-instance
|
|
//! at `$ALDABRA_DATA/daos/<name>.json`.
|
|
//!
|
|
//! ## Surface
|
|
//!
|
|
//! - [`config`] — per-DAO config files + active-DAO selector.
|
|
//! - [`agora`] — Plutarch datum/redeemer type ports with PlutusData
|
|
//! encode/decode.
|
|
//! - [`reader`] — Koios-backed state queries (governor, stakes,
|
|
//! proposals).
|
|
//! - [`builder`] — Plutus tx assembly per operation (stake_create,
|
|
//! proposal_vote, etc).
|
|
//! - [`error::DaoError`] — crate-internal error type.
|
|
//!
|
|
//! ## What this crate is NOT
|
|
//!
|
|
//! - Not a key store. Signing is delegated to `aldabra-core`.
|
|
//! - Not an MCP server. The `dao_*` tools that wrap these primitives
|
|
//! live in `aldabra-mcp`.
|
|
//! - Not specific to any single DAO. Every per-DAO value (governance
|
|
//! token policy, governor / stakes / treasury addresses, etc.) comes
|
|
//! from a [`config::DaoConfig`] loaded at runtime, never compile-time.
|
|
|
|
pub mod agora;
|
|
pub mod builder;
|
|
pub mod config;
|
|
pub mod discovery;
|
|
pub mod error;
|
|
pub mod reader;
|
|
|
|
pub use config::{ActiveDao, DaoConfig, DaoStore};
|
|
pub use error::DaoError;
|