mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
MAJOR CLEANUP - Eliminated all duplicate organization patterns: 1. Interfaces consolidated - Deleted iface/ (unused, 20 lines) - Deleted interfaces/ (unused, 38 lines) - Consolidated to core/interfaces/ with shared.go - Zero breaking changes (no imports existed) 2. Config consolidated - configs/ → config/examples/ - Clear separation: config/ = code, examples/ = JSON 3. Root file cleanup - Deleted context.go (shadowed context/ package) - Moved context_test.go → context/ - Deleted acceptor.go (duplicate of core/acceptor.go) - Moved acceptor_test.go → core/ - Deleted core.go (types already in core/) - Renamed consensus.go → factory.go (clearer purpose) Benefits: ✅ Zero duplication ✅ Clear boundaries (each package has single purpose) ✅ DRY principle enforced ✅ Orthogonal design (no overlap) ✅ All tests pass ✅ No breaking changes (unused interfaces deleted) Root directory now clean - only essential files remain.
32 lines
719 B
Go
32 lines
719 B
Go
package core
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/luxfi/ids"
|
|
)
|
|
|
|
// Acceptor interface for consensus acceptors
|
|
type Acceptor interface {
|
|
// Accept processes an accepted item
|
|
Accept(ctx context.Context, containerID ids.ID, container []byte) error
|
|
}
|
|
|
|
// BasicAcceptor is a simple implementation of the Acceptor interface
|
|
type BasicAcceptor struct {
|
|
accepted map[ids.ID][]byte
|
|
}
|
|
|
|
// NewBasicAcceptor creates a new basic acceptor
|
|
func NewBasicAcceptor() *BasicAcceptor {
|
|
return &BasicAcceptor{
|
|
accepted: make(map[ids.ID][]byte),
|
|
}
|
|
}
|
|
|
|
// Accept marks an item as accepted
|
|
func (a *BasicAcceptor) Accept(ctx context.Context, containerID ids.ID, container []byte) error {
|
|
a.accepted[containerID] = container
|
|
return nil
|
|
}
|