Skip to content

Commit bb4893f

Browse files
committed
Merge branch 'fix_relayed_v3_esdt_transfer' into lastest-indexer-spica-relayed-v3-fix
2 parents 61dc256 + 1bf6d6d commit bb4893f

File tree

14 files changed

+489
-37
lines changed

14 files changed

+489
-37
lines changed

.github/workflows/build_and_run_chain_simulator_and_execute_system_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ jobs:
179179
180180
- name: Upload test report
181181
if: always()
182-
uses: actions/upload-artifact@v3
182+
uses: actions/upload-artifact@v4
183183
with:
184184
name: pytest-report-${{ github.run_id }}
185185
path: reports/report.html

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
# BLSMultiSignerEnableEpoch represents the activation epoch for different types of BLS multi-signers
340343
BLSMultiSignerEnableEpoch = [
341344
{ EnableEpoch = 0, Type = "no-KOSK" },

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
// MetricMaxNodesChangeEnableEpoch holds configuration for changing the maximum number of nodes and the enabling epoch
747750
MetricMaxNodesChangeEnableEpoch = "erd_max_nodes_change_enable_epoch"
748751

@@ -1241,5 +1244,6 @@ const (
12411244
MultiESDTNFTTransferAndExecuteByUserFlag core.EnableEpochFlag = "MultiESDTNFTTransferAndExecuteByUserFlag"
12421245
FixRelayedMoveBalanceToNonPayableSCFlag core.EnableEpochFlag = "FixRelayedMoveBalanceToNonPayableSCFlag"
12431246
RelayedTransactionsV3Flag core.EnableEpochFlag = "RelayedTransactionsV3Flag"
1247+
RelayedTransactionsV3FixESDTTransferFlag core.EnableEpochFlag = "RelayedTransactionsV3FixESDTTransferFlag"
12441248
// all new flags must be added to createAllFlagsMap method, as part of enableEpochsHandler allFlagsDefined
12451249
)

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
}
790796
}
791797

common/enablers/enableEpochsHandler_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ func createEnableEpochsConfig() config.EnableEpochs {
124124
FixRelayedMoveBalanceToNonPayableSCEnableEpoch: 107,
125125
UseGasBoundedShouldFailExecutionEnableEpoch: 108,
126126
RelayedTransactionsV3EnableEpoch: 109,
127+
RelayedTransactionsV3FixESDTTransferEnableEpoch: 110,
127128
}
128129
}
129130

@@ -450,6 +451,7 @@ func TestEnableEpochsHandler_GetActivationEpoch(t *testing.T) {
450451
require.Equal(t, cfg.MultiESDTNFTTransferAndExecuteByUserEnableEpoch, handler.GetActivationEpoch(common.MultiESDTNFTTransferAndExecuteByUserFlag))
451452
require.Equal(t, cfg.FixRelayedMoveBalanceToNonPayableSCEnableEpoch, handler.GetActivationEpoch(common.FixRelayedMoveBalanceToNonPayableSCFlag))
452453
require.Equal(t, cfg.RelayedTransactionsV3EnableEpoch, handler.GetActivationEpoch(common.RelayedTransactionsV3Flag))
454+
require.Equal(t, cfg.RelayedTransactionsV3FixESDTTransferEnableEpoch, handler.GetActivationEpoch(common.RelayedTransactionsV3FixESDTTransferFlag))
453455
}
454456

455457
func TestEnableEpochsHandler_IsInterfaceNil(t *testing.T) {

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
BLSMultiSignerEnableEpoch []MultiSignerConfig
127128
}
128129

config/tomlConfig_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,9 @@ func TestEnableEpochConfig(t *testing.T) {
887887
# RelayedTransactionsV3EnableEpoch represents the epoch when the relayed transactions v3 will be enabled
888888
RelayedTransactionsV3EnableEpoch = 103
889889
890+
# RelayedTransactionsV3FixESDTTransferEnableEpoch represents the epoch when the fix for relayed transactions v3 with esdt transfer will be enabled
891+
RelayedTransactionsV3FixESDTTransferEnableEpoch = 104
892+
890893
# MaxNodesChangeEnableEpoch holds configuration for changing the maximum number of nodes and the enabling epoch
891894
MaxNodesChangeEnableEpoch = [
892895
{ EpochEnable = 44, MaxNumNodes = 2169, NodesToShufflePerShard = 80 },
@@ -1008,6 +1011,7 @@ func TestEnableEpochConfig(t *testing.T) {
10081011
MultiESDTNFTTransferAndExecuteByUserEnableEpoch: 101,
10091012
FixRelayedMoveBalanceToNonPayableSCEnableEpoch: 102,
10101013
RelayedTransactionsV3EnableEpoch: 103,
1014+
RelayedTransactionsV3FixESDTTransferEnableEpoch: 104,
10111015
MaxNodesChangeEnableEpoch: []MaxNodesChangeConfig{
10121016
{
10131017
EpochEnable: 44,

0 commit comments

Comments
 (0)