Description:
Governance::execute validates votes, enforces timelock, marks executed = true, and emits an event. It never actually decodes or dispatches calldata to any target contract. Proposals are therefore symbolic — they cannot update LTV ratios, change oracle weights, or trigger any on-chain state change.
Expected behaviour:
Define a structured Action enum (e.g., UpdateLTV { new_max: u32 }, UpdateOracleWeight { oracle: Address, weight: u32 }). execute should decode calldata into an Action and make the appropriate cross-contract call.
Labels: enhancement, contracts, governance, high-priority
Description:
Governance::executevalidates votes, enforces timelock, marksexecuted = true, and emits an event. It never actually decodes or dispatchescalldatato any target contract. Proposals are therefore symbolic — they cannot update LTV ratios, change oracle weights, or trigger any on-chain state change.Expected behaviour:
Define a structured
Actionenum (e.g.,UpdateLTV { new_max: u32 },UpdateOracleWeight { oracle: Address, weight: u32 }).executeshould decodecalldatainto anActionand make the appropriate cross-contract call.Labels:
enhancement,contracts,governance,high-priority