github.com/franono/tendermint@v0.32.2-0.20200527150959-749313264ce9/rpc/core/evidence.go (about) 1 package core 2 3 import ( 4 "fmt" 5 6 ctypes "github.com/franono/tendermint/rpc/core/types" 7 rpctypes "github.com/franono/tendermint/rpc/jsonrpc/types" 8 "github.com/franono/tendermint/types" 9 ) 10 11 // BroadcastEvidence broadcasts evidence of the misbehavior. 12 // More: https://docs.tendermint.com/master/rpc/#/Info/broadcast_evidence 13 func BroadcastEvidence(ctx *rpctypes.Context, ev types.Evidence) (*ctypes.ResultBroadcastEvidence, error) { 14 if err := ev.ValidateBasic(); err != nil { 15 return nil, fmt.Errorf("evidence.ValidateBasic failed: %w", err) 16 } 17 18 if err := env.EvidencePool.AddEvidence(ev); err != nil { 19 return nil, fmt.Errorf("failed to add evidence: %w", err) 20 } 21 return &ctypes.ResultBroadcastEvidence{Hash: ev.Hash()}, nil 22 }