0LNetworkCommunity/libra-framework

Error When Reducing Signatures from 3 to 2 in a Community Wallet with 3 Authorities

Closed this issue · 1 comments

Describe the bug
The user encounters an error when attempting to reduce the number of signatures from 3 to 2 for a community wallet with 3 authorities.

To Reproduce
Steps to reproduce the behavior:

  1. Create a community wallet with 3 authorities and 3 signatures
  2. Try to propose a vote to reduce to 2 signatures

Expected behavior
It should be possible to have a community wallet with 3 authorities and 2 signatures to pass a vote.

Additional context
You can create a community wallet with 3 signers and 2 signatures.
community_wallet_init::check_proposed_auths but you can't reduce from 3 to 2 signatures community_wallet_init::change_signer_community_multisig.
This issue will be fixed by #248

I initially misinterpreted the problem due to incorrect usage of an error code. I have corrected the error code usage, deduplicated the error handling code, and improved the test implementation for the community wallet. Specifically, I removed duplicate scenarios and added more tests to ensure the evaluation of the minimum number of authorities and signatures during initialization, propose offer, finalization, and modification of the community wallet.