Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Ostracon binary and docs #282

Merged
merged 10 commits into from
Jul 6, 2021
Prev Previous commit
Next Next commit
  • Loading branch information
tnasu committed Jul 6, 2021
commit 7de30463bf4c103753eda480b19e0824ad1bcf83
2 changes: 1 addition & 1 deletion abci/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ func (r *ReqRes) InvokeCallback() {
// marked done and SetCallback is called before calling GetCallback as that
// will invoke the callback twice and create a potential race condition.
//
// ref: https://github.com/line/ostracon/issues/5439
// ref: https://github.com/tendermint/tendermint/issues/5439
func (r *ReqRes) GetCallback() func(*types.Response) {
r.mtx.Lock()
defer r.mtx.Unlock()
Expand Down
2 changes: 1 addition & 1 deletion abci/types/types.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion blockchain/v0/pool_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func (p testPeer) simulateInput(input inputData) {
input.pool.AddBlock(input.request.PeerID, block, 123)
// TODO: uncommenting this creates a race which is detected by:
// https://github.com/golang/go/blob/2bd767b1022dd3254bcec469f0ee164024726486/src/testing/testing.go#L854-L856
// see: https://github.com/line/ostracon/issues/3390#issue-418379890
// see: https://github.com/tendermint/tendermint/issues/3390#issue-418379890
// input.t.Logf("Added block from peer %v (height: %v)", input.request.PeerID, input.request.Height)
}

Expand Down
2 changes: 1 addition & 1 deletion blockchain/v2/reactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ func newTestReactor(p testReactorParams) *BlockchainReactor {
}

// This test is left here and not deleted to retain the termination cases for
// future improvement in [#4482](https://github.com/line/ostracon/issues/4482).
// future improvement in [#4482](https://github.com/tendermint/tendermint/issues/4482).
// func TestReactorTerminationScenarios(t *testing.T) {

// config := cfg.ResetTestRoot("blockchain_reactor_v2_test")
Expand Down
2 changes: 1 addition & 1 deletion cmd/ostracon/commands/light.go
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ func runProxy(cmd *cobra.Command, args []string) error {
cfg.MaxOpenConnections = maxOpenConnections
// If necessary adjust global WriteTimeout to ensure it's greater than
// TimeoutBroadcastTxCommit.
// See https://github.com/line/ostracon/issues/3435
// See https://github.com/tendermint/tendermint/issues/3435
if cfg.WriteTimeout <= config.RPC.TimeoutBroadcastTxCommit {
cfg.WriteTimeout = config.RPC.TimeoutBroadcastTxCommit + 1*time.Second
}
Expand Down
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ type RPCConfig struct {
// How long to wait for a tx to be committed during /broadcast_tx_commit
// WARNING: Using a value larger than 10s will result in increasing the
// global HTTP write timeout, which applies to all connections and endpoints.
// See https://github.com/line/ostracon/issues/3435
// See https://github.com/tendermint/tendermint/issues/3435
TimeoutBroadcastTxCommit time.Duration `mapstructure:"timeout_broadcast_tx_commit"`

// Maximum size of request body, in bytes
Expand Down
3 changes: 2 additions & 1 deletion consensus/replay_test.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package consensus

import (
Expand Down Expand Up @@ -126,7 +127,7 @@ func TestWALCrash(t *testing.T) {
// The reason for the fail is a timeout with an "Timed out waiting for new block" or "WAL did not panic for
// XX seconds" message, but the behavior that causes it is not reproducible. This issue also occurs in Tendermint,
// but seems to be somewhat more pronounced with some changes in Ostracon.
// See also: https://github.com/line/ostracon/issues/1040
// See also: https://github.com/tendermint/tendermint/issues/1040
testCases := []struct {
name string
initFn func(dbm.DB, *State, context.Context)
Expand Down
4 changes: 2 additions & 2 deletions consensus/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ func (cs *State) handleMsg(mi msgInfo) {
// We probably don't want to stop the peer here. The vote does not
// necessarily comes from a malicious peer but can be just broadcasted by
// a typical peer.
// https://github.com/line/ostracon/issues/1281
// https://github.com/tendermint/tendermint/issues/1281
// }

// NOTE: the vote is broadcast to peers by the reactor listening
Expand Down Expand Up @@ -2096,7 +2096,7 @@ func (cs *State) tryAddVote(vote *types.Vote, peerID p2p.ID) (bool, error) {
// 1) bad peer OR
// 2) not a bad peer? this can also err sometimes with "Unexpected step" OR
// 3) tmkms use with multiple validators connecting to a single tmkms instance
// (https://github.com/line/ostracon/issues/3839).
// (https://github.com/tendermint/tendermint/issues/3839).
cs.Logger.Info("failed attempting to add vote", "err", err)
return added, ErrAddingVote
}
Expand Down
2 changes: 1 addition & 1 deletion light/provider/http/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import (
)

var (
// This is very brittle, see: https://github.com/line/ostracon/issues/4740
// This is very brittle, see: https://github.com/tendermint/tendermit/issues/4740
torao marked this conversation as resolved.
Show resolved Hide resolved
regexpMissingHeight = regexp.MustCompile(`height \d+ (must be less than or equal to|is not available)`)

maxRetryAttempts = 10
Expand Down
2 changes: 1 addition & 1 deletion mempool/clist_mempool.go
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ func (mem *CListMempool) Update(
// 101 -> 102
// Mempool after:
// 100
// https://github.com/line/ostracon/issues/3322.
// https://github.com/tendermint/tendermint/issues/3322.
if e, ok := mem.txsMap.Load(TxKey(tx)); ok {
mem.removeTx(tx, e.(*clist.CElement), false)
}
Expand Down
2 changes: 1 addition & 1 deletion mempool/clist_mempool_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ func TestMempoolTxsBytes(t *testing.T) {
}

// This will non-deterministically catch some concurrency failures like
// https://github.com/line/ostracon/issues/3509
// https://github.com/tendermint/tendermint/issues/3509
// TODO: all of the tests should probably also run using the remote proxy app
// since otherwise we're not actually testing the concurrency of the mempool here!
func TestMempoolRemoteAppConcurrency(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion mempool/reactor.go
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ func (memR *Reactor) broadcastTxRoutine(peer p2p.Peer) {
}

// NOTE: Transaction batching was disabled due to
// https://github.com/line/ostracon/issues/5796
// https://github.com/tendermint/tendermint/issues/5796

if _, ok := memTx.senders.Load(peerID); !ok {
msg := protomem.Message{
Expand Down
2 changes: 1 addition & 1 deletion mempool/reactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func TestReactorBroadcastTxsMessage(t *testing.T) {
waitForTxsOnReactors(t, txs, reactors)
}

// regression test for https://github.com/line/ostracon/issues/5408
// regression test for https://github.com/tendermint/tendermint/issues/5408
func TestReactorConcurrency(t *testing.T) {
config := cfg.TestConfig()
const N = 2
Expand Down
10 changes: 5 additions & 5 deletions node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ func DefaultMetricsProvider(config *cfg.InstrumentationConfig) MetricsProvider {
type Option func(*Node)

// Temporary interface for switching to fast sync, we should get rid of v0 and v1 reactors.
// See: https://github.com/line/ostracon/issues/4595
// See: https://github.com/tendermint/tendermint/issues/4595
type fastSyncReactor interface {
SwitchToFastSync(sm.State) error
}
Expand Down Expand Up @@ -559,7 +559,7 @@ func createPEXReactorAndAddToSwitch(addrBook pex.AddrBook, config *cfg.Config,
// blocks assuming 10s blocks ~ 28 hours.
// TODO (melekes): make it dynamic based on the actual block latencies
// from the live network.
// https://github.com/line/ostracon/issues/3523
// https://github.com/tendermint/tendermint/issues/3523
SeedDisconnectWaitPeriod: 28 * time.Hour,
PersistentPeersMaxDialPeriod: config.P2P.PersistentPeersMaxDialPeriod,
RecvBufSize: config.P2P.PexRecvBufSize,
Expand Down Expand Up @@ -756,7 +756,7 @@ func NewNode(config *cfg.Config,
// Set up state sync reactor, and schedule a sync if requested.
// FIXME The way we do phased startups (e.g. replay -> fast sync -> consensus) is very messy,
// we should clean this whole thing up. See:
// https://github.com/line/ostracon/issues/4644
// https://github.com/tendermint/tendermint/issues/4644
stateSyncReactor := statesync.NewReactor(proxyApp.Snapshot(), proxyApp.Query(),
config.P2P.RecvAsync, config.P2P.BlockchainRecvBufSize)
stateSyncReactor.SetLogger(logger.With("module", "statesync"))
Expand Down Expand Up @@ -1026,7 +1026,7 @@ func (n *Node) startRPC() ([]net.Listener, error) {
config.MaxOpenConnections = n.config.RPC.MaxOpenConnections
// If necessary adjust global WriteTimeout to ensure it's greater than
// TimeoutBroadcastTxCommit.
// See https://github.com/line/ostracon/issues/3435
// See https://github.com/tendermint/tendermint/issues/3435
if config.WriteTimeout <= n.config.RPC.TimeoutBroadcastTxCommit {
config.WriteTimeout = n.config.RPC.TimeoutBroadcastTxCommit + 1*time.Second
}
Expand Down Expand Up @@ -1105,7 +1105,7 @@ func (n *Node) startRPC() ([]net.Listener, error) {
config.MaxOpenConnections = n.config.RPC.GRPCMaxOpenConnections
// If necessary adjust global WriteTimeout to ensure it's greater than
// TimeoutBroadcastTxCommit.
// See https://github.com/line/ostracon/issues/3435
// See https://github.com/tendermint/tendermint/issues/3435
if config.WriteTimeout <= n.config.RPC.TimeoutBroadcastTxCommit {
config.WriteTimeout = n.config.RPC.TimeoutBroadcastTxCommit + 1*time.Second
}
Expand Down
2 changes: 1 addition & 1 deletion p2p/conn/conn_go110.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package conn
// has the SetDeadline method implemented as per
// https://github.com/golang/go/commit/e2dd8ca946be884bb877e074a21727f1a685a706
// lest we run into problems like
// https://github.com/line/ostracon/issues/851
// https://github.com/tendermint/tendermint/issues/851

import "net"

Expand Down
4 changes: 2 additions & 2 deletions p2p/conn/conn_notgo110.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import (
// has the SetDeadline method implemented as per
// https://github.com/golang/go/commit/e2dd8ca946be884bb877e074a21727f1a685a706
// lest we run into problems like
// https://github.com/line/ostracon/issues/851
// https://github.com/tendermint/tendermint/issues/851
// so for go versions < Go1.10 use our custom net.Conn creator
// that doesn't return an `Unimplemented error` for net.Conn.
// Before https://github.com/line/ostracon/commit/49faa79bdce5663894b3febbf4955fb1d172df04
// Before https://github.com/tendermint/tendermint/commit/49faa79bdce5663894b3febbf4955fb1d172df04
// we hadn't cared about errors from SetDeadline so swallow them up anyways.
type pipe struct {
net.Conn
Expand Down
2 changes: 1 addition & 1 deletion p2p/conn/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ FOR_LOOP:
switch pkt := packet.Sum.(type) {
case *tmp2p.Packet_PacketPing:
// TODO: prevent abuse, as they cause flush()'s.
// https://github.com/line/ostracon/issues/1190
// https://github.com/tendermint/tendermint/issues/1190
c.Logger.Debug("Receive Ping")
select {
case c.pong <- struct{}{}:
Expand Down
2 changes: 1 addition & 1 deletion p2p/conn/connection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ func TestMConnectionMultiplePings(t *testing.T) {
defer mconn.Stop() // nolint:errcheck // ignore for tests

// sending 3 pings in a row (abuse)
// see https://github.com/line/ostracon/issues/1190
// see https://github.com/tendermint/tendermint/issues/1190
protoReader := protoio.NewDelimitedReader(server, maxPingPongPacketSize)
protoWriter := protoio.NewDelimitedWriter(server)
var pkt tmp2p.Packet
Expand Down
6 changes: 3 additions & 3 deletions p2p/conn/secret_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,13 @@ var (

// SecretConnection implements net.Conn.
// It is an implementation of the STS protocol.
// See https://github.com/line/ostracon/blob/0.1/docs/sts-final.pdf for
// See https://github.com/tendermint/tendermint/blob/0.1/docs/sts-final.pdf for
// details on the protocol.
//
// Consumers of the SecretConnection are responsible for authenticating
// the remote peer's pubkey against known information, like a nodeID.
// Otherwise they are vulnerable to MITM.
// (TODO(ismail): see also https://github.com/line/ostracon/issues/3010)
// (TODO(ismail): see also https://github.com/tendermint/tendermint/issues/3010)
type SecretConnection struct {

// immutable
Expand Down Expand Up @@ -457,7 +457,7 @@ func incrNonce(nonce *[aeadNonceSize]byte) {
counter := binary.LittleEndian.Uint64(nonce[4:])
if counter == math.MaxUint64 {
// Terminates the session and makes sure the nonce would not re-used.
// See https://github.com/line/ostracon/issues/3531
// See https://github.com/tendermint/tendermint/issues/3531
panic("can't increase nonce without overflow")
}
counter++
Expand Down
2 changes: 1 addition & 1 deletion p2p/pex/pex_reactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ func TestPEXReactorDialsPeerUpToMaxAttemptsInSeedMode(t *testing.T) {
// this should give it time to request addrs and for the seed
// to call FlushStop, and allows us to test calling Stop concurrently
// with FlushStop. Before a fix, this non-deterministically reproduced
// https://github.com/line/ostracon/issues/3231.
// https://github.com/tendermint/tendermint/issues/3231.
func TestPEXReactorSeedModeFlushStop(t *testing.T) {
N := 2
switches := make([]*p2p.Switch, N)
Expand Down
2 changes: 1 addition & 1 deletion p2p/switch.go
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ func (sw *Switch) stopAndRemovePeer(peer Peer, reason interface{}) {
// Removing a peer should go last to avoid a situation where a peer
// reconnect to our node and the switch calls InitPeer before
// RemovePeer is finished.
// https://github.com/line/ostracon/issues/3338
// https://github.com/tendermint/tendermint/issues/3338
if sw.peers.Remove(peer) {
sw.metrics.Peers.Add(float64(-1))
}
Expand Down
2 changes: 1 addition & 1 deletion p2p/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ func (mt *MultiplexTransport) acceptPeers() {

// Connection upgrade and filtering should be asynchronous to avoid
// Head-of-line blocking[0].
// Reference: https://github.com/line/ostracon/issues/2047
// Reference: https://github.com/tendermint/tendermint/issues/2047
//
// [0] https://en.wikipedia.org/wiki/Head-of-line_blocking
go func(c net.Conn) {
Expand Down
2 changes: 1 addition & 1 deletion privval/socket_listeners.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ func (ln *UnixListener) Accept() (net.Conn, error) {
conn := newTimeoutConn(tc, ln.timeoutReadWrite)

// TODO: wrap in something that authenticates
// with a MAC - https://github.com/line/ostracon/issues/3099
// with a MAC - https://github.com/tendermint/tendermint/issues/3099

return conn, nil
}
Expand Down
2 changes: 1 addition & 1 deletion proto/ostracon/abci/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ message Evidence {
];
// Total voting power of the validator set in case the ABCI application does
// not store historical validators.
// https://github.com/line/ostracon/issues/4581
// https://github.com/tendermint/tendermint/issues/4581
int64 total_voting_power = 5;
}

Expand Down
2 changes: 1 addition & 1 deletion rpc/core/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Package core defines the Tendermint RPC endpoints.
torao marked this conversation as resolved.
Show resolved Hide resolved

Tendermint ships with its own JSONRPC library -
torao marked this conversation as resolved.
Show resolved Hide resolved
https://github.com/line/ostracon/tree/master/rpc/jsonrpc.
https://github.com/line/ostracon/tree/main/rpc/jsonrpc.

## Get the list

Expand Down
2 changes: 1 addition & 1 deletion rpc/jsonrpc/client/ws_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ func (c *WSClient) readRoutine() {
// because they are implemented as responses with the subscribe request's
// ID. According to the spec, they should be notifications (requests
// without IDs).
// https://github.com/line/ostracon/issues/2949
// https://github.com/tendermint/tendermint/issues/2949
// c.mtx.Lock()
// if _, ok := c.sentIDs[response.ID.(types.JSONRPCIntID)]; !ok {
// c.Logger.Error("unsolicited response ID", "id", response.ID, "expected", c.sentIDs)
Expand Down
2 changes: 1 addition & 1 deletion rpc/jsonrpc/server/http_json_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func statusOK(code int) bool { return code >= 200 && code <= 299 }

// Ensure that nefarious/unintended inputs to `params`
// do not crash our RPC handlers.
// See Issue https://github.com/line/ostracon/issues/708.
// See Issue https://github.com/tendermint/tendermint/issues/708.
func TestRPCParams(t *testing.T) {
mux := testMux()
tests := []struct {
Expand Down
2 changes: 1 addition & 1 deletion rpc/jsonrpc/server/ws_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ func (wsc *wsConnection) writeRoutine() {

// All writes to the websocket must (re)set the write deadline.
// If some writes don't set it while others do, they may timeout incorrectly
// (https://github.com/line/ostracon/issues/553)
// (https://github.com/tendermint/tendermint/issues/553)
func (wsc *wsConnection) writeMessageWithDeadline(msgType int, msg []byte) error {
if err := wsc.baseConn.SetWriteDeadline(time.Now().Add(wsc.writeWait)); err != nil {
return err
Expand Down
4 changes: 2 additions & 2 deletions state/state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ func testProposerFreq(t *testing.T, caseNum int, valSet *types.ValidatorSet) {
}

// TestProposerPriorityDoesNotGetResetToZero assert that we preserve accum when calling updateState
// see https://github.com/line/ostracon/issues/2718
// see https://github.com/tendermint/tendermint/issues/2718
func TestProposerPriorityDoesNotGetResetToZero(t *testing.T) {
tearDown, _, state := setupTestCase(t)
defer tearDown(t)
Expand Down Expand Up @@ -850,7 +850,7 @@ func TestLargeGenesisValidator(t *testing.T) {
// add more validators with same voting power as the 2nd
// let the genesis validator "unbond",
// see how long it takes until the effect wears off and both begin to alternate
// see: https://github.com/line/ostracon/issues/2960
// see: https://github.com/tendermint/tendermint/issues/2960
firstAddedValPubKey := ed25519.GenPrivKey().PubKey()
firstAddedValStakingPower := int64(10)
fvp, err := cryptoenc.PubKeyToProto(firstAddedValPubKey)
Expand Down
4 changes: 2 additions & 2 deletions state/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
const (
// persist validators every valSetCheckpointInterval blocks to avoid
// LoadValidators taking too much time.
// https://github.com/line/ostracon/pull/3438
// https://github.com/tendermint/tendermint/pull/3438
// 100000 results in ~ 100ms to get 100 validators (see BenchmarkLoadValidators)
valSetCheckpointInterval = 100000
)
Expand Down Expand Up @@ -235,7 +235,7 @@ func (store dbStore) Bootstrap(state State) error {
// e.g. `LastHeightChanged` must remain. The state at to must also exist.
//
// The from parameter is necessary since we can't do a key scan in a performant way due to the key
// encoding not preserving ordering: https://github.com/line/ostracon/issues/4567
// encoding not preserving ordering: https://github.com/tendermint/tendermint/issues/4567
// This will cause some old states to be left behind when doing incremental partial prunes,
// specifically older checkpoints and LastHeightChanged targets.
func (store dbStore) PruneStates(from int64, to int64) error {
Expand Down
2 changes: 1 addition & 1 deletion state/txindex/kv/kv_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ func TestTxSearchMultipleTxs(t *testing.T) {
require.NoError(t, err)

// indexed fourth (to test we don't include txs with similar events)
// https://github.com/line/ostracon/issues/2908
// https://github.com/tendermint/tendermint/issues/2908
txResult4 := txResultWithEvents([]abci.Event{
{Type: "account", Attributes: []abci.EventAttribute{{Key: []byte("number.id"), Value: []byte("1"), Index: true}}},
})
Expand Down
2 changes: 1 addition & 1 deletion store/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ type BlockStore struct {
// fine-grained concurrency control for its data, and thus this mutex does not apply to
// database contents. The only reason for keeping these fields in the struct is that the data
// can't efficiently be queried from the database since the key encoding we use is not
// lexicographically ordered (see https://github.com/line/ostracon/issues/4567).
// lexicographically ordered (see https://github.com/tendermint/tendermint/issues/4567).
mtx tmsync.RWMutex
base int64
height int64
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/generator/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var (

// The following specify randomly chosen values for testnet nodes.
nodeDatabases = uniformChoice{"goleveldb", "cleveldb", "rocksdb", "boltdb", "badgerdb"}
// FIXME: grpc disabled due to https://github.com/line/ostracon/issues/5439
// FIXME: grpc disabled due to https://github.com/tendermint/tendermint/issues/5439
nodeABCIProtocols = uniformChoice{"unix", "tcp", "builtin"} // "grpc"
nodePrivvalProtocols = uniformChoice{"file", "unix", "tcp"}
// FIXME: v2 disabled due to flake
Expand All @@ -44,7 +44,7 @@ var (
nodeMisbehaviors = weightedChoice{
// FIXME: evidence disabled due to node panicing when not
// having sufficient block history to process evidence.
// https://github.com/line/ostracon/issues/5617
// https://github.com/tendermint/tendermint/issues/5617
// misbehaviorOption{"double-prevote"}: 1,
misbehaviorOption{}: 9,
}
Expand Down
Loading