Skip to content

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/...

Merge request reports

Loading