Draft: Chain-aware consensus implementation
Summary
This MR implements chain-aware consensus for vault operations:
- Modified
getVaultMembersForChain
to properly convert vault.Membership public keys to node addresses - Fixed consensus checking to be chain-specific based on vault membership
- Updated all failing unit tests to use public keys instead of node addresses in vault.Membership
Changes
Core Implementation
-
helpers.go: Updated
getVaultMembersForChain
to convert public keys to addresses at runtime
Test Fixes
- handler_network_fee_test.go: Fixed vault membership to use public keys
- handler_solvency_test.go: Fixed vault membership to use public keys
- handler_observed_txout_test.go: Fixed vault membership and NodeAddress synchronization
- handler_observed_txin_test.go: Fixed vault membership to use public keys
Test Results
All 493 unit tests passing ✓
Testing
go test -parallel=1 -tags=mocknet ./x/thorchain/...