nethermind
nethermind copied to clipboard
Implement Shutter on Gnosis Chain
Changes
- Block production for Shutter transactions
- Fetching logs from events
- Receiving decryption keys from Keyper p2p network
- Get eon information from contracts
- Check validator registration
Types of changes
What types of changes does your code introduce?
- [ ] Bugfix (a non-breaking change that fixes an issue)
- [x] New feature (a non-breaking change that adds functionality)
- [ ] Breaking change (a change that causes existing functionality not to work as expected)
- [ ] Optimization
- [x] Refactoring
- [ ] Documentation update
- [ ] Build-related changes
- [ ] Other: Description
Todo
- [x] Refactor as Shutter plugin instead of AuRa #7307
- [x] Retrieve logs on new block and store #7310
- [x] Shutter block improvement
- [ ] Improve unit tests, add E2E test
- [ ] Add metrics
- [ ] (LibP2P) Implement basic peer discovery
- [ ] (LibP2P) Investigate ARM connection issues
- [ ] (LibP2P) Should not need
EnablePreviewFeatures
- [ ] (bls-bindings) Audit bindings code
Testing
Requires testing
- [x] Yes
- [ ] No
If yes, did you write tests?
- [x] Yes
- [ ] No
Documentation
Requires documentation update
- [x] Yes
- [ ] No
Requires explanation in Release Notes
- [x] Yes
- [ ] No
SequencerContract cannot search through all blocks all the time.
Overall too much LINQ, multiple enumerations in many places. Please make private things private.
There were quite a few places I used internal
and InternalsVisibleTo with the intention of adding unit tests for them - do you think I should remove this and do it some other way?