Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
parent
d7f3b46efe
commit
4e55f96a6d
@ -442,7 +442,7 @@ func (app *BaseApp) PrepareProposal(req *abci.RequestPrepareProposal) (resp *abc
|
||||
|
||||
resp, err = app.prepareProposal(app.prepareProposalState.ctx, req)
|
||||
if err != nil {
|
||||
app.logger.Error("failed to prepare proposal", "height", req.Height, "error", err)
|
||||
app.logger.Error("failed to prepare proposal", "height", req.Height, "time", req.Time, "err", err)
|
||||
return &abci.ResponsePrepareProposal{}, nil
|
||||
}
|
||||
|
||||
@ -528,7 +528,7 @@ func (app *BaseApp) ProcessProposal(req *abci.RequestProcessProposal) (resp *abc
|
||||
|
||||
resp, err = app.processProposal(app.processProposalState.ctx, req)
|
||||
if err != nil {
|
||||
app.logger.Error("failed to process proposal", "height", req.Height, "error", err)
|
||||
app.logger.Error("failed to process proposal", "height", req.Height, "time", req.Time, "hash", fmt.Sprintf("%X", req.Hash), "err", err)
|
||||
return &abci.ResponseProcessProposal{Status: abci.ResponseProcessProposal_REJECT}, nil
|
||||
}
|
||||
|
||||
@ -591,7 +591,7 @@ func (app *BaseApp) ExtendVote(_ context.Context, req *abci.RequestExtendVote) (
|
||||
|
||||
resp, err = app.extendVote(ctx, req)
|
||||
if err != nil {
|
||||
app.logger.Error("failed to extend vote", "height", req.Height, "error", err)
|
||||
app.logger.Error("failed to extend vote", "height", req.Height, "hash", fmt.Sprintf("%X", req.Hash), "err", err)
|
||||
return &abci.ResponseExtendVote{VoteExtension: []byte{}}, nil
|
||||
}
|
||||
|
||||
@ -638,7 +638,7 @@ func (app *BaseApp) VerifyVoteExtension(req *abci.RequestVerifyVoteExtension) (r
|
||||
|
||||
resp, err = app.verifyVoteExt(ctx, req)
|
||||
if err != nil {
|
||||
app.logger.Error("failed to verify vote extension", "height", req.Height, "error", err)
|
||||
app.logger.Error("failed to verify vote extension", "height", req.Height, "err", err)
|
||||
return &abci.ResponseVerifyVoteExtension{Status: abci.ResponseVerifyVoteExtension_REJECT}, nil
|
||||
}
|
||||
|
||||
@ -725,7 +725,11 @@ func (app *BaseApp) FinalizeBlock(req *abci.RequestFinalizeBlock) (*abci.Respons
|
||||
}
|
||||
}
|
||||
|
||||
beginBlock := app.beginBlock(req)
|
||||
beginBlock, err := app.beginBlock(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
events = append(events, beginBlock.Events...)
|
||||
|
||||
// Iterate over all raw transactions in the proposal and attempt to execute
|
||||
|
||||
@ -201,7 +201,7 @@ func (h DefaultProposalHandler) PrepareProposalHandler() sdk.PrepareProposalHand
|
||||
if err != nil {
|
||||
err := h.mempool.Remove(memTx)
|
||||
if err != nil && !errors.Is(err, mempool.ErrTxNotFound) {
|
||||
panic(err)
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
var txGasLimit uint64
|
||||
|
||||
@ -228,7 +228,7 @@ func NewBaseApp(
|
||||
app.runTxRecoveryMiddleware = newDefaultRecoveryMiddleware()
|
||||
|
||||
// Initialize with an empty interface registry to avoid nil pointer dereference.
|
||||
// Unless SetInterfaceRegistry is called with an interface registry with proper address codecs base app will panic.
|
||||
// Unless SetInterfaceRegistry is called with an interface registry with proper address codecs baseapp will panic.
|
||||
app.cdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry())
|
||||
|
||||
return app
|
||||
@ -513,7 +513,7 @@ func (app *BaseApp) GetConsensusParams(ctx sdk.Context) cmtproto.ConsensusParams
|
||||
// It's stored instead in the x/upgrade store, with its own bump logic.
|
||||
func (app *BaseApp) StoreConsensusParams(ctx sdk.Context, cp cmtproto.ConsensusParams) error {
|
||||
if app.paramStore == nil {
|
||||
panic("cannot store consensus params with no params store set")
|
||||
return errors.New("cannot store consensus params with no params store set")
|
||||
}
|
||||
|
||||
return app.paramStore.Set(ctx, cp)
|
||||
@ -664,7 +664,7 @@ func (app *BaseApp) cacheTxContext(ctx sdk.Context, txBytes []byte) (sdk.Context
|
||||
return ctx.WithMultiStore(msCache), msCache
|
||||
}
|
||||
|
||||
func (app *BaseApp) beginBlock(req *abci.RequestFinalizeBlock) sdk.BeginBlock {
|
||||
func (app *BaseApp) beginBlock(req *abci.RequestFinalizeBlock) (sdk.BeginBlock, error) {
|
||||
var (
|
||||
resp sdk.BeginBlock
|
||||
err error
|
||||
@ -673,7 +673,7 @@ func (app *BaseApp) beginBlock(req *abci.RequestFinalizeBlock) sdk.BeginBlock {
|
||||
if app.beginBlocker != nil {
|
||||
resp, err = app.beginBlocker(app.finalizeBlockState.ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
// append BeginBlock attributes to all events in the EndBlock response
|
||||
@ -687,7 +687,7 @@ func (app *BaseApp) beginBlock(req *abci.RequestFinalizeBlock) sdk.BeginBlock {
|
||||
resp.Events = sdk.MarkEventsToIndex(resp.Events, app.indexEvents)
|
||||
}
|
||||
|
||||
return resp
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (app *BaseApp) deliverTx(tx []byte) *abci.ExecTxResult {
|
||||
@ -735,7 +735,7 @@ func (app *BaseApp) endBlock(ctx context.Context) (sdk.EndBlock, error) {
|
||||
if app.endBlocker != nil {
|
||||
eb, err := app.endBlocker(app.finalizeBlockState.ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return endblock, err
|
||||
}
|
||||
|
||||
// append EndBlock attributes to all events in the EndBlock response
|
||||
@ -950,7 +950,10 @@ func (app *BaseApp) runMsgs(ctx sdk.Context, msgs []sdk.Msg, msgsV2 []protov2.Me
|
||||
}
|
||||
|
||||
// create message events
|
||||
msgEvents := createEvents(app.cdc, msgResult.GetEvents(), msg, msgsV2[i])
|
||||
msgEvents, err := createEvents(app.cdc, msgResult.GetEvents(), msg, msgsV2[i])
|
||||
if err != nil {
|
||||
return nil, errorsmod.Wrapf(err, "failed to create message events; message index: %d", i)
|
||||
}
|
||||
|
||||
// append message events and data
|
||||
//
|
||||
@ -995,19 +998,19 @@ func makeABCIData(msgResponses []*codectypes.Any) ([]byte, error) {
|
||||
return proto.Marshal(&sdk.TxMsgData{MsgResponses: msgResponses})
|
||||
}
|
||||
|
||||
func createEvents(cdc codec.Codec, events sdk.Events, msg sdk.Msg, msgV2 protov2.Message) sdk.Events {
|
||||
func createEvents(cdc codec.Codec, events sdk.Events, msg sdk.Msg, msgV2 protov2.Message) (sdk.Events, error) {
|
||||
eventMsgName := sdk.MsgTypeURL(msg)
|
||||
msgEvent := sdk.NewEvent(sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyAction, eventMsgName))
|
||||
|
||||
// we set the signer attribute as the sender
|
||||
signers, err := cdc.GetMsgV2Signers(msgV2)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return nil, err
|
||||
}
|
||||
if len(signers) > 0 && signers[0] != nil {
|
||||
addrStr, err := cdc.InterfaceRegistry().SigningContext().AddressCodec().BytesToString(signers[0])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return nil, err
|
||||
}
|
||||
msgEvent = msgEvent.AppendAttributes(sdk.NewAttribute(sdk.AttributeKeySender, addrStr))
|
||||
}
|
||||
@ -1019,7 +1022,7 @@ func createEvents(cdc codec.Codec, events sdk.Events, msg sdk.Msg, msgV2 protov2
|
||||
}
|
||||
}
|
||||
|
||||
return sdk.Events{msgEvent}.AppendEvents(events)
|
||||
return sdk.Events{msgEvent}.AppendEvents(events), nil
|
||||
}
|
||||
|
||||
// PrepareProposalVerifyTx performs transaction verification when a proposer is
|
||||
|
||||
Loading…
Reference in New Issue
Block a user