package core import ( "context" "mic-wallet/server/repository/entities" "sync" "time" ) type BlockData struct { Lock *sync.RWMutex prevHash []byte Transactions map[string]entities.NewTransactionOpts } // BlocksPipeline does block rotation, writes transaction into the block or block queue // write blocks when they are finished. type BlocksPipeline struct { cooldown time.Duration writeToBlock uint8 block1 *BlockData block2 *BlockData block3 *BlockData } func NewBlockPipeline(cooldown time.Duration) *BlocksPipeline { return &BlocksPipeline{} } func (b *BlocksPipeline) loadPrevBlockHash(ctx context.Context) { } func (b *BlocksPipeline) rotate(ctx context.Context) error { return nil } func (b *BlocksPipeline) NewTransaction(ctx context.Context, opts NewTransactionOpts) error { return nil } func (b *BlocksPipeline) Run(ctx context.Context) error { return nil }