Skip to content

Commit

Permalink
FIX: After review
Browse files Browse the repository at this point in the history
  • Loading branch information
mariusmihaic committed May 15, 2024
1 parent ae8236e commit 4a858b2
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 38 deletions.
2 changes: 1 addition & 1 deletion factory/runType/sovereignRunTypeComponents.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func (rcf *sovereignRunTypeComponentsFactory) Create() (*runTypeComponents, erro
return nil, fmt.Errorf("sovereignRunTypeComponentsFactory - NewSovereignSmartContractResultPreProcessorFactory failed: %w", err)
}

sovVMContextCreator := systemSmartContracts.NewSystemVMEEICreator()
sovVMContextCreator := systemSmartContracts.NewOneShardSystemVMEEICreator()
rtc.vmContainerMetaFactory, err = factoryVm.NewVmContainerMetaFactory(sovBlockChainHookHandlerFactory, sovVMContextCreator)
if err != nil {
return nil, fmt.Errorf("sovereignRunTypeComponentsFactory - NewVmContainerMetaFactory failed: %w", err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,28 @@ import (
"github.com/multiversx/mx-chain-go/vm"
)

type systemVMEEI struct {
type oneShardSystemVMEEI struct {
vm.ContextHandler
}

// NewSystemVMEEI creates a new system vm eei context, mainly used for now in sovereign chain
func NewSystemVMEEI(vmContext vm.ContextHandler) (*systemVMEEI, error) {
// NewOneShardSystemVMEEI creates a new system vm eei context, mainly used for now in sovereign chain
func NewOneShardSystemVMEEI(vmContext vm.ContextHandler) (*oneShardSystemVMEEI, error) {
if check.IfNil(vmContext) {
return nil, vm.ErrNilSystemEnvironmentInterface
}

return &systemVMEEI{
return &oneShardSystemVMEEI{
vmContext,
}, nil
}

// SendGlobalSettingToAll handles sending global settings information
func (sovHost *systemVMEEI) SendGlobalSettingToAll(sender []byte, input []byte) error {
func (sovHost *oneShardSystemVMEEI) SendGlobalSettingToAll(sender []byte, input []byte) error {
// TODO: MX-15470 remove sameShard check from ProcessBuiltInFunction
return sovHost.ProcessBuiltInFunction(core.SystemAccountAddress, sender, big.NewInt(0), input, 0)
}

// IsInterfaceNil checks if the underlying pointer is nil
func (sovHost *systemVMEEI) IsInterfaceNil() bool {
func (sovHost *oneShardSystemVMEEI) IsInterfaceNil() bool {
return sovHost == nil
}
26 changes: 26 additions & 0 deletions vm/systemSmartContracts/oneShardSystemVMEEICreator.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package systemSmartContracts

import "github.com/multiversx/mx-chain-go/vm"

type oneShardSystemVMEEICreator struct {
}

// NewOneShardSystemVMEEICreator creates a system vm eei creator
func NewOneShardSystemVMEEICreator() *oneShardSystemVMEEICreator {
return &oneShardSystemVMEEICreator{}
}

// CreateVmContext creates vm context for single shard chains
func (vcc *oneShardSystemVMEEICreator) CreateVmContext(args VMContextArgs) (vm.ContextHandler, error) {
vmCtxt, err := NewVMContext(args)
if err != nil {
return nil, err
}

return NewOneShardSystemVMEEI(vmCtxt)
}

// IsInterfaceNil checks if the underlying pointer is nil
func (vcc *oneShardSystemVMEEICreator) IsInterfaceNil() bool {
return vcc == nil
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ import (
)

func TestSovereignVMContextCreator_CreateVmContext(t *testing.T) {
sovCtxCreator := NewSystemVMEEICreator()
sovCtxCreator := NewOneShardSystemVMEEICreator()
require.False(t, sovCtxCreator.IsInterfaceNil())
require.Implements(t, new(VMContextCreatorHandler), sovCtxCreator)

t.Run("should work", func(t *testing.T) {
args := createArgsVMContext()
sovCtx, err := sovCtxCreator.CreateVmContext(args)
require.Nil(t, err)
require.Equal(t, "*systemSmartContracts.systemVMEEI", fmt.Sprintf("%T", sovCtx))
require.Equal(t, "*systemSmartContracts.oneShardSystemVMEEI", fmt.Sprintf("%T", sovCtx))
})

t.Run("invalid args, should return error", func(t *testing.T) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ func TestNewSovereignVMContext(t *testing.T) {
t.Parallel()

t.Run("should work", func(t *testing.T) {
sovVM, err := NewSystemVMEEI(&mock.SystemEIStub{})
sovVM, err := NewOneShardSystemVMEEI(&mock.SystemEIStub{})
require.Nil(t, err)
require.False(t, sovVM.IsInterfaceNil())
})
t.Run("nil vm context input, should return error", func(t *testing.T) {
sovVM, err := NewSystemVMEEI(nil)
sovVM, err := NewOneShardSystemVMEEI(nil)
require.Equal(t, vm.ErrNilSystemEnvironmentInterface, err)
require.Nil(t, sovVM)
})
Expand All @@ -44,7 +44,7 @@ func TestSovereignVMContext_SendGlobalSettingToAll(t *testing.T) {
},
}

sovVM, _ := NewSystemVMEEI(vmCtx)
sovVM, _ := NewOneShardSystemVMEEI(vmCtx)
err := sovVM.SendGlobalSettingToAll(expectedSender, expectedInput)
require.Nil(t, err)
require.True(t, wasProcessBuiltInCalled)
Expand Down
26 changes: 0 additions & 26 deletions vm/systemSmartContracts/systemVMEEICreator.go

This file was deleted.

0 comments on commit 4a858b2

Please sign in to comment.