Skip to content

[Enhancement] Integrate the DeepSubTrie for the SM(S)T #11

Open
@h5law

Description

Objective

Following the merge of PR #6 the DeepSparseMerkleSubTree type was removed. This issue aims to re-implement/add a new DeepSubTrie, now using the lazy loaded SMT as its base, for it to work with both the SMT and SMST.

The functionality should be close to the original deepsubtree implementation, instead now utilising the lazily loaded SMT.

This would enable batch updates to the trie - given leaves with a shared prefix an entire DST could be inserted at once

Origin Document

Original lazy loading PR

Goals

  • Integrate the previous deep subtree implementation with the new lazy loaded SMT
  • Ensure the DeepSubTrie works for both the SMT and SMST
  • Enable batch updates/deletions

Deliverable

  • Implement the DeepSubTrie functionality
  • Add unit tests and runnable examples
  • Add documentation on the DeepSubTrie and how it works
  • Add the methods required for batch updates and deletions

Non-goals / Non-deliverables

  • Break the SM(S)T in terms of backwards compatibility
  • Change the existing insertion/deletion logic (for a single key-value)

General issue deliverables

  • Update any relevant README(s)
  • Add or update any relevant or supporting mermaid diagrams

Testing Methodology

  • Task specific tests or benchmarks: go test ...
  • New tests or benchmarks: go test ...
  • All tests: go test -v

Creator: @h5law

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

  • Status

    Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions