kaspad/domain/miningmanager/model/interface_blocktemplatebuilder.go
Michael Sutton 21b82d7efc
Block template cache (#1994)
* minor text fix

* Implement a block template cache with template modification/reuse mechanism

* Fix compilation error

* Address review comments

* Added a through TestModifyBlockTemplate test

* Update header timestamp if possible

* Avoid copying the transactions when only the header changed

* go fmt
2022-03-31 16:37:48 +03:00

13 lines
545 B
Go

package model
import (
consensusexternalapi "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
)
// BlockTemplateBuilder builds block templates for miners to consume
type BlockTemplateBuilder interface {
BuildBlockTemplate(coinbaseData *consensusexternalapi.DomainCoinbaseData) (*consensusexternalapi.DomainBlockTemplate, error)
ModifyBlockTemplate(newCoinbaseData *consensusexternalapi.DomainCoinbaseData,
blockTemplateToModify *consensusexternalapi.DomainBlockTemplate) (*consensusexternalapi.DomainBlockTemplate, error)
}