github.com/okex/exchain@v1.8.0/libs/tendermint/rpc/core/evidence.go (about) 1 package core 2 3 import ( 4 "github.com/okex/exchain/libs/tendermint/evidence" 5 ctypes "github.com/okex/exchain/libs/tendermint/rpc/core/types" 6 rpctypes "github.com/okex/exchain/libs/tendermint/rpc/jsonrpc/types" 7 "github.com/okex/exchain/libs/tendermint/types" 8 ) 9 10 // BroadcastEvidence broadcasts evidence of the misbehavior. 11 // More: https://docs.tendermint.com/master/rpc/#/Info/broadcast_evidence 12 func BroadcastEvidence(ctx *rpctypes.Context, ev types.Evidence) (*ctypes.ResultBroadcastEvidence, error) { 13 err := env.EvidencePool.AddEvidence(ev) 14 if _, ok := err.(evidence.ErrEvidenceAlreadyStored); err == nil || ok { 15 return &ctypes.ResultBroadcastEvidence{Hash: ev.Hash()}, nil 16 } 17 return nil, err 18 }