Voting + ProposalFactory
The Voting + ProposalFactory system enables structured, enforceable governance within the TRN ecosystem. It ensures all significant changes to platform rules, DAO allocations, vault behaviors, and moderation policies are transparently proposed, reviewed, and ratified through multi-layer consensus — involving CouncilNFT, MasterNFT, and TRN-based public voting.
🔧 ProposalFactory Overview
ProposalFactory
is the smart contract that acts as the entry point for all governance proposals.
🔐 Key Functions:
Create Proposal: Any wallet can submit a new governance proposal via the factory contract.
Proposal Types:
Vault parameter changes
TRNUsageOracle rule adjustments
Boosting logic updates
Moderation flag threshold changes
AMM tuning or limits
DAO allocation rules
Fee Enforcement: Creating a proposal may require a TRN fee (burned or sent to the DAO). The value is configurable by DAO settings.
Routing: All proposals are routed through the CouncilNFT → MasterNFT → Public Voting pipeline.
📜 Proposal Lifecycle
Every proposal follows a strict on-chain path before being approved or rejected:
Submission
Anyone may submit a proposal via ProposalFactory
.
Council Review
A quorum of CouncilNFT holders must vote to approve or reject.
Master Review
MasterNFT holder may veto within a limited window.
Public Vote
If not vetoed, the proposal enters public vote.
Execution
If passed, the logic is executed immediately or scheduled into a future block.
🧮 Voting Mechanics
Voting on proposals is TRN-based and permissionless.
Eligibility: Any wallet can vote on approved proposals.
Cost: 1 TRN per vote — non-refundable.
Vote Weight: Equal weight per TRN. No vote delegation or locking is required.
Finality: Once votes are cast, they cannot be reversed. Voter TRN is burned or transferred to the DAO vault (TBD confirmed as DAO-bound).
Visibility: All proposal status, vote counts, and TRN burned per proposal are stored and queryable on-chain.
⛓️ Execution Rules
Proposals must specify execution type: immediate (on pass) or delayed (e.g. config change post-Merkle cycle).
On execution:
Parameter updates are routed to appropriate contracts (e.g.
DailyVaultSplitter
,BoostingModule
,StabilityVault
).New vault rules are enforced in the next day’s Merkle batch.
Flag thresholds or moderation logic updates are reflected in the
FlagEscalator
orBurnRegistry
.
🔍 Examples
Increase post view price from 1 TRN to 1.5 TRN
✅ Yes
Sent to TRNUsageOracle
Add new Lotto reward multiplier for Curators
✅ Yes
Sent to LottoModule
Change DAO vault split from 10% to 12%
✅ Yes
Sent to DailyVaultSplitter
Block specific CID pattern from all feeds
❌ No (Master NFT)
Handled via GeoOracle
+ CountryRulesetManager
⚖️ Safeguards & Fail-safes
CouncilNFT Approval
Prevents spam or malicious proposals from advancing
MasterNFT Veto Window
Final override for critical security events
Public Vote Burn Mechanic
Disincentivizes vote spam — TRN must be sacrificed to vote
Execution Delay Logic
For sensitive parameters, execution may be delayed until Merkle alignment
Proposal Rejection Logging
Rejected proposals remain indexed for DAO audit and historical review
🔐 Immutable Ledger
Every proposal:
Has a permanent hash + metadata entry in the proposal ledger.
Tracks creator, stage, current votes, executed outcome, and TRN cost to vote.
Ensures no hidden or backdoor changes can occur.
All execution scripts, logic hashes, and contract mutations are published to IPFS or similar immutable storage and referenced via the proposal metadata.
🧩 Linked Modules
This system integrates directly with:
CouncilNFT.sol
MasterNFT.sol
ProposalFactory.sol
GovernanceRouter.sol
VotingLedger.sol
TRNUsageOracle.sol
VaultSplitter*
FlagEscalator.sol
BurnRegistry.sol
LottoModule.sol
GeoOracle.sol
🧠 Design Philosophy
Economic Accountability: TRN-burning enforces real economic cost for participation.
Transparent Governance: All proposals and votes are public, final, and recorded.
Decentralized Execution: Power is layered — council filters, master protects, users decide.
No Delegation, No Locking: One token = one decision. No complexity for users to participate.
Last updated