Normal behavior: According to the About section, any account holding the SIGNING_ROLE is expected to be able to propose new transactions. The documentation explicitly states that transaction proposal permissions are tied to the signer role, allowing signers to independently initiate proposals as part of the multisig workflow.
Problem: In the actual implementation, proposeTransaction is restricted by the onlyOwner modifier, preventing signers (who are not the owner) from proposing transactions. As a result, signers cannot perform an action that is explicitly described as part of their role in the documentation, creating a mismatch between documented behavior and contract logic.
Likelihood:
This behavior occurs whenever a non-owner signer attempts to propose a transaction, as proposeTransaction is unconditionally restricted by onlyOwner in the implementation.
The mismatch is deterministic and affects all signer accounts by design, since the documented signer permissions are never actually granted in the contract logic.
Impact:
Signers are unable to perform an action explicitly described as part of their role, leading to confusion and incorrect assumptions about the multisig’s governance model.
Users and integrators relying on the documentation may incorrectly assume decentralized proposal capabilities, while in practice transaction initiation is centralized under the owner.
Either update the documentation to reflect that only the owner can propose transactions, or
align implementation with documentation by allowing signers to propose (replace onlyOwner with onlyRole(SIGNING_ROLE) on proposeTransaction, or permit both owner and signers).
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.