package simple

import (
	"dejo_node/internal/storage"
	"dejo_node/internal/transactions"
	"fmt"
)

// FinalityManager lida com a finalização de blocos.
type FinalityManager struct {
	Storage storage.Storage
}

// NewFinalityManager cria uma nova instância de FinalityManager.
func NewFinalityManager(storage storage.Storage) *FinalityManager {
	return &FinalityManager{Storage: storage}
}

// FinalizeBlock salva um bloco finalizado no storage.
func (fm *FinalityManager) FinalizeBlock(b *transactions.Block) error {
	fmt.Println("📦 Finalizando bloco:", b.Hash)
	return fm.Storage.SaveBlock(b)
}