From c9d775ddc3d9d75bc6b98a8b4f92b93d92eb827a Mon Sep 17 00:00:00 2001 From: MariusC Date: Tue, 4 Jun 2024 16:19:37 +0300 Subject: [PATCH 1/2] FIX: Destination shard id in chain simulator for meta chain addresses --- node/chainSimulator/chainSimulator.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/node/chainSimulator/chainSimulator.go b/node/chainSimulator/chainSimulator.go index e8ebd406739..46784ef90c0 100644 --- a/node/chainSimulator/chainSimulator.go +++ b/node/chainSimulator/chainSimulator.go @@ -566,6 +566,10 @@ func (s *simulator) computeTransactionsStatus(txsWithResult []*transactionWithRe sentTx := resultTx.tx destinationShardID := s.GetNodeHandler(0).GetShardCoordinator().ComputeId(sentTx.RcvAddr) + if core.IsSmartContractOnMetachain([]byte{255}, sentTx.RcvAddr) { + destinationShardID = s.GetNodeHandler(0).GetShardCoordinator().ComputeId(sentTx.SndAddr) + } + result, errGet := s.GetNodeHandler(destinationShardID).GetFacadeHandler().GetTransaction(resultTx.hexHash, true) if errGet == nil && result.Status != transaction.TxStatusPending { log.Info("############## transaction was executed ##############", "txHash", resultTx.hexHash) From 862c590a33acd0f16a25846a90a128e89562e52c Mon Sep 17 00:00:00 2001 From: MariusC Date: Wed, 5 Jun 2024 13:20:32 +0300 Subject: [PATCH 2/2] FIX: Destination shard id in chain simulator for meta chain addresses 3 --- node/chainSimulator/chainSimulator.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/node/chainSimulator/chainSimulator.go b/node/chainSimulator/chainSimulator.go index 46784ef90c0..b932a13f1c1 100644 --- a/node/chainSimulator/chainSimulator.go +++ b/node/chainSimulator/chainSimulator.go @@ -559,6 +559,7 @@ func (s *simulator) SendTxsAndGenerateBlocksTilAreExecuted(txsToSend []*transact func (s *simulator) computeTransactionsStatus(txsWithResult []*transactionWithResult) bool { allAreExecuted := true + contractDeploySCAddress := make([]byte, s.GetNodeHandler(0).GetCoreComponents().AddressPubKeyConverter().Len()) for _, resultTx := range txsWithResult { if resultTx.result != nil { continue @@ -566,7 +567,7 @@ func (s *simulator) computeTransactionsStatus(txsWithResult []*transactionWithRe sentTx := resultTx.tx destinationShardID := s.GetNodeHandler(0).GetShardCoordinator().ComputeId(sentTx.RcvAddr) - if core.IsSmartContractOnMetachain([]byte{255}, sentTx.RcvAddr) { + if bytes.Equal(sentTx.RcvAddr, contractDeploySCAddress) { destinationShardID = s.GetNodeHandler(0).GetShardCoordinator().ComputeId(sentTx.SndAddr) }