client/wallet: remove all aggregate signer code
What
This code was unnecessary since the introduction of tz4 . It was introduced for toru rollup but was never used.
All keys created with bls gen keys will now be listed with list keys directly.
Why
Because dead code, or duplication of code is bad.
How
Remove all the code and add the necessary aggregate scheme for the signers to keep retrocompatibility.
The aggregate_signature module under Tezos_crypto is kept for now as it's deeply used by the dac node and it's less trivial to remove it.
Manually testing the MR
Try to generate 2 bls keys encrypted and unencrypted , then changes their scheme by prefixing aggregate_ and make sure they are still listed and usable to all you need.
$ ./octez-client --base-dir working_dir/octez-client --mode mockup gen keys bls1 -s bls --encrypted
$ ./octez-client --base-dir working_dir/octez-client --mode mockup gen keys bls2 -s bls
$ cat working_dir/octez-client/secret_keys
$ cat working_dir/octez-client/public_keys
$ sed -i 's/"unencrypted:BL/"aggregate_unencrypted:BL/g' working_dir/octez-client/public_key
$ sed -i 's/"unencrypted:BL/"aggregate_unencrypted:BL/g' working_dir/octez-client/secret_key
$ sed -i 's/"encrypted:BL/"aggregate_encrypted:BL/g' working_dir/octez-client/secret_key
$ cat working_dir/octez-client/secret_keys
$ cat working_dir/octez-client/public_keys
$ ./octez-client --base-dir working_dir/octez-client --mode mockup list known addresses
$ ./octez-client --base-dir working_dir/octez-client --mode mockup show address bls1 -S
$ ./octez-client --base-dir working_dir/octez-client --mode mockup show address bls2 -S
$ ./octez-client --base-dir working_dir/octez-client --mode mockup sign bytes 0x03 for bls1
$ ./octez-client --base-dir working_dir/octez-client --mode mockup sign bytes 0x03 for bls2
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Sylvain R.