Improvements
-
Add fields in Receipt: gas_fee, gas_sponsored, storage_sponsored. Accumulate gas_used in Receipt, not gas_charged.
-
Delay block requests when we cannot process them to avoid wasting network bandwidth.
-
Set block gas limit for Genesis block to 30_000_000.
-
Define gas_used to be transaction gas limit for NotEnoughCash, the same as all other exceptions.
-
Add support for WebSockets in RPC.
Bug Fixes
-
Fix UnexpectedResponse from honest peers that causes peer demotion.
-
Remove some untrue debug assert.
-
Forbidden CALLCODE and DELEGATECALL to internal contracts.
-
RPC now returns the correct rlp size of the block
-
Fix a race condition that may cause optimistic execution to panic.
-
Fill in correct block gas limit value for mining.
-
Fix definitions and logics in transaction early execution error checking.
-
Use block_count - 1 in target difficulty calculation because it's the unbiased estimation of exponential distribution parameter (past mining power).