From d79cba30baf7867aa81a5ab68e690f1ce0096dc9 Mon Sep 17 00:00:00 2001 From: AdoAdoAdo Date: Mon, 19 Dec 2022 17:49:05 +0200 Subject: [PATCH 1/2] add guardian service UID --- go.mod | 4 +- go.sum | 6 ++- node/node.go | 2 + process/errors.go | 3 ++ .../disabled/disabledGuardedAccount.go | 2 +- process/guardian/guardedAccount.go | 11 ++++- process/guardian/guardedAccount_test.go | 44 ++++++++++++++++--- process/interface.go | 2 +- .../guardianAccountHandlerStub.go | 6 +-- 9 files changed, 62 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 0c663253eba..7ea4ca77309 100644 --- a/go.mod +++ b/go.mod @@ -4,12 +4,12 @@ go 1.17 require ( github.com/ElrondNetwork/elastic-indexer-go v1.3.3 - github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221207113027-6add1889c6e8 + github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9 github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc github.com/ElrondNetwork/elrond-go-logger v1.0.10 github.com/ElrondNetwork/elrond-go-p2p v1.0.5 github.com/ElrondNetwork/elrond-go-storage v1.0.4 - github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221207113405-6973ba06dc58 + github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221213075903-473826256396 github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221213080744-6f0dfc0d2d8e github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.69-0.20221213080907-de31f5655d76 diff --git a/go.sum b/go.sum index f5c6e793ca8..f1fe2328ad3 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,9 @@ github.com/ElrondNetwork/concurrent-map v0.1.3/go.mod h1:3XwSwn4JHI0lrKxWLZvtp53 github.com/ElrondNetwork/elastic-indexer-go v1.3.3 h1:RgJ043yt92PUWMbSAQHRrC+GiyNnFdwdM/kseHlpLoo= github.com/ElrondNetwork/elastic-indexer-go v1.3.3/go.mod h1:E3VO5712GkGSGYnOTJ+0wxW74JXgjV6XCRPlcHiTTK0= github.com/ElrondNetwork/elrond-go-core v1.1.26/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= -github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221207113027-6add1889c6e8 h1:iYFJrSgKmyRDFkDFBXABqs7UwjrGeA0b5Nit9xmogzk= github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221207113027-6add1889c6e8/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= +github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9 h1:bqVom8Mvfmep6YYW8JjAfrZ+L0I139Llm68hgNc1tP4= +github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= github.com/ElrondNetwork/elrond-go-crypto v1.2.2/go.mod h1:MyQPKUKti7Axnx/eihhL0F2jLTalvSV/Ytv1mIxvYyM= github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc h1:BpKdjLY05fH/Y80s4n5vqIR73hSuZp4zFlL8+TAUWp4= github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc/go.mod h1:niLdPSYjcIzucSj2yMy+yq3KEW0jjFCfvTBOMQphmXk= @@ -63,8 +64,9 @@ github.com/ElrondNetwork/elrond-go-storage v1.0.2/go.mod h1:SRsv4hUtL1BCiQe0eADt github.com/ElrondNetwork/elrond-go-storage v1.0.4 h1:esyXbHQvlR6m4HGeC86Nq0xAJ74+QG9EnUgfG+wQDYQ= github.com/ElrondNetwork/elrond-go-storage v1.0.4/go.mod h1:SRsv4hUtL1BCiQe0eADth3C0EZH9baijzIJDCUitR34= github.com/ElrondNetwork/elrond-vm-common v1.3.27/go.mod h1:3GKLv9hUFYEVxoBgtaCmaZo9HMNfKN9mM/O/xX83Rbw= -github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221207113405-6973ba06dc58 h1:ZduFPEw1cMjTDpJPLXfxOybidOzJ++FWeH/xMsgRxP4= github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221207113405-6973ba06dc58/go.mod h1:vBVpGtyb7ZerSqX/EOtUIGBGK9VtogmjwAmjAWCnCSw= +github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d h1:pm2jV0AzYtkW4J0phwIuQwEQDVk0For8qC8rZZvFWHM= +github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d/go.mod h1:7aTygO6Kr+Bj8T7nQVFhSqLOji32E7FMHjzNhEkrL7M= github.com/ElrondNetwork/protobuf v1.3.2 h1:qoCSYiO+8GtXBEZWEjw0WPcZfM3g7QuuJrwpN+y6Mvg= github.com/ElrondNetwork/protobuf v1.3.2/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221213075903-473826256396 h1:f2FK3XFIySd2qhON8Q2IBB47ZCTO4AD+BYMPSKoVg6M= diff --git a/node/node.go b/node/node.go index 5de81dcb831..946902437ad 100644 --- a/node/node.go +++ b/node/node.go @@ -377,12 +377,14 @@ func (n *Node) getPendingAndActiveGuardians( activeGuardian = &api.Guardian{ Address: n.coreComponents.AddressPubKeyConverter().Encode(active.Address), ActivationEpoch: active.ActivationEpoch, + ServiceUID: string(active.ServiceUID), } } if pending != nil { pendingGuardian = &api.Guardian{ Address: n.coreComponents.AddressPubKeyConverter().Encode(pending.Address), ActivationEpoch: pending.ActivationEpoch, + ServiceUID: string(pending.ServiceUID), } } diff --git a/process/errors.go b/process/errors.go index fba4136f74e..46baf579b63 100644 --- a/process/errors.go +++ b/process/errors.go @@ -1185,5 +1185,8 @@ var ErrInvalidSetGuardianEpochsDelay = errors.New("incorrect setting for set gua // ErrCannotReplaceGuardedAccountPendingGuardian signals that a pending guardian on a guarded account cannot be replaced var ErrCannotReplaceGuardedAccountPendingGuardian = errors.New("cannot replace pending guardian on guarded account") +// ErrNilGuardianServiceUID signals that a nil guardian service identifier was provided +var ErrNilGuardianServiceUID = errors.New("nil guardian service unique identifier") + // ErrGasPriceTooHigh signals a too high gas price var ErrGasPriceTooHigh = errors.New("gas price is too high for the transaction") diff --git a/process/guardian/disabled/disabledGuardedAccount.go b/process/guardian/disabled/disabledGuardedAccount.go index 1bfb65db1c5..80863dca1d7 100644 --- a/process/guardian/disabled/disabledGuardedAccount.go +++ b/process/guardian/disabled/disabledGuardedAccount.go @@ -29,7 +29,7 @@ func (dga *disabledGuardedAccount) HasPendingGuardian(_ state.UserAccountHandler } // SetGuardian returns nil as this is a disabled implementation -func (dga *disabledGuardedAccount) SetGuardian(_ vmcommon.UserAccountHandler, _ []byte, _ []byte) error { +func (dga *disabledGuardedAccount) SetGuardian(_ vmcommon.UserAccountHandler, _ []byte, _ []byte, _ []byte) error { return nil } diff --git a/process/guardian/guardedAccount.go b/process/guardian/guardedAccount.go index 2b606afb724..1ea1ddc5385 100644 --- a/process/guardian/guardedAccount.go +++ b/process/guardian/guardedAccount.go @@ -115,19 +115,24 @@ func (agc *guardedAccount) HasPendingGuardian(uah state.UserAccountHandler) bool } // SetGuardian sets a guardian for an account -func (agc *guardedAccount) SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte) error { +func (agc *guardedAccount) SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte, guardianServiceUID []byte) error { stateUserAccount, ok := uah.(state.UserAccountHandler) if !ok { return process.ErrWrongTypeAssertion } + if len(guardianServiceUID) == 0 { + return process.ErrNilGuardianServiceUID + } + if len(txGuardianAddress) > 0 { - return agc.instantSetGuardian(stateUserAccount, guardianAddress, txGuardianAddress) + return agc.instantSetGuardian(stateUserAccount, guardianAddress, txGuardianAddress, guardianServiceUID) } guardian := &guardians.Guardian{ Address: guardianAddress, ActivationEpoch: agc.currentEpoch + agc.guardianActivationEpochsDelay, + ServiceUID: guardianServiceUID, } return agc.setAccountGuardian(stateUserAccount, guardian) @@ -173,6 +178,7 @@ func (agc *guardedAccount) instantSetGuardian( uah state.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte, + guardianServiceUID []byte, ) error { accountGuardians, err := agc.getConfiguredGuardians(uah) if err != nil { @@ -192,6 +198,7 @@ func (agc *guardedAccount) instantSetGuardian( guardian := &guardians.Guardian{ Address: guardianAddress, ActivationEpoch: agc.currentEpoch, + ServiceUID: guardianServiceUID, } accountGuardians.Slice = []*guardians.Guardian{guardian} diff --git a/process/guardian/guardedAccount_test.go b/process/guardian/guardedAccount_test.go index 0ffd67e2eae..40bac28cba1 100644 --- a/process/guardian/guardedAccount_test.go +++ b/process/guardian/guardedAccount_test.go @@ -349,6 +349,7 @@ func TestGuardedAccount_instantSetGuardian(t *testing.T) { ActivationEpoch: 20, } txGuardianAddress := []byte("guardian address") + guardianServiceUID := []byte("testID") t.Run("getActiveGuardianErr with err (no active guardian) should error", func(t *testing.T) { configuredGuardians := &guardians.Guardians{Slice: []*guardians.Guardian{}} @@ -360,7 +361,7 @@ func TestGuardedAccount_instantSetGuardian(t *testing.T) { }, } - err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress) + err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress, guardianServiceUID) require.Equal(t, process.ErrAccountHasNoActiveGuardian, err) }) t.Run("tx signed by different than active guardian should err", func(t *testing.T) { @@ -378,17 +379,19 @@ func TestGuardedAccount_instantSetGuardian(t *testing.T) { }, } - err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress) + err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress, guardianServiceUID) require.Equal(t, process.ErrTransactionAndAccountGuardianMismatch, err) }) t.Run("immediately set the guardian if setGuardian tx is signed by active guardian", func(t *testing.T) { activeGuardian := &guardians.Guardian{ Address: txGuardianAddress, ActivationEpoch: 1, + ServiceUID: guardianServiceUID, } newGuardian := &guardians.Guardian{ Address: []byte("new guardian address"), ActivationEpoch: currentEpoch, + ServiceUID: []byte("testServiceID2"), } configuredGuardians := &guardians.Guardians{Slice: []*guardians.Guardian{activeGuardian}} @@ -409,7 +412,7 @@ func TestGuardedAccount_instantSetGuardian(t *testing.T) { } }} - err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress) + err := ga.instantSetGuardian(ua, newGuardian.Address, txGuardianAddress, newGuardian.ServiceUID) require.Nil(t, err) }) } @@ -597,18 +600,22 @@ func TestGuardedAccount_getPendingGuardian(t *testing.T) { func TestGuardedAccount_SetGuardian(t *testing.T) { currentEpoch := uint32(10) ga := createGuardedAccountWithEpoch(currentEpoch) + guardianServiceUID := []byte("testID") + initialServiceUID := []byte("test2ID") g1 := &guardians.Guardian{ Address: []byte("guardian address 1"), ActivationEpoch: currentEpoch - 2, + ServiceUID: initialServiceUID, } g2 := &guardians.Guardian{ Address: []byte("guardian address 2"), ActivationEpoch: currentEpoch - 1, + ServiceUID: initialServiceUID, } newGuardianAddress := []byte("new guardian address") t.Run("invalid user account handler should err", func(t *testing.T) { - err := ga.SetGuardian(nil, newGuardianAddress, g1.Address) + err := ga.SetGuardian(nil, newGuardianAddress, g1.Address, guardianServiceUID) require.Equal(t, process.ErrWrongTypeAssertion, err) }) t.Run("transaction signed by current active guardian but instantSetGuardian returns error", func(t *testing.T) { @@ -619,7 +626,7 @@ func TestGuardedAccount_SetGuardian(t *testing.T) { return val, 0, err }, } - err := ga.SetGuardian(uah, newGuardianAddress, g2.Address) + err := ga.SetGuardian(uah, newGuardianAddress, g2.Address, guardianServiceUID) require.Equal(t, process.ErrTransactionAndAccountGuardianMismatch, err) }) t.Run("instantly set guardian if tx signed by current active guardian", func(t *testing.T) { @@ -627,6 +634,7 @@ func TestGuardedAccount_SetGuardian(t *testing.T) { newGuardian := &guardians.Guardian{ Address: newGuardianAddress, ActivationEpoch: currentEpoch, + ServiceUID: guardianServiceUID, } expectedNewGuardians, _ := ga.marshaller.Marshal(&guardians.Guardians{Slice: []*guardians.Guardian{newGuardian}}) @@ -645,14 +653,36 @@ func TestGuardedAccount_SetGuardian(t *testing.T) { } }, } - err := ga.SetGuardian(uah, newGuardianAddress, g1.Address) + err := ga.SetGuardian(uah, newGuardianAddress, g1.Address, guardianServiceUID) require.Nil(t, err) }) + t.Run("nil guardian serviceUID should err", func(t *testing.T) { + configuredGuardians := &guardians.Guardians{Slice: []*guardians.Guardian{g1}} + saveKeyValueCalled := false + uah := &stateMocks.UserAccountStub{ + RetrieveValueCalled: func(key []byte) ([]byte, uint32, error) { + val, err := ga.marshaller.Marshal(configuredGuardians) + return val, 0, err + }, + AccountDataHandlerCalled: func() vmcommon.AccountDataHandler { + return &trie.DataTrieTrackerStub{ + SaveKeyValueCalled: func(_ []byte, _ []byte) error { + saveKeyValueCalled = true + return nil + }, + } + }, + } + err := ga.SetGuardian(uah, newGuardianAddress, g1.Address, nil) + require.False(t, saveKeyValueCalled) + require.Equal(t, process.ErrNilGuardianServiceUID, err) + }) t.Run("tx not signed by active guardian sets guardian with delay", func(t *testing.T) { configuredGuardians := &guardians.Guardians{Slice: []*guardians.Guardian{g1}} newGuardian := &guardians.Guardian{ Address: newGuardianAddress, ActivationEpoch: currentEpoch + ga.guardianActivationEpochsDelay, + ServiceUID: guardianServiceUID, } expectedNewGuardians, _ := ga.marshaller.Marshal(&guardians.Guardians{Slice: []*guardians.Guardian{g1, newGuardian}}) @@ -671,7 +701,7 @@ func TestGuardedAccount_SetGuardian(t *testing.T) { } }, } - err := ga.SetGuardian(uah, newGuardianAddress, nil) + err := ga.SetGuardian(uah, newGuardianAddress, nil, guardianServiceUID) require.Nil(t, err) }) } diff --git a/process/interface.go b/process/interface.go index b5d4070c86a..70c71394fc0 100644 --- a/process/interface.go +++ b/process/interface.go @@ -1258,7 +1258,7 @@ type GuardedAccountHandler interface { GetActiveGuardian(handler vmcommon.UserAccountHandler) ([]byte, error) HasActiveGuardian(uah state.UserAccountHandler) bool HasPendingGuardian(uah state.UserAccountHandler) bool - SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte) error + SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte, guardianServiceUID []byte) error CleanOtherThanActive(uah vmcommon.UserAccountHandler) GetConfiguredGuardians(uah state.UserAccountHandler) (active *guardians.Guardian, pending *guardians.Guardian, err error) IsInterfaceNil() bool diff --git a/testscommon/guardianMocks/guardianAccountHandlerStub.go b/testscommon/guardianMocks/guardianAccountHandlerStub.go index bf0f600dbe7..f3c86715f96 100644 --- a/testscommon/guardianMocks/guardianAccountHandlerStub.go +++ b/testscommon/guardianMocks/guardianAccountHandlerStub.go @@ -9,7 +9,7 @@ import ( // GuardedAccountHandlerStub - type GuardedAccountHandlerStub struct { GetActiveGuardianCalled func(handler vmcommon.UserAccountHandler) ([]byte, error) - SetGuardianCalled func(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte) error + SetGuardianCalled func(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte, guardianServiceUID []byte) error HasPendingGuardianCalled func(uah state.UserAccountHandler) bool HasActiveGuardianCalled func(uah state.UserAccountHandler) bool CleanOtherThanActiveCalled func(uah vmcommon.UserAccountHandler) @@ -41,9 +41,9 @@ func (gahs *GuardedAccountHandlerStub) HasPendingGuardian(uah state.UserAccountH } // SetGuardian - -func (gahs *GuardedAccountHandlerStub) SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte) error { +func (gahs *GuardedAccountHandlerStub) SetGuardian(uah vmcommon.UserAccountHandler, guardianAddress []byte, txGuardianAddress []byte, guardianServiceUID []byte) error { if gahs.SetGuardianCalled != nil { - return gahs.SetGuardianCalled(uah, guardianAddress, txGuardianAddress) + return gahs.SetGuardianCalled(uah, guardianAddress, txGuardianAddress, guardianServiceUID) } return nil } From fb798ededa125daafe0296fd492930f28f056fc9 Mon Sep 17 00:00:00 2001 From: AdoAdoAdo Date: Tue, 20 Dec 2022 11:49:07 +0200 Subject: [PATCH 2/2] update gomod --- go.mod | 8 ++++---- go.sum | 18 ++++++++---------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 7ea4ca77309..3777cd8e274 100644 --- a/go.mod +++ b/go.mod @@ -5,14 +5,14 @@ go 1.17 require ( github.com/ElrondNetwork/elastic-indexer-go v1.3.3 github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9 - github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc + github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221213102512-0180dd3e00ce github.com/ElrondNetwork/elrond-go-logger v1.0.10 github.com/ElrondNetwork/elrond-go-p2p v1.0.5 github.com/ElrondNetwork/elrond-go-storage v1.0.4 github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d - github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221213075903-473826256396 - github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221213080744-6f0dfc0d2d8e - github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.69-0.20221213080907-de31f5655d76 + github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221220091555-43a76f302a3c + github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221220092736-8cf25a9de448 + github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.70-0.20221220092056-49d2bc14b314 github.com/beevik/ntp v0.3.0 github.com/davecgh/go-spew v1.1.1 github.com/elastic/go-elasticsearch/v7 v7.12.0 diff --git a/go.sum b/go.sum index f1fe2328ad3..dc0b16b3c57 100644 --- a/go.sum +++ b/go.sum @@ -50,12 +50,11 @@ github.com/ElrondNetwork/concurrent-map v0.1.3/go.mod h1:3XwSwn4JHI0lrKxWLZvtp53 github.com/ElrondNetwork/elastic-indexer-go v1.3.3 h1:RgJ043yt92PUWMbSAQHRrC+GiyNnFdwdM/kseHlpLoo= github.com/ElrondNetwork/elastic-indexer-go v1.3.3/go.mod h1:E3VO5712GkGSGYnOTJ+0wxW74JXgjV6XCRPlcHiTTK0= github.com/ElrondNetwork/elrond-go-core v1.1.26/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= -github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221207113027-6add1889c6e8/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9 h1:bqVom8Mvfmep6YYW8JjAfrZ+L0I139Llm68hgNc1tP4= github.com/ElrondNetwork/elrond-go-core v1.1.27-0.20221219143439-1bc10dae0ea9/go.mod h1:N/RI++YU2M6OlnD1GSZepc1wPhI84ykRDQ1IyD3B0wk= github.com/ElrondNetwork/elrond-go-crypto v1.2.2/go.mod h1:MyQPKUKti7Axnx/eihhL0F2jLTalvSV/Ytv1mIxvYyM= -github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc h1:BpKdjLY05fH/Y80s4n5vqIR73hSuZp4zFlL8+TAUWp4= -github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221212134904-9faa0161e5dc/go.mod h1:niLdPSYjcIzucSj2yMy+yq3KEW0jjFCfvTBOMQphmXk= +github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221213102512-0180dd3e00ce h1:zRLWpUnawPkbJ0b3lDkVWJwhNHwlaPN5POcXz+ToqqE= +github.com/ElrondNetwork/elrond-go-crypto v1.2.4-0.20221213102512-0180dd3e00ce/go.mod h1:niLdPSYjcIzucSj2yMy+yq3KEW0jjFCfvTBOMQphmXk= github.com/ElrondNetwork/elrond-go-logger v1.0.10 h1:2xQOWZErcHW5sl9qSRO+7mGNw+QhFhqiUlLLtOgvuuk= github.com/ElrondNetwork/elrond-go-logger v1.0.10/go.mod h1:+rMODFw4yQptTi5WuLUBzvl/AE26V+2YJtc52wX30Eg= github.com/ElrondNetwork/elrond-go-p2p v1.0.5 h1:XzuieXEKrVSQ9gKKO3sq60RRZC29IRYgmn7RsPmgUOA= @@ -64,17 +63,16 @@ github.com/ElrondNetwork/elrond-go-storage v1.0.2/go.mod h1:SRsv4hUtL1BCiQe0eADt github.com/ElrondNetwork/elrond-go-storage v1.0.4 h1:esyXbHQvlR6m4HGeC86Nq0xAJ74+QG9EnUgfG+wQDYQ= github.com/ElrondNetwork/elrond-go-storage v1.0.4/go.mod h1:SRsv4hUtL1BCiQe0eADth3C0EZH9baijzIJDCUitR34= github.com/ElrondNetwork/elrond-vm-common v1.3.27/go.mod h1:3GKLv9hUFYEVxoBgtaCmaZo9HMNfKN9mM/O/xX83Rbw= -github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221207113405-6973ba06dc58/go.mod h1:vBVpGtyb7ZerSqX/EOtUIGBGK9VtogmjwAmjAWCnCSw= github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d h1:pm2jV0AzYtkW4J0phwIuQwEQDVk0For8qC8rZZvFWHM= github.com/ElrondNetwork/elrond-vm-common v1.3.29-0.20221219143644-8d3505605a6d/go.mod h1:7aTygO6Kr+Bj8T7nQVFhSqLOji32E7FMHjzNhEkrL7M= github.com/ElrondNetwork/protobuf v1.3.2 h1:qoCSYiO+8GtXBEZWEjw0WPcZfM3g7QuuJrwpN+y6Mvg= github.com/ElrondNetwork/protobuf v1.3.2/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221213075903-473826256396 h1:f2FK3XFIySd2qhON8Q2IBB47ZCTO4AD+BYMPSKoVg6M= -github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221213075903-473826256396/go.mod h1:VF3fx+63lmKVkINjn2NkY4pb5s47ZcsiqP8U2AnnnZM= -github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221213080744-6f0dfc0d2d8e h1:R8qyNLa9HINdYiUX+MCbJ3xWWqXT3K/lQ8mTQuENz3g= -github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221213080744-6f0dfc0d2d8e/go.mod h1:HSy/wfbfbEqEyxuMNiDBqDzYnKhcKDNhte7HEzYHIbw= -github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.69-0.20221213080907-de31f5655d76 h1:8cLs/YMhQq+uKpEW/rN3W9v65yb3T4G4B/Kls9563UU= -github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.69-0.20221213080907-de31f5655d76/go.mod h1:OUoPdsZVaMbwSnsnBAKKVVzmUeXW1fSsahfgEUdq+Hc= +github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221220091555-43a76f302a3c h1:uFUfLY3kAOzdkIgd3BgZ3anAoISVn5nY0YD/n5uXCdI= +github.com/ElrondNetwork/wasm-vm-v1_2 v1.2.49-0.20221220091555-43a76f302a3c/go.mod h1:uPhPRwI8mRJTVZ9ytFTOq+ZAUVrwih0g32PGGT3t7yU= +github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221220092736-8cf25a9de448 h1:Qp0N3U0dPSFbGfMl6Tfh18/bT02KZownknnEoCgXUE4= +github.com/ElrondNetwork/wasm-vm-v1_3 v1.3.49-0.20221220092736-8cf25a9de448/go.mod h1:Rpq4orzireC64k1WfBh0KMB0mQ09X7wrLWJgLpq9ExA= +github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.70-0.20221220092056-49d2bc14b314 h1:FYOkSKADmVad/4lInR6p92Zd1yts8pAkWfs0YOnQTdQ= +github.com/ElrondNetwork/wasm-vm-v1_4 v1.4.70-0.20221220092056-49d2bc14b314/go.mod h1:7ei2wjHna2Ag5fQ7LHhIBUaN0XQGJGIIfE7XewIGwfI= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=