github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/evidence/abci.go (about) 1 package evidence 2 3 import ( 4 "fmt" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 8 abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types" 9 tmtypes "github.com/fibonacci-chain/fbc/libs/tendermint/types" 10 ) 11 12 // BeginBlocker iterates through and handles any newly discovered evidence of 13 // misbehavior submitted by Tendermint. Currently, only equivocation is handled. 14 func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k Keeper) { 15 for _, tmEvidence := range req.ByzantineValidators { 16 switch tmEvidence.Type { 17 case tmtypes.ABCIEvidenceTypeDuplicateVote: 18 evidence := ConvertDuplicateVoteEvidence(tmEvidence) 19 k.HandleDoubleSign(ctx, evidence.(Equivocation)) 20 21 default: 22 k.Logger(ctx).Error(fmt.Sprintf("ignored unknown evidence type: %s", tmEvidence.Type)) 23 } 24 } 25 }