Co-authored-by: mmsqe <mavis@crypto.com> Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
co-authored by
mmsqe
Julien Robert
parent
b1dd67aa77
commit
4955776845
@@ -744,21 +744,21 @@ func (m Manager) RunMigrations(ctx context.Context, cfg Configurator, fromVM Ver
|
||||
// PreBlock performs begin block functionality for upgrade module.
|
||||
// It takes the current context as a parameter and returns a boolean value
|
||||
// indicating whether the migration was successfully executed or not.
|
||||
func (m *Manager) PreBlock(ctx sdk.Context) (sdk.ResponsePreBlock, error) {
|
||||
func (m *Manager) PreBlock(ctx sdk.Context) (*sdk.ResponsePreBlock, error) {
|
||||
ctx = ctx.WithEventManager(sdk.NewEventManager())
|
||||
paramsChanged := false
|
||||
for _, moduleName := range m.OrderPreBlockers {
|
||||
if module, ok := m.Modules[moduleName].(appmodule.HasPreBlocker); ok {
|
||||
rsp, err := module.PreBlock(ctx)
|
||||
if err != nil {
|
||||
return sdk.ResponsePreBlock{}, err
|
||||
return nil, err
|
||||
}
|
||||
if rsp.IsConsensusParamsChanged() {
|
||||
paramsChanged = true
|
||||
}
|
||||
}
|
||||
}
|
||||
return sdk.ResponsePreBlock{
|
||||
return &sdk.ResponsePreBlock{
|
||||
ConsensusParamsChanged: paramsChanged,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -478,7 +478,7 @@ func TestCoreAPIManager_PreBlock(t *testing.T) {
|
||||
require.Equal(t, 2, len(mm.Modules))
|
||||
require.Equal(t, 1, len(mm.OrderPreBlockers))
|
||||
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(sdk.ResponsePreBlock{
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(&sdk.ResponsePreBlock{
|
||||
ConsensusParamsChanged: true,
|
||||
}, nil)
|
||||
res, err := mm.PreBlock(sdk.Context{})
|
||||
@@ -486,7 +486,7 @@ func TestCoreAPIManager_PreBlock(t *testing.T) {
|
||||
require.True(t, res.ConsensusParamsChanged)
|
||||
|
||||
// test false
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(sdk.ResponsePreBlock{
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(&sdk.ResponsePreBlock{
|
||||
ConsensusParamsChanged: false,
|
||||
}, nil)
|
||||
res, err = mm.PreBlock(sdk.Context{})
|
||||
@@ -494,7 +494,7 @@ func TestCoreAPIManager_PreBlock(t *testing.T) {
|
||||
require.False(t, res.ConsensusParamsChanged)
|
||||
|
||||
// test error
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(sdk.ResponsePreBlock{}, errors.New("some error"))
|
||||
mockAppModule1.EXPECT().PreBlock(gomock.Any()).Times(1).Return(nil, errors.New("some error"))
|
||||
_, err = mm.PreBlock(sdk.Context{})
|
||||
require.EqualError(t, err, "some error")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user