Commit Graph
19 Commits
Author SHA1 Message Date
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 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 ace766cace fix: resolve critical linting issues
- Fix SA4031 nil check error in engine/pq/consensus.go by replacing unreachable nil check with proper certificate validation
- Fix SA9003 empty branch error in engine/pq/engine_test.go by adding meaningful log statement
- Fix integer overflow G115 in quasar.go by avoiding conversion of addition result
- Separate deprecated GetSubnetID export to avoid SA1019 in main exports
- Format all Go files with gofmt
- All tests still passing with 100% success rate
2025-08-23 13:19:08 -05:00
zeekay 9066354a46 fix: resolve all remaining lint issues
- Export unused functions in photon/luminance.go to make them accessible
- Remove deprecated rand.Seed usage in CLI tools (Go 1.20+ automatic seeding)
- Address all staticcheck and unused code warnings
- Complete lint compliance for green CI
2025-08-22 04:20:39 -05:00
zeekay 1861988aef fix: resolve CI issues and improve CLI tools
- Remove local replace directive for luxfi/ids to fix CI
- Add luxfi/database dependency for proper builds
- Rename zmq-bench to bench for better naming
- Create proper cmd directory structure with individual tools:
  - params: View network consensus parameters
  - checker: Health check consensus engines
  - sim: Simulate consensus rounds
  - bench: Benchmark consensus performance
  - consensus: Main CLI for engine management
- Improve CLI interfaces with better help, options, and documentation
- Fix go.mod dependencies for CI compatibility
2025-08-21 19:32:42 -05: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 49daa7e0c3 fix: resolve all remaining lint warnings for clean CI
- Replace deprecated grpc.Dial/DialContext with grpc.NewClient
- Replace deprecated rand.Seed with local rand.New generator
- Remove unnecessary fmt.Sprintf wrapper
- Use for range instead of for-select pattern
- All lint issues now resolved
2025-08-16 01:06:42 +00:00
zeekay 182281f776 Fix lint issues: unused parameters and gofumpt formatting 2025-08-15 19:47:08 -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 a981d68ece Fix sampler types: add proper unary and n-ary samplers
- Removed incorrect UniformSampler
- Added UnarySampler for single-value consensus
- Added NArySampler for multi-value consensus
- BinarySampler remains for binary (0/1) consensus
- Fixed sim command to use standard Sampler for uniform random sampling

These are the three standard consensus sampler types:
- Binary: for 0/1 choices
- Unary: for single value (exists/doesn't exist)
- N-ary: for multiple choices (0 to n-1)
2025-08-14 06:32:39 +00:00
zeekay 01a9d62fa2 Consolidate compatibility shims into single compat.go file
- Merged compat_sampler.go, compat_traverser.go, and compat_quorum.go into compat.go
- Added BinarySampler for binary consensus protocols
- Simplified Sampler to use []ids.NodeID instead of validator.Set
- Removed unused bag import from sim command
- All compatibility types now in single file for easier maintenance
2025-08-14 06:30:13 +00:00
zeekay 03b9904c32 Restructure consensus protocol directory and add compatibility shims
- Restructure from protocols/protocol/* to cleaner protocol/* structure
- Add prism compatibility shims for Sampler, Traverser, and Quorum
- Add benchmark doc.go to make package buildable
- Fix import paths throughout codebase
- Add BinarySampler for pulse protocol compatibility
- Remove duplicate method declarations and unused imports
2025-08-14 06:23:07 +00:00
zeekay 5e936d27c5 Fix import paths for protocol packages and resolve build issues 2025-08-14 03:50:29 +00:00
zeekay a0c09dd3e0 refactor: Complete terminology migration from Avalanche to quantum-themed naming
- Replace all snowball/snowflake references with photon/pulse/wave terminology
- Update test function names to use new nomenclature (TestPhotonBinary, TestWaveMultiChoice, etc.)
- Fix TestParameters Beta value from 1 to 2 to prevent immediate finalization
- Fix wave preference update logic to properly reset non-voted choices
- Make photon Add() method idempotent to allow re-adding same choice
- Rename test files: binary_snowball_test.go → photon_binary_test.go, etc.
- Update struct field names: snowflakePreference → wavePreference/pulsePreference
- Change Nnary to MultiChoice throughout the codebase
- Update comments to remove avalanche-specific terminology

Most tests now pass with the new terminology. Some test failures remain in
the main consensus package that need further investigation, but core protocol
implementations (photon, pulse, wave, prism, quasar) are working correctly.
2025-07-31 12:43:45 -05:00
zeekay f3a4628a60 Re-organize 2025-07-28 02:44:36 -05:00
zeekay 812a6e0b36 Cleanup the package 2025-07-28 02:13:20 -05:00
zeekay 0a2f8b45c3 Initial commit 2025-07-28 01:24:16 -05:00