Performance Improvements
- Pre-allocate memory for slices and maps (XFN-148).
- Optimized CompareSignersLists.
- Improved cached-prev comparison logic in core (XFN-96).
- Performance boosts in ChaindbCompact() / ChaindbProperty() (XFN-139).
- Faster unique signature verification (XFN-03).
- Reduced overuse of log.Crit, improved logging efficiency.
- Improved txpool performance and reduced lock contention.
- More efficient future block handling logic (XFN-101).
Ethereum EIPs / Protocol & Consensus Enhancements
- Multiple XDPoS V2 validation and parameter fixes (XFN-45, XFN-125, XFN-151, etc.).
- Fixed rpc.BlockNumber overflow issues across modules (XFN-69).
- Verified header hash correctness in getEpochSwitchInfo.
- Enforced gas limit bounds and validation logic (XFN-07, XFN-59, XFN-1619).
- Skipped gas limit verification for genesis block.
- Added DeepCopy() for PoolObj (XFN-04).
- Added epoch-switch check in IsSigner (XFN-90).
- Earlier rejection of invalid signatures (XFN-29).
- Validated gap numbers in masternode updates (XFN-11).
- Enforced minimum timestamp for initial V2 block (XFN-16).
- Correct special-tx processing behavior (XFN-67).
- Removed “fake storage” implementation (XFN-150).
- Separated V1 and V2 full verifier arrays.
RPC & API Enhancements
- Updated BlockNumber constants to match ethclient (ethereum#27219).
- Fixed unsafe pointer manipulation in tracers (XFN-91).
- Improved error propagation in internal/ethapi (XFN-118).
- Pre-allocated map in txpool API for better performance (XFN-106).
- Validated tx JSON non-nil before use.
- Fixed incorrect condition judgment in RPC (XFN-73).
- Ensured gasprice cache purge goroutine terminates properly (XFN-89).
- Corrected parameter name mismatch in HookPenalties() (XFN-141).
Security & Bug Fixes
- Fixed inconsistent tx blacklist enforcement (XFN-98).
- Fixed trie DB reference dereference issues (XFN-85).
- Resolved unsafe slice creation pointer usage.
- Added missing nil checks and improved error handling across modules.
- Synchronized txpool cache with mutex protection (XFN-65).
- Resolved concurrency issues: data races, goroutine leaks, unsynchronized reads.
- Fixed overflow, modulo-by-zero, and boundary condition bugs.
- Improved signature, gas fee, and immutability handling logic.
- Corrected mined block event handling and transaction queue logic.
- Fixed incorrect tx queue pop order (XFN-37).
- Eliminated variable shadowing in many functions.
Code Refactoring & Cleanup
- Removed unused variables, functions, and APIs (XFN-74, XFN-134, XFN-115, etc.).
- Improved naming consistency and parameter clarity.
- Added Solidity documentation.
- Eliminated unused parameters in consensus/XDPoS.
- Converted appropriate variables to constants (XFN-123).
- Cleaned up error definitions and improved ExtractAddressFromBytes().
- Fixed typos and added missing comments.
- Separated v1 and v2 verifier arrays.
Network & Node Adjustments
- Fast-cancel block insertion when debug_setHead is invoked (XFN-142).
- Enhanced handling of future blocks.
- Fixed goroutine leak in procFutureBlocks (XFN-105).
- Improved masternode update verification.
- Enhanced QC verification logic (XFN-09).
- Corrected Block type immutability issues (XFN-82).
- Added validation for initial V2 timestamp.
Development & Deployment Updates
- Version bumped to v2.6.6-testnet.
- Compared V2 parameters across versions (XFN-45).
- Disabled config comparison during rollback.
- Added additional logs for debugging.
- Updated test gas limit parameters.
- Resolved merge conflicts.
- Added missing packages/imports (e.g., fmt).
- Updated package version references.
What's Changed
- update package version by @wanwiset25 in #1612
- consensus: use signer pubkey to check for unique signatures, close XFN-03 by @wanwiset25 in #1643
- Certik Audit Tickets by @benjamin202410 in #1789
Full Changelog: v2.6.5-testnet...v2.6.x-testnet