Bug Fixes
RPC
- Fix eth_call coinbase opcode: Fixed bug where
eth_callcoinbase opcode was using a random address instead of the correct one
Others
- Fix PoS reward reexecution: Fixed issue where PoS reward in DB was not checked if it's on pivot for reexecution
RPC Changes
New RPC Endpoints
- debug_blockProperties: Added a custom eSpace RPC endpoint to return extra block property information for all transactions in an eSpace block. This is useful for services that require verification of transaction execution, as transactions within a single Conflux eSpace block may have different block contexts (coinbase, timestamp, difficulty) during execution. See documentation for details.
RPC Improvements
- Log timestamp support: Added
blockTimestampfield to eSpacelogobject (for methods likeeth_getLogsandeth_getFilterLogs) - Block number type improvements:
- Renamed RPC type
BlockNumbertoBlockIdfor better precision - RPC type
BlockNumbernow supports block hash case
- Renamed RPC type
- Log format optimization: Optimized bytes log format from number array to hex string
- Fix parity trace compatibility: Fixed parity trace error and result structure incompatibility issue
- Fix block retrieval errors: Use new defined error types instead of strings for block retrieve methods
- RPC configuration: Added configuration options for eSpace RPCs
Performance Improvements
- Storage optimization: Optimized to only read from storage if entry is not occupied
- eth_feeHistory: Optimized to only read header instead of full block for base price calculation
Infrastructure & Dependencies
Memory Management
- jemalloc upgrade: Switched from
jemallocatortotikv-jemallocator - Memory profiling: Added memory and CPU pprof support for profiling