diff --git a/bor/client/cli/query.go b/bor/client/cli/query.go index b75e44760..62f9565e5 100644 --- a/bor/client/cli/query.go +++ b/bor/client/cli/query.go @@ -269,7 +269,7 @@ func GetNextSpanSeed(cdc *codec.Codec) *cobra.Command { return cmd } -// PostSendProposeSpanTx send propose span transaction +// GetPreparedProposeSpan generates a propose span transaction func GetPreparedProposeSpan(cdc *codec.Codec) *cobra.Command { cmd := &cobra.Command{ Use: "propose-span", diff --git a/bor/handler.go b/bor/handler.go index 8684197a4..43c9d8f98 100644 --- a/bor/handler.go +++ b/bor/handler.go @@ -1,12 +1,14 @@ package bor import ( + "errors" "strconv" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/maticnetwork/heimdall/bor/types" "github.com/maticnetwork/heimdall/common" + "github.com/maticnetwork/heimdall/helper" ) // NewHandler returns a handler for "bor" type messages. @@ -29,6 +31,11 @@ func HandleMsgProposeSpan(ctx sdk.Context, msg sdk.Msg, k Keeper) sdk.Result { var proposeMsg types.MsgProposeSpanV2 switch msg := msg.(type) { case types.MsgProposeSpan: + if ctx.BlockHeight() >= helper.GetAntevortaHeight() { + err := errors.New("msg span is not allowed after Antevorta hardfork height") + k.Logger(ctx).Error(err.Error()) + return sdk.ErrTxDecode(err.Error()).Result() + } proposeMsg = types.MsgProposeSpanV2{ ID: msg.ID, Proposer: msg.Proposer, @@ -38,10 +45,16 @@ func HandleMsgProposeSpan(ctx sdk.Context, msg sdk.Msg, k Keeper) sdk.Result { Seed: msg.Seed, } case types.MsgProposeSpanV2: + if ctx.BlockHeight() < helper.GetAntevortaHeight() { + err := errors.New("msg span v2 is not allowed before Antevorta hardfork height") + k.Logger(ctx).Error(err.Error()) + return sdk.ErrTxDecode(err.Error()).Result() + } proposeMsg = msg } k.Logger(ctx).Debug("✅ Validating proposed span msg", + "proposer", proposeMsg.Proposer.String(), "spanId", proposeMsg.ID, "startBlock", proposeMsg.StartBlock, "endBlock", proposeMsg.EndBlock, diff --git a/bor/side_handler.go b/bor/side_handler.go index 427acda1d..16990dc96 100644 --- a/bor/side_handler.go +++ b/bor/side_handler.go @@ -53,6 +53,10 @@ func SideHandleMsgSpan(ctx sdk.Context, k Keeper, msg sdk.Msg, contractCaller he var proposeMsg types.MsgProposeSpanV2 switch msg := msg.(type) { case types.MsgProposeSpan: + if ctx.BlockHeight() >= helper.GetAntevortaHeight() { + k.Logger(ctx).Error("Msg span is not allowed after Antevorta hardfork height") + return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg) + } proposeMsg = types.MsgProposeSpanV2{ ID: msg.ID, Proposer: msg.Proposer, @@ -62,6 +66,10 @@ func SideHandleMsgSpan(ctx sdk.Context, k Keeper, msg sdk.Msg, contractCaller he Seed: msg.Seed, } case types.MsgProposeSpanV2: + if ctx.BlockHeight() < helper.GetAntevortaHeight() { + k.Logger(ctx).Error("Msg span v2 is not allowed before Antevorta hardfork height") + return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg) + } proposeMsg = msg } @@ -80,6 +88,8 @@ func SideHandleMsgSpan(ctx sdk.Context, k Keeper, msg sdk.Msg, contractCaller he if !bytes.Equal(proposeMsg.Seed.Bytes(), seed.Bytes()) { k.Logger(ctx).Error( "Span Seed does not match", + "proposer", proposeMsg.Proposer.String(), + "chainID", proposeMsg.ChainID, "msgSeed", proposeMsg.Seed.String(), "mainchainSeed", seed.String(), ) @@ -92,6 +102,8 @@ func SideHandleMsgSpan(ctx sdk.Context, k Keeper, msg sdk.Msg, contractCaller he if !bytes.Equal(proposeMsg.SeedAuthor.Bytes(), seedAuthor.Bytes()) { k.Logger(ctx).Error( "Span Seed Author does not match", + "proposer", proposeMsg.Proposer.String(), + "chainID", proposeMsg.ChainID, "msgSeed", proposeMsg.Seed.String(), "msgSeedAuthor", proposeMsg.SeedAuthor.String(), "mainchainSeedAuthor", seedAuthor.String(), @@ -167,7 +179,14 @@ func PostHandleMsgEventSpan(ctx sdk.Context, k Keeper, msg sdk.Msg, sideTxResult return hmCommon.ErrOldTx(k.Codespace()).Result() } - logger.Debug("Persisting span state", "sideTxResult", sideTxResult) + logger.Debug("Persisting span state", + "sideTxResult", sideTxResult, + "proposer", proposeMsg.Proposer.String(), + "spanId", proposeMsg.ID, + "startBlock", proposeMsg.StartBlock, + "endBlock", proposeMsg.EndBlock, + "seed", proposeMsg.Seed.String(), + ) if ctx.BlockHeader().Height >= helper.GetJorvikHeight() { var seedSpanID uint64 diff --git a/helper/config.go b/helper/config.go index e426668ab..8aa56f7b4 100644 --- a/helper/config.go +++ b/helper/config.go @@ -435,8 +435,8 @@ func InitHeimdallConfigWith(homeDir string, heimdallConfigFileFromFLag string) { spanOverrideHeight = 0 newHexToStringAlgoHeight = 0 aalborgHeight = 0 - jorvikHeight = 100 - antevortaHeight = 150 + jorvikHeight = 0 + antevortaHeight = 0 } }