mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-06-07 06:36:46 +00:00
Unite multiple GetBlockAcceptanceData
consensus calls to one (#2074)
* Unite multiple `GetBlockAcceptanceData` consensus calls to one * Variable rename
This commit is contained in:
parent
5cea285960
commit
d50ad0667c
@ -40,16 +40,18 @@ func (ctx *Context) getAndConvertAcceptedTransactionIDs(selectedParentChainChang
|
|||||||
|
|
||||||
acceptedTransactionIDs := make([]*appmessage.AcceptedTransactionIDs, len(selectedParentChainChanges.Added))
|
acceptedTransactionIDs := make([]*appmessage.AcceptedTransactionIDs, len(selectedParentChainChanges.Added))
|
||||||
|
|
||||||
|
chainBlocksAcceptanceData, err := ctx.Domain.Consensus().GetBlocksAcceptanceData(selectedParentChainChanges.Added)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
for i, addedChainBlock := range selectedParentChainChanges.Added {
|
for i, addedChainBlock := range selectedParentChainChanges.Added {
|
||||||
blockAcceptanceData, err := ctx.Domain.Consensus().GetBlockAcceptanceData(addedChainBlock)
|
chainBlockAcceptanceData := chainBlocksAcceptanceData[i]
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
acceptedTransactionIDs[i] = &appmessage.AcceptedTransactionIDs{
|
acceptedTransactionIDs[i] = &appmessage.AcceptedTransactionIDs{
|
||||||
AcceptingBlockHash: addedChainBlock.String(),
|
AcceptingBlockHash: addedChainBlock.String(),
|
||||||
AcceptedTransactionIDs: nil,
|
AcceptedTransactionIDs: nil,
|
||||||
}
|
}
|
||||||
for _, blockAcceptanceData := range blockAcceptanceData {
|
for _, blockAcceptanceData := range chainBlockAcceptanceData {
|
||||||
for _, transactionAcceptanceData := range blockAcceptanceData.TransactionAcceptanceData {
|
for _, transactionAcceptanceData := range blockAcceptanceData.TransactionAcceptanceData {
|
||||||
if transactionAcceptanceData.IsAccepted {
|
if transactionAcceptanceData.IsAccepted {
|
||||||
acceptedTransactionIDs[i].AcceptedTransactionIDs =
|
acceptedTransactionIDs[i].AcceptedTransactionIDs =
|
||||||
|
@ -426,6 +426,30 @@ func (s *consensus) GetBlockAcceptanceData(blockHash *externalapi.DomainHash) (e
|
|||||||
return s.acceptanceDataStore.Get(s.databaseContext, stagingArea, blockHash)
|
return s.acceptanceDataStore.Get(s.databaseContext, stagingArea, blockHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *consensus) GetBlocksAcceptanceData(blockHashes []*externalapi.DomainHash) ([]externalapi.AcceptanceData, error) {
|
||||||
|
s.lock.Lock()
|
||||||
|
defer s.lock.Unlock()
|
||||||
|
|
||||||
|
stagingArea := model.NewStagingArea()
|
||||||
|
blocksAcceptanceData := make([]externalapi.AcceptanceData, len(blockHashes))
|
||||||
|
|
||||||
|
for i, blockHash := range blockHashes {
|
||||||
|
err := s.validateBlockHashExists(stagingArea, blockHash)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
acceptanceData, err := s.acceptanceDataStore.Get(s.databaseContext, stagingArea, blockHash)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
blocksAcceptanceData[i] = acceptanceData
|
||||||
|
}
|
||||||
|
|
||||||
|
return blocksAcceptanceData, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *consensus) GetHashesBetween(lowHash, highHash *externalapi.DomainHash, maxBlocks uint64) (
|
func (s *consensus) GetHashesBetween(lowHash, highHash *externalapi.DomainHash, maxBlocks uint64) (
|
||||||
hashes []*externalapi.DomainHash, actualHighHash *externalapi.DomainHash, err error) {
|
hashes []*externalapi.DomainHash, actualHighHash *externalapi.DomainHash, err error) {
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ type Consensus interface {
|
|||||||
GetBlockInfo(blockHash *DomainHash) (*BlockInfo, error)
|
GetBlockInfo(blockHash *DomainHash) (*BlockInfo, error)
|
||||||
GetBlockRelations(blockHash *DomainHash) (parents []*DomainHash, children []*DomainHash, err error)
|
GetBlockRelations(blockHash *DomainHash) (parents []*DomainHash, children []*DomainHash, err error)
|
||||||
GetBlockAcceptanceData(blockHash *DomainHash) (AcceptanceData, error)
|
GetBlockAcceptanceData(blockHash *DomainHash) (AcceptanceData, error)
|
||||||
|
GetBlocksAcceptanceData(blockHashes []*DomainHash) ([]AcceptanceData, error)
|
||||||
|
|
||||||
GetHashesBetween(lowHash, highHash *DomainHash, maxBlocks uint64) (hashes []*DomainHash, actualHighHash *DomainHash, err error)
|
GetHashesBetween(lowHash, highHash *DomainHash, maxBlocks uint64) (hashes []*DomainHash, actualHighHash *DomainHash, err error)
|
||||||
GetAnticone(blockHash, contextHash *DomainHash, maxBlocks uint64) (hashes []*DomainHash, err error)
|
GetAnticone(blockHash, contextHash *DomainHash, maxBlocks uint64) (hashes []*DomainHash, err error)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user