hedera-services icon indicating copy to clipboard operation
hedera-services copied to clipboard

TSS-Ledger-ID: Conditional TSS Candidate Roster Adoption

Open edward-swirldslabs opened this issue 7 months ago • 7 comments

### Implementation
- [ ] Create TSS related system transaction and state protobufs
- [ ] Create the TSS related State using the protobuf definitions and unit test the API.
- [ ] Performance Test platform usage of TSS-Library using state data structures, without components, nodes or gossip.
- [ ] Create `TssMessageCreator` and unit test with mocked input
- [ ] Create `TssMessageValidator` validation behavior and unit test with mocked input
- [ ] Create `TssMessageValidator` voting behavior and unit test with mocked input
- [ ] Create `TssKeyManager` and unit test with mocked input.
- [ ] Create `TssStateManager` system transaction handlers and unit test with mocked input.
- [ ] Create feature flag for TSS-Ledger-ID capability, default to off
- [ ] Create `TssStateManager` startup candidate roster adoption logic and unit test
- [ ] Wire TSS Components together, gated by the TSS-Ledger-ID feature flag.
- [ ] Create Metrics for TssMessageTransaction, TssVoteTransaction, and any others required
- [ ] HAPI Integration Test: Ledger ID Creation On Existing Network, Multiple Upgrades
- [ ] Adversarial Stress Testing of Capability
- [ ] Deploy TSS-Ledger-ID capability, set feature flag to default on.
- [ ] Cleanup Migration Code, remove feature flag

edward-swirldslabs avatar Aug 01 '24 17:08 edward-swirldslabs