public void VisitLeaf(TrieNode node, TrieVisitContext trieVisitContext, byte[] value = null) { string leafDescription = trieVisitContext.IsStorage ? "LEAF " : "ACCOUNT "; _builder.AppendLine($"{GetPrefix(trieVisitContext)}{leafDescription} {Nibbles.FromBytes(node.Path).ToPackedByteArray().ToHexString(false)} -> {(node.Keccak?.Bytes ?? node.FullRlp)?.ToHexString()}"); if (!trieVisitContext.IsStorage) { Account account = decoder.Decode(new RlpStream(value)); _builder.AppendLine($"{GetPrefix(trieVisitContext)} NONCE: {account.Nonce}"); _builder.AppendLine($"{GetPrefix(trieVisitContext)} BALANCE: {account.Balance}"); _builder.AppendLine($"{GetPrefix(trieVisitContext)} IS_CONTRACT: {account.IsContract}"); } else { _builder.AppendLine($"{GetPrefix(trieVisitContext)} VALUE: {new RlpStream(value).DecodeByteArray().ToHexString(true, true)}"); } }
public void VisitExtension(TrieNode node, TrieVisitContext trieVisitContext) { _builder.AppendLine($"{GetPrefix(trieVisitContext)}EXTENSION {Nibbles.FromBytes(node.Path).ToPackedByteArray().ToHexString(false)} -> {(node.Keccak?.Bytes ?? node.FullRlp)?.ToHexString()}"); }