Implement historical valset data on the Provider. So that we can check for validator pubkey at the misbehaviour height.
This can be done through an SnapshotMap or IndexedShapshotMap.
Alternatively, it can be done through a conventional Map or IndexedMap, with composite (validator, height) keys, for flexibility and maintenance (pruning of older keys).
Note: This may be difficult to do with the current impl, as the valset updates use CRDT for consistency over unordered channels.
Let's consider changing this into a SnapshotMap or composite key Map, relaxing consistency and order guarantees in the pursuit of functionality: historical, queryable data.
Implement historical valset data on the Provider. So that we can check for validator pubkey at the misbehaviour height.
This can be done through an
SnapshotMap
orIndexedShapshotMap
. Alternatively, it can be done through a conventionalMap
orIndexedMap
, with composite(validator, height)
keys, for flexibility and maintenance (pruning of older keys).Note: This may be difficult to do with the current impl, as the valset updates use CRDT for consistency over unordered channels. Let's consider changing this into a
SnapshotMap
or composite keyMap
, relaxing consistency and order guarantees in the pursuit of functionality: historical, queryable data.