|
|
@ -207,6 +207,7 @@ func (node *Node) proposeReceiptsProof() []*types.CXReceiptsProof { |
|
|
|
|
|
|
|
|
|
|
|
m := make(map[common.Hash]bool) |
|
|
|
m := make(map[common.Hash]bool) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Loop: |
|
|
|
for _, cxp := range node.pendingCXReceipts { |
|
|
|
for _, cxp := range node.pendingCXReceipts { |
|
|
|
if numProposed > IncomingReceiptsLimit { |
|
|
|
if numProposed > IncomingReceiptsLimit { |
|
|
|
pendingReceiptsList = append(pendingReceiptsList, cxp) |
|
|
|
pendingReceiptsList = append(pendingReceiptsList, cxp) |
|
|
@ -225,6 +226,12 @@ func (node *Node) proposeReceiptsProof() []*types.CXReceiptsProof { |
|
|
|
m[hash] = true |
|
|
|
m[hash] = true |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for _, item := range cxp.Receipts { |
|
|
|
|
|
|
|
if item.ToShardID != node.Blockchain().ShardID() { |
|
|
|
|
|
|
|
continue Loop |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if err := core.IsValidCXReceiptsProof(cxp); err != nil { |
|
|
|
if err := core.IsValidCXReceiptsProof(cxp); err != nil { |
|
|
|
utils.Logger().Error().Err(err).Msg("[proposeReceiptsProof] Invalid CXReceiptsProof") |
|
|
|
utils.Logger().Error().Err(err).Msg("[proposeReceiptsProof] Invalid CXReceiptsProof") |
|
|
|
continue |
|
|
|
continue |
|
|
|