MultiSigTimelock::proposeTransaction is restricted to the owner, preventing signers from proposing transactions.Any account with the SIGNING_ROLE should be able to propose new transactions, allowing equal participation of all signers in the multisig governance flow.
Only the owner can propose transactions, as the proposeTransaction() function is protected with onlyOwner, preventing other signers from initiating proposals despite having the signing role.
Likelihood: Medium
The behavior occurs whenever a signer who is not the owner tries to propose a transaction.
The contract enforces this flow systematically via onlyOwner, with no alternative configuration.
Impact: Medium
Centralizes proposal creation to a single address, reducing the decentralization of the multisig.
Allows censorship of legitimate proposals by the owner, weakening the described governance model.
This test demonstrates that, even with the signer role, an account that is not the owner cannot propose a transaction, as the function is restricted with onlyOwner.
Allow any account with the SIGNING_ROLE to propose transactions, aligning contract behavior with the documented governance model.
Replacing onlyOwner with onlyRole(SIGNING_ROLE) removes unnecessary centralization and ensures all signers can participate in the proposal process.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.