The job of the testing tool would be to simulate multiple participants in a TSS protocol, since a single participant cant do much without messages from other participants.
Key details about the tools:
It should be flexible, so that it can be used by all TSS tests
We should be able to specify which participants will be doing what. We might optimize for shorter tests by not simulating all participants fully, or test absent participants.
It should support concurrent execution for CPU intensive stages.
This tools should be fully deterministic
It should support inserting bad participants
It should do the following tasks:
Generating or taking as input a participant directory
Generating or loading encryption keys for participants
Executing TSS message generation on specified participants
Distributing TSS messages
Executing the TSS message crunching (obtaining shares and ledger)
Using the data obtained from participants for validation
The job of the testing tool would be to simulate multiple participants in a TSS protocol, since a single participant cant do much without messages from other participants.
Key details about the tools: