Skip to content

Commit d41a6c2

Browse files
authored
Merge pull request #6812 from multiversx/merge_master_into_rc_barnard_2025.02.17
Merge master into rc barnard 2025.02.17
2 parents b2412a7 + 2e8834c commit d41a6c2

File tree

16 files changed

+598
-122
lines changed

16 files changed

+598
-122
lines changed

cmd/node/config/enableEpochs.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,9 @@
336336
# RelayedTransactionsV3EnableEpoch represents the epoch when the relayed transactions v3 will be enabled
337337
RelayedTransactionsV3EnableEpoch = 1
338338

339+
# RelayedTransactionsV3FixESDTTransferEnableEpoch represents the epoch when the fix for relayed transactions v3 with esdt transfer will be enabled
340+
RelayedTransactionsV3FixESDTTransferEnableEpoch = 1 # TODO: keep this equal to RelayedTransactionsV3EnableEpoch for mainnet
341+
339342
# MaskVMInternalDependenciesErrorsEnableEpoch represents the epoch when the additional internal erorr masking in vm is enabled
340343
MaskVMInternalDependenciesErrorsEnableEpoch = 2
341344

common/constants.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,9 @@ const (
743743
// MetricRelayedTransactionsV3EnableEpoch represents the epoch when the relayed transactions v3 are enabled
744744
MetricRelayedTransactionsV3EnableEpoch = "erd_relayed_transactions_v3_enable_epoch"
745745

746+
// MetricRelayedTransactionsV3FixESDTTransferEnableEpoch represents the epoch when the fix for relayed transactions v3 with esdt transfer are enabled
747+
MetricRelayedTransactionsV3FixESDTTransferEnableEpoch = "erd_relayed_transactions_v3_fix_esdt_transfer_enable_epoch"
748+
746749
// MetricMaskVMInternalDependenciesErrorsEnableEpoch represents the epoch when the additional internal erorr masking in vm is enabled
747750
MetricMaskVMInternalDependenciesErrorsEnableEpoch = "erd_mask_vm_internal_dependencies_errors_enable_epoch"
748751

@@ -1247,6 +1250,7 @@ const (
12471250
MultiESDTNFTTransferAndExecuteByUserFlag core.EnableEpochFlag = "MultiESDTNFTTransferAndExecuteByUserFlag"
12481251
FixRelayedMoveBalanceToNonPayableSCFlag core.EnableEpochFlag = "FixRelayedMoveBalanceToNonPayableSCFlag"
12491252
RelayedTransactionsV3Flag core.EnableEpochFlag = "RelayedTransactionsV3Flag"
1253+
RelayedTransactionsV3FixESDTTransferFlag core.EnableEpochFlag = "RelayedTransactionsV3FixESDTTransferFlag"
12501254
MaskInternalDependenciesErrorsFlag core.EnableEpochFlag = "MaskInternalDependenciesErrorsFlag"
12511255
FixBackTransferOPCODEFlag core.EnableEpochFlag = "FixBackTransferOPCODEFlag"
12521256
// all new flags must be added to createAllFlagsMap method, as part of enableEpochsHandler allFlagsDefined

common/enablers/enableEpochsHandler.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,12 @@ func (handler *enableEpochsHandler) createAllFlagsMap() {
786786
},
787787
activationEpoch: handler.enableEpochsConfig.RelayedTransactionsV3EnableEpoch,
788788
},
789+
common.RelayedTransactionsV3FixESDTTransferFlag: {
790+
isActiveInEpoch: func(epoch uint32) bool {
791+
return epoch >= handler.enableEpochsConfig.RelayedTransactionsV3FixESDTTransferEnableEpoch
792+
},
793+
activationEpoch: handler.enableEpochsConfig.RelayedTransactionsV3FixESDTTransferEnableEpoch,
794+
},
789795
common.MaskInternalDependenciesErrorsFlag: {
790796
isActiveInEpoch: func(epoch uint32) bool {
791797
return epoch >= handler.enableEpochsConfig.MaskVMInternalDependenciesErrorsEnableEpoch

common/enablers/enableEpochsHandler_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,9 @@ func createEnableEpochsConfig() config.EnableEpochs {
124124
FixRelayedMoveBalanceToNonPayableSCEnableEpoch: 107,
125125
UseGasBoundedShouldFailExecutionEnableEpoch: 108,
126126
RelayedTransactionsV3EnableEpoch: 109,
127-
MaskVMInternalDependenciesErrorsEnableEpoch: 110,
128-
FixBackTransferOPCODEEnableEpoch: 111,
127+
RelayedTransactionsV3FixESDTTransferEnableEpoch: 110,
128+
MaskVMInternalDependenciesErrorsEnableEpoch: 111,
129+
FixBackTransferOPCODEEnableEpoch: 112,
129130
}
130131
}
131132

@@ -452,6 +453,7 @@ func TestEnableEpochsHandler_GetActivationEpoch(t *testing.T) {
452453
require.Equal(t, cfg.MultiESDTNFTTransferAndExecuteByUserEnableEpoch, handler.GetActivationEpoch(common.MultiESDTNFTTransferAndExecuteByUserFlag))
453454
require.Equal(t, cfg.FixRelayedMoveBalanceToNonPayableSCEnableEpoch, handler.GetActivationEpoch(common.FixRelayedMoveBalanceToNonPayableSCFlag))
454455
require.Equal(t, cfg.RelayedTransactionsV3EnableEpoch, handler.GetActivationEpoch(common.RelayedTransactionsV3Flag))
456+
require.Equal(t, cfg.RelayedTransactionsV3FixESDTTransferEnableEpoch, handler.GetActivationEpoch(common.RelayedTransactionsV3FixESDTTransferFlag))
455457
require.Equal(t, cfg.MaskVMInternalDependenciesErrorsEnableEpoch, handler.GetActivationEpoch(common.MaskInternalDependenciesErrorsFlag))
456458
require.Equal(t, cfg.FixBackTransferOPCODEEnableEpoch, handler.GetActivationEpoch(common.FixBackTransferOPCODEFlag))
457459
}

config/epochConfig.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ type EnableEpochs struct {
123123
MultiESDTNFTTransferAndExecuteByUserEnableEpoch uint32
124124
FixRelayedMoveBalanceToNonPayableSCEnableEpoch uint32
125125
RelayedTransactionsV3EnableEpoch uint32
126+
RelayedTransactionsV3FixESDTTransferEnableEpoch uint32
126127
MaskVMInternalDependenciesErrorsEnableEpoch uint32
127128
FixBackTransferOPCODEEnableEpoch uint32
128129
BLSMultiSignerEnableEpoch []MultiSignerConfig

config/tomlConfig_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -890,11 +890,14 @@ func TestEnableEpochConfig(t *testing.T) {
890890
# RelayedTransactionsV3EnableEpoch represents the epoch when the relayed transactions v3 will be enabled
891891
RelayedTransactionsV3EnableEpoch = 103
892892
893+
# RelayedTransactionsV3FixESDTTransferEnableEpoch represents the epoch when the fix for relayed transactions v3 with esdt transfer will be enabled
894+
RelayedTransactionsV3FixESDTTransferEnableEpoch = 104
895+
893896
# MaskVMInternalDependenciesErrorsEnableEpoch represents the epoch when the additional internal erorr masking in vm is enabled
894-
MaskVMInternalDependenciesErrorsEnableEpoch = 104
897+
MaskVMInternalDependenciesErrorsEnableEpoch = 105
895898
896899
# FixBackTransferOPCODEEnableEpoch represents the epoch when the fix for back transfers opcode will be enabled
897-
FixBackTransferOPCODEEnableEpoch = 105
900+
FixBackTransferOPCODEEnableEpoch = 106
898901
899902
# MaxNodesChangeEnableEpoch holds configuration for changing the maximum number of nodes and the enabling epoch
900903
MaxNodesChangeEnableEpoch = [
@@ -1017,8 +1020,9 @@ func TestEnableEpochConfig(t *testing.T) {
10171020
MultiESDTNFTTransferAndExecuteByUserEnableEpoch: 101,
10181021
FixRelayedMoveBalanceToNonPayableSCEnableEpoch: 102,
10191022
RelayedTransactionsV3EnableEpoch: 103,
1020-
MaskVMInternalDependenciesErrorsEnableEpoch: 104,
1021-
FixBackTransferOPCODEEnableEpoch: 105,
1023+
RelayedTransactionsV3FixESDTTransferEnableEpoch: 104,
1024+
MaskVMInternalDependenciesErrorsEnableEpoch: 105,
1025+
FixBackTransferOPCODEEnableEpoch: 106,
10221026
MaxNodesChangeEnableEpoch: []MaxNodesChangeConfig{
10231027
{
10241028
EpochEnable: 44,

go.mod

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ require (
77
github.com/davecgh/go-spew v1.1.1
88
github.com/gin-contrib/cors v1.4.0
99
github.com/gin-contrib/pprof v1.4.0
10-
github.com/gin-gonic/gin v1.9.1
10+
github.com/gin-gonic/gin v1.10.0
1111
github.com/gizak/termui/v3 v3.1.0
1212
github.com/gogo/protobuf v1.3.2
1313
github.com/google/gops v0.3.18
1414
github.com/gorilla/websocket v1.5.0
15-
github.com/klauspost/cpuid/v2 v2.2.5
15+
github.com/klauspost/cpuid/v2 v2.2.7
1616
github.com/mitchellh/mapstructure v1.5.0
1717
github.com/multiversx/mx-chain-communication-go v1.1.1
1818
github.com/multiversx/mx-chain-core-go v1.2.24
1919
github.com/multiversx/mx-chain-crypto-go v1.2.12
20-
github.com/multiversx/mx-chain-es-indexer-go v1.7.14
20+
github.com/multiversx/mx-chain-es-indexer-go v1.7.16
2121
github.com/multiversx/mx-chain-logger-go v1.0.15
2222
github.com/multiversx/mx-chain-scenario-go v1.4.5-0.20240802080531-0906745c04b2
2323
github.com/multiversx/mx-chain-storage-go v1.0.19
@@ -30,9 +30,9 @@ require (
3030
github.com/pkg/errors v0.9.1
3131
github.com/prometheus/client_golang v1.14.0
3232
github.com/shirou/gopsutil v3.21.11+incompatible
33-
github.com/stretchr/testify v1.8.4
34-
github.com/urfave/cli v1.22.10
35-
golang.org/x/crypto v0.10.0
33+
github.com/stretchr/testify v1.10.0
34+
github.com/urfave/cli v1.22.16
35+
golang.org/x/crypto v0.31.0
3636
gopkg.in/go-playground/validator.v8 v8.18.2
3737
)
3838

@@ -44,12 +44,14 @@ require (
4444
github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect
4545
github.com/btcsuite/btcd/btcutil v1.1.3 // indirect
4646
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect
47-
github.com/bytedance/sonic v1.9.1 // indirect
47+
github.com/bytedance/sonic v1.11.6 // indirect
48+
github.com/bytedance/sonic/loader v0.1.1 // indirect
4849
github.com/cespare/xxhash/v2 v2.2.0 // indirect
49-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
50+
github.com/cloudwego/base64x v0.1.4 // indirect
51+
github.com/cloudwego/iasm v0.2.0 // indirect
5052
github.com/containerd/cgroups v1.1.0 // indirect
5153
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
52-
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
54+
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
5355
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
5456
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
5557
github.com/denisbrodbeck/machineid v1.0.1 // indirect
@@ -58,14 +60,14 @@ require (
5860
github.com/elastic/gosigar v0.14.2 // indirect
5961
github.com/flynn/noise v1.0.0 // indirect
6062
github.com/francoispqt/gojay v1.2.13 // indirect
61-
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
63+
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
6264
github.com/gin-contrib/sse v0.1.0 // indirect
6365
github.com/go-logr/logr v1.2.4 // indirect
6466
github.com/go-logr/stdr v1.2.2 // indirect
6567
github.com/go-ole/go-ole v1.2.6 // indirect
6668
github.com/go-playground/locales v0.14.1 // indirect
6769
github.com/go-playground/universal-translator v0.18.1 // indirect
68-
github.com/go-playground/validator/v10 v10.14.0 // indirect
70+
github.com/go-playground/validator/v10 v10.20.0 // indirect
6971
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
7072
github.com/goccy/go-json v0.10.2 // indirect
7173
github.com/godbus/dbus/v5 v5.1.0 // indirect
@@ -74,7 +76,7 @@ require (
7476
github.com/golang/snappy v0.0.4 // indirect
7577
github.com/google/gopacket v1.1.19 // indirect
7678
github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect
77-
github.com/google/uuid v1.3.0 // indirect
79+
github.com/google/uuid v1.6.0 // indirect
7880
github.com/gorilla/mux v1.8.0 // indirect
7981
github.com/hashicorp/errwrap v1.1.0 // indirect
8082
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -94,7 +96,7 @@ require (
9496
github.com/json-iterator/go v1.1.12 // indirect
9597
github.com/klauspost/compress v1.16.5 // indirect
9698
github.com/koron/go-ssdp v0.0.4 // indirect
97-
github.com/leodido/go-urn v1.2.4 // indirect
99+
github.com/leodido/go-urn v1.4.0 // indirect
98100
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
99101
github.com/libp2p/go-cidranger v1.1.0 // indirect
100102
github.com/libp2p/go-flow-metrics v0.1.0 // indirect
@@ -110,7 +112,7 @@ require (
110112
github.com/libp2p/go-reuseport v0.3.0 // indirect
111113
github.com/libp2p/go-yamux/v4 v4.0.0 // indirect
112114
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
113-
github.com/mattn/go-isatty v0.0.19 // indirect
115+
github.com/mattn/go-isatty v0.0.20 // indirect
114116
github.com/mattn/go-runewidth v0.0.2 // indirect
115117
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
116118
github.com/miekg/dns v1.1.54 // indirect
@@ -138,7 +140,7 @@ require (
138140
github.com/opencontainers/runtime-spec v1.0.2 // indirect
139141
github.com/opentracing/opentracing-go v1.2.0 // indirect
140142
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
141-
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
143+
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
142144
github.com/pmezard/go-difflib v1.0.0 // indirect
143145
github.com/polydawn/refmt v0.89.0 // indirect
144146
github.com/prometheus/client_model v0.4.0 // indirect
@@ -154,13 +156,13 @@ require (
154156
github.com/smartystreets/assertions v1.13.1 // indirect
155157
github.com/spaolacci/murmur3 v1.1.0 // indirect
156158
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
157-
github.com/tidwall/gjson v1.14.0 // indirect
159+
github.com/tidwall/gjson v1.18.0 // indirect
158160
github.com/tidwall/match v1.1.1 // indirect
159161
github.com/tidwall/pretty v1.2.0 // indirect
160162
github.com/tklauser/go-sysconf v0.3.4 // indirect
161163
github.com/tklauser/numcpus v0.2.1 // indirect
162164
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
163-
github.com/ugorji/go/codec v1.2.11 // indirect
165+
github.com/ugorji/go/codec v1.2.12 // indirect
164166
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
165167
github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect
166168
github.com/yusufpapurcu/wmi v1.2.2 // indirect
@@ -172,16 +174,16 @@ require (
172174
go.uber.org/fx v1.19.2 // indirect
173175
go.uber.org/multierr v1.11.0 // indirect
174176
go.uber.org/zap v1.24.0 // indirect
175-
golang.org/x/arch v0.3.0 // indirect
177+
golang.org/x/arch v0.8.0 // indirect
176178
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
177-
golang.org/x/mod v0.10.0 // indirect
178-
golang.org/x/net v0.11.0 // indirect
179-
golang.org/x/sync v0.2.0 // indirect
180-
golang.org/x/sys v0.10.0 // indirect
181-
golang.org/x/text v0.10.0 // indirect
182-
golang.org/x/tools v0.9.1 // indirect
179+
golang.org/x/mod v0.17.0 // indirect
180+
golang.org/x/net v0.33.0 // indirect
181+
golang.org/x/sync v0.10.0 // indirect
182+
golang.org/x/sys v0.28.0 // indirect
183+
golang.org/x/text v0.21.0 // indirect
184+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
183185
gonum.org/v1/gonum v0.11.0 // indirect
184-
google.golang.org/protobuf v1.30.0 // indirect
186+
google.golang.org/protobuf v1.36.3 // indirect
185187
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
186188
gopkg.in/yaml.v3 v3.0.1 // indirect
187189
lukechampine.com/blake3 v1.2.1 // indirect

0 commit comments

Comments
 (0)