0LNetworkCommunity / libra-framework

9 stars 32 forks source link

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

Closed soaresa closed 3 months ago

soaresa commented 3 months ago

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

soaresa commented 3 months ago

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.