From cfed010e8255d647f8a365d032ad9c7695802541 Mon Sep 17 00:00:00 2001 From: Toni Lukkaroinen Date: Sun, 5 May 2024 09:24:31 +0300 Subject: [PATCH] Fix block verbosedata population from skipping transaction verbosedata population when BlockInfo errorenously reports block as Header only, but domainBlock is still fount with GetBlockEvenIfHeaderOnly. --- app/rpc/rpccontext/verbosedata.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/rpc/rpccontext/verbosedata.go b/app/rpc/rpccontext/verbosedata.go index e42d3ed8d..6307e5cc5 100644 --- a/app/rpc/rpccontext/verbosedata.go +++ b/app/rpc/rpccontext/verbosedata.go @@ -81,10 +81,6 @@ func (ctx *Context) PopulateBlockWithVerboseData(block *appmessage.RPCBlock, dom block.VerboseData.SelectedParentHash = blockInfo.SelectedParent.String() } - if blockInfo.BlockStatus == externalapi.StatusHeaderOnly { - return nil - } - // Get the block if we didn't receive it previously if domainBlock == nil { domainBlock, err = ctx.Domain.Consensus().GetBlockEvenIfHeaderOnly(blockHash) @@ -93,6 +89,10 @@ func (ctx *Context) PopulateBlockWithVerboseData(block *appmessage.RPCBlock, dom } } + if domainBlock == nil && blockInfo.BlockStatus == externalapi.StatusHeaderOnly { + return nil + } + transactionIDs := make([]string, len(domainBlock.Transactions)) for i, transaction := range domainBlock.Transactions { transactionIDs[i] = consensushashing.TransactionID(transaction).String()