continue
}
- if block.Witness[node.Order] == nil {
+ if block.Get(node.Order) == nil {
cachekey := signCacheKey(blockHash.String(), pubKey)
if signature, ok := c.signatureCache.Get(cachekey); ok {
- block.Witness[node.Order] = signature.([]byte)
+ block.Set(node.Order, signature.([]byte))
} else {
continue
}
}
- if err := c.checkNodeSign(&block.BlockHeader, node, block.Witness[node.Order]); err == errDoubleSignBlock {
+ if err := c.checkNodeSign(&block.BlockHeader, node, block.Get(node.Order)); err == errDoubleSignBlock {
log.WithFields(log.Fields{"module": logModule, "blockHash": blockHash.String(), "pubKey": pubKey}).Warn("the consensus node double sign the same height of different block")
- block.Witness[node.Order] = nil
+ block.Delete(node.Order)
continue
} else if err != nil {
return err
}
}
- signature := block.Witness[node.Order]
+ signature := block.Get(node.Order)
if len(signature) == 0 {
signature = xprv.Sign(block.Hash().Bytes())
- block.Witness[node.Order] = signature
+ block.Set(node.Order, signature)
}
return signature, nil
}
return err
}
- block.Witness[nodeOrder] = signature
+ block.Set(nodeOrder, signature)
+
txStatus, err := c.store.GetTransactionStatus(&blockNode.Hash)
if err != nil {
return err