Remove dependency on github.com/luxfi/vm to break the cycle:
- consensus/engine/interfaces -> vm -> consensus/engine/chain/block
- Define State type and constants directly in interfaces package
Move AppSender, AppHandler, AppError, and Fx interfaces from engine/core
to engine/interfaces for a flat, simple package structure.
Remove engine/core - all interfaces now live in engine/interfaces.
- Remove unused packages: engine/dag/{getter,bootstrap,vertex/vertexmock},
engine/pq/{bootstrap,block}, core/{tracker,verify}
- Add sync.RWMutex to protocol/wave for thread-safe map access
- Increase engine/dag test coverage from 11.7% to 98.3%
- Add comprehensive tests for DAG consensus, vertex, and engine
- All 27 packages pass tests, 16 at 100% coverage