biospb 8735da045f
Block template cache improvement (#2023)
* Block template cache improvement

* Avoid concurrent calls to template builder
* Clear cache on new block event
* Move IsNearlySynced logic to within consensus and cache it for each template 
* Use a single consensus call for building template and checking synced

Co-authored-by: msutton <mikisiton2@gmail.com>
2022-05-06 11:36:07 +03:00

20 lines
597 B
Go

package externalapi
// DomainBlockTemplate contains a Block plus metadata related to its generation
type DomainBlockTemplate struct {
Block *DomainBlock
CoinbaseData *DomainCoinbaseData
CoinbaseHasRedReward bool
IsNearlySynced bool
}
// Clone returns a clone of DomainBlockTemplate
func (bt *DomainBlockTemplate) Clone() *DomainBlockTemplate {
return &DomainBlockTemplate{
Block: bt.Block.Clone(),
CoinbaseData: bt.CoinbaseData.Clone(),
CoinbaseHasRedReward: bt.CoinbaseHasRedReward,
IsNearlySynced: bt.IsNearlySynced,
}
}