Commit graph

7 commits

Author SHA1 Message Date
Gulshan Yadav
780a6aaad0 feat: Enhance economics manager with flexible oracle configurations
- Added `with_production_oracle` and `with_oracle` methods to `EconomicsManager` for custom oracle setups.
- Introduced `record_compute_with_gpu` method in `MeteringService` to handle GPU-specific pricing.
- Enhanced `CircuitBreakerManager` to streamline price recording and state checking.
- Expanded `CrossChainOracle` with a builder pattern for easier configuration and added methods for managing pending packets.
- Introduced `PriceOracleBuilder` and `OracleFactory` for creating price oracles with various feeds.
- Added volume discount functionalities in `PricingEngine` for better pricing strategies.
- Improved `ContentResolver` with configuration management and health check features.
- Enhanced `ProverConfig` accessibility in `ProofSubmitter` and `Verifier` for better integration.
- Added utility methods in `SmtContext` for managing SMT-LIB scripts and assertions.
2026-01-26 23:37:45 +05:30
Gulshan Yadav
3e68f72743 fix: resolve 35 clippy warnings across Rust and Dart codebases
## Rust Fixes (35 warnings resolved)
- Remove unused imports (synor-vm, synor-bridge, tests)
- Remove unused variables and prefix intentional ones with underscore
- Use derive for Default implementations (6 structs)
- Replace manual is_multiple_of with standard method (3 occurrences)
- Fix needless borrows by using direct expressions (12 occurrences)
- Suppress false-positive variant assignment warnings with allow attributes
- Fix Default field initialization pattern in synor-crypto
- Rename MerklePath::to_string() to path() to avoid conflict with Display trait

## Flutter/Dart Fixes
- Add const constructors for immutable objects (8 instances)
- Remove unused imports (dart:convert, collection package, tensor.dart)

## Impact
- Reduced clippy warnings from 49 to 10 (79% reduction)
- Remaining 10 warnings are "too many arguments" requiring architectural refactoring
- All library code compiles successfully
- Code quality and maintainability improved
2026-01-26 17:08:57 +05:30
Gulshan Yadav
af79e21a1b feat(crypto): add post-quantum algorithm negotiation protocol
Implements a protocol for nodes to negotiate which post-quantum signature
algorithm to use for communication. Supports Dilithium3, SPHINCS+ (128s/192s/256s),
and FALCON (512/1024) with configurable preferences based on:
- Security level (NIST 1-5)
- Bandwidth constraints (signature size limits)
- Algorithm family preference (lattice vs hash-based)

Key features:
- AlgorithmCapabilities for advertising node capabilities
- AlgorithmNegotiator for selecting best common algorithm
- Scoring strategies (local/remote preference, average, min/max)
- Fallback algorithm selection (different family for resilience)
- Session parameters with renegotiation support
- Full test coverage (11 tests)

This completes Milestone 2 (Enhanced Quantum Cryptography) of Phase 13.
2026-01-19 23:03:03 +05:30
Gulshan Yadav
9414ef5d99 feat(crypto): add SPHINCS+ and FALCON post-quantum algorithms
Phase 13 Milestone 2 - Enhanced Quantum Cryptography:

SPHINCS+ (FIPS 205 / SLH-DSA):
- Hash-based signatures as backup if lattice schemes are compromised
- Three variants: 128s (~7.8KB), 192s (~16KB), 256s (~30KB)
- Relies only on hash function security (conservative choice)
- SphincsKeypair, SphincsPublicKey, SphincsSecretKey, SphincsSignature

FALCON (FIPS 206 / FN-DSA):
- Compact lattice signatures for bandwidth-constrained devices
- FALCON-512: 128-bit security, ~690 byte signatures
- FALCON-1024: 256-bit security, ~1,330 byte signatures
- ~79% smaller than Dilithium3 signatures
- Ideal for mobile wallets and L2 batch transactions

Algorithm Comparison:
| Algorithm | Security | Sig Size | Use Case |
|-----------|----------|----------|----------|
| Ed25519 | 128-bit | 64 B | Classical (fast) |
| Dilithium3 | 192-bit | 3,293 B | Default PQ |
| FALCON-512 | 128-bit | 690 B | Mobile/IoT |
| SPHINCS+-128s | 128-bit | 7,856 B | Backup |

All 40 unit tests + 5 doc tests passing.
2026-01-19 09:52:16 +05:30
Gulshan Yadav
5c643af64c fix: resolve all clippy warnings for CI
Fix all Rust clippy warnings that were causing CI failures when built
with RUSTFLAGS=-Dwarnings. Changes include:

- Replace derivable_impls with derive macros for BlockBody, Network, etc.
- Use div_ceil() instead of manual implementation
- Fix should_implement_trait by renaming from_str to parse
- Add type aliases for type_complexity warnings
- Use or_default(), is_some_and(), is_multiple_of() where appropriate
- Remove needless borrows and redundant closures
- Fix manual_strip with strip_prefix()
- Add allow attributes for intentional patterns (too_many_arguments,
  needless_range_loop in cryptographic code, assertions_on_constants)
- Remove unused imports, mut bindings, and dead code in tests
2026-01-08 05:58:22 +05:30
Gulshan Yadav
d917f1ed22 style: format all Rust code with cargo fmt 2026-01-08 05:22:24 +05:30
Gulshan Yadav
48949ebb3f Initial commit: Synor blockchain monorepo
A complete blockchain implementation featuring:
- synord: Full node with GHOSTDAG consensus
- explorer-web: Modern React blockchain explorer with 3D DAG visualization
- CLI wallet and tools
- Smart contract SDK and example contracts (DEX, NFT, token)
- WASM crypto library for browser/mobile
2026-01-08 05:22:17 +05:30