Governance

The AlephGovernor contract enables on-chain governance for protocol parameter changes, upgrades, and treasury management.

Overview

Governance follows a propose-vote-execute model with a timelock for safety. ALEPH token holders can create proposals, vote, and execute approved changes.

Proposal Lifecycle

Proposed → Active (voting) → Succeeded → Queued (timelock) → Executed
                              ↘ Defeated
                              ↘ Canceled

Parameters

ParameterValueDescription
Voting Delay1 dayTime between proposal creation and voting start
Voting Period7 daysDuration of the voting window
Quorum4% of total supplyMinimum votes required for validity
Proposal Threshold100,000 ALEPHMinimum tokens to create a proposal
Timelock Delay2 daysDelay between vote success and execution

Governable Parameters

The following parameters can be changed via governance proposals:

Creating Proposals

// Create a proposal to update minimum stake
let targets = vec![staking_manager_addr];
let values = vec![0];
let calldatas = vec![
    staking_manager
        .setMinSelfStake(new_min_stake)
        .calldata()
];

let proposal_id = governor
    .propose(targets, values, calldatas, description)
    .send().await?;

Voting

// Vote on a proposal
// 0 = Against, 1 = For, 2 = Abstain
governor.castVote(proposal_id, 1).send().await?;

// Vote with reason
governor.castVoteWithReason(
    proposal_id,
    1,
    "Increasing minimum stake improves network security".into()
).send().await?;