19 Commits
Author SHA1 Message Date
zeekay c7991c3a84 feat: add appsender and engine/core packages
Add missing packages required by EVM:
- core/appsender: AppSender interface for application messaging
- engine/core: Common engine types including AppSender, AppHandler, AppError
2026-02-05 21:17:16 -08:00
zeekay 26132a93bf Remove unused vm import 2025-12-19 08:49:11 -08:00
zeekay 7febfe80c5 Add missing interfaces for EVM compatibility
- Add AppSender interface to engine/core for VM plugin communication
- Add AppHandler interface with message handling methods
- Add Fx struct for feature extensions
- Add AppSender interface to engine/chain/block for node integration
- Fix GetValidatorState to return typed ValidatorState instead of interface{}
- Add appsender package in core for consensus-level app messaging

These interfaces are required by the EVM package to build successfully
with the consensus package.
2025-12-16 12:03:37 -08:00
zeekay f824b443fc Add AppSender and AppError type aliases from warp package
Re-export AppSender and AppError from warp package in both
consensus/core and consensus/engine/core/common for use by VMs.
Update warp dependency to v1.16.29.
2025-12-12 04:55:53 -08:00
zeekay 644acbf17b fix: restore proper AppSender interface with App* methods 2025-12-11 22:49:21 -08:00
zeekay e7a82ccea2 refactor: simplify appsender to alias warp.Sender 2025-12-11 22:46:11 -08:00
zeekay d3db022e19 feat: add appsender package and update circl dependency
- Add core/appsender/sender.go with AppSender interface
- Update circl to v1.6.2-0.20251204010831-23491bd573cf (fixes broken pseudo-version)
- Update crypto to v1.17.18
- Clean up stale files
2025-12-11 22:44:38 -08:00
zeekay c18437f410 Update consensus 2025-11-06 02:36:49 -08:00
zeekay 952479193f consensus: Fix ContextInitializable to use *Context instead of context.Context
- Change ContextInitializable.InitCtx to accept *consensusctx.Context
- Change Contextualizable.InitializeContext to accept *consensusctx.Context
- Update XAssetID, QuantumNetworkID, GetQuantumIDs to use *consensusctx.Context
- Matches upstream avalanchego pattern where Context is consensus-specific type
2025-10-29 14:08:50 -07:00
zeekay d3c95c6e4c Replace symlinks with actual directories for Go module compatibility 2025-09-27 03:26:38 +00:00
zeekay fee6b3564f Update and re-organize 2025-09-24 04:01:37 -05:00
zeekay f64ec0270c fix: apply gofmt formatting to resolve CI lint errors 2025-09-14 20:07:13 -05:00
zeekay e578f3d442 feat(consensus): release v1.17.0 - Multi-Language SDK with 100% Test Parity
Major release introducing complete multi-language support for Lux consensus:

Features:
- Complete C implementation with optimized hash tables (9M+ blocks/sec)
- Rust FFI bindings with safe wrappers and Criterion benchmarks
- Python SDK via Cython with Pythonic API (6.7M blocks/sec)
- Go CGO integration for seamless C/Go switching
- Quantum-resistant OP Stack integration example
- 100% test parity across all 4 language implementations
- 15 comprehensive test categories with full coverage
- Performance benchmarks exceeding all targets

Technical improvements:
- Custom hash table for O(1) operations
- Thread-safe with read-write locks
- Vote caching for performance
- Memory-efficient implementations
- Comprehensive error handling

Documentation:
- Test parity matrix documenting coverage
- Benchmark report comparing all implementations
- API documentation for all languages
- Example code and integration guides
2025-09-12 00:31:27 -05:00
zeekay 769f316d04 fix: resolve linting issues for CI
- Fixed assignOp issues: replaced x = x + y with x += y
- Fixed deprecated GetSubnetID to use GetNetID
- Added error check for verkle witness SetBytes
- Added nolint comment for simulation randomness (not security-critical)
- Formatted all Go code with gofmt
2025-08-25 22:10:31 -05:00
zeekay 66bfe2768e Add missing core packages for node compatibility
- Add interfaces package with State and Block interfaces
- Add tracker package for operation tracking
- Add appsender package with AppSender interface
- Required for node and CLI compilation
2025-08-25 00:20:46 +00:00
zeekay c4faaef66f Refactor: Clean Wave-first consensus architecture
- Minimal, idiomatic Go structure
- Prism (sampler) with cut/refract selection
- Wave (threshold voting with α/β parameters)
- DAG helpers (Horizon/Flare)
- Nova finalizer
- Verkle hooks interface
- Quasar overlay for dual certificates
- FPC enabled by default in WaveConfig
- Clean separation: core algorithms vs named protocols
- Runnable fastchain example demonstrating the flow
2025-08-18 21:51:35 -05:00
zeekay 0a738af172 Format code with gofmt and goimports - fix all formatting issues 2025-08-15 19:37:25 -05:00
zeekay fb5647bbc0 Updates to Wave 2025-08-15 01:14:18 -05:00
zeekay 676ef65219 Restructure consensus module to pure protocol logic
- Move from protocol/ to protocols/ directory structure
- Create core/interfaces for pure protocol abstractions
- Implement protocols/prism for shared sampling/quorum logic
- Add protocols/nova (Snowman), photon, pulse, wave, nebula
- Create engine/ packages for orchestration (chain, dag, pq)
- Add networking/ abstractions without implementation details
- Remove choices/, threshold/, utils/validator duplicates
- Export consensus context and types from root package
- Add compatibility layers for node integration

This creates a pure consensus protocol implementation with no node dependencies.
2025-08-14 03:44:03 +00:00