Bug Fixes
-
Fix a potential crash bug in the transaction pool compoenent
-
Stop marking OverlayAccount dirty on read access. This will influnce the state root.
-
Do not mark OverlayAccount dirty in sub_balance 0 for non-existence account.
-
Add missing transaction verifications for invalid block.
-
Fill in correct block gas limit value for mining.
-
Set block gas limit for Genesis block to 30_000_000.
-
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).
-
Forbidden CALLCODE and DELEGATECALL to internal contracts.
Improvements
- Improve the transaction address check at RPC
EVM Updates
-
Decide the storage owner (who is responsible for storage collateral) at the beginning of the transaction.
-
Only check the storage limit and balance for storage collateral at the end of EVM execution.