utils.Logger().Warn().Interface("calculated",sha).Interface("got",myShardRoot).Msg("[ProcessReceiptMessage] Trie Root of ReadCXReceipts Not Match")
utils.Logger().Warn().Uint32("sourceShardID",sourceShardID).Interface("sourceBlockNum",sourceBlockNum).Interface("calculated",sha).Interface("got",myShardRoot).Msg("[ProcessReceiptMessage] Trie Root of ReadCXReceipts Not Match")
utils.Logger().Warn().Uint32("sourceShardID",sourceShardID).Interface("sourceBlockNum",sourceBlockNum).Interface("calculated",outgoingHashFromSourceShard).Interface("got",sourceOutgoingCXReceiptsHash).Msg("[ProcessReceiptMessage] IncomingReceiptRootHash from source shard not match")
return
}
sourceShardID:=merkleProof.ShardID
sourceBlockNum:=merkleProof.BlockNum
sourceBlockHash:=merkleProof.BlockHash
// TODO: check message signature is from the nodes of source shard.
// TODO: (3) check message signature is from the nodes of source shard.