state: fix emptyStatet to emptyRoot #19254
                
     Merged
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
The account state root will never be
crypto.Keccak256Hash(nil). Since the empty tire root would be an empty hash (an all zero 32-byte array), an array is initialized to all zero array in stead of nil as the case in slice. The empty account root will only becrypto.Keccak256Hash(Hash{}), which is equal to0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421. So essentially, the root of a trie will never be nil, but it would be all zero hash before commit andemptyRootafter commit an empty trie.I think is mistake was introduced unintentionally by the author, the object was to filter out empty accounts and never reference to them. Because it does not incur fatal error but a slight performance degrade for reference to empty trie, this problem is not unveiled before careful inspection.