Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SMT store type #8507

Merged
merged 15 commits into from
May 14, 2021

Commits on Feb 3, 2021

  1. Initial SMT store type

    SMT (Sparse Merkle Tree) is intended to replace IAVL. New type
    implements same interfaces as iavl.Store.
    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    6e4934c View commit details
    Browse the repository at this point in the history
  2. Add iteration support to SMT

    Sparse Merkle Tree does not support iteration over keys in order.
    To provide drop-in replacement for IAVL, Iterator and ReverseIterator
    has to be implemented.
    SMT Store implementation use the underlying KV store to:
     - maintain a list of keys (under a prefix)
     - iterate over a keys
    Values are stored only in SMT.
    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    fa8bc8e View commit details
    Browse the repository at this point in the history
  3. Migrate to smt v0.1.1

    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    e208a1e View commit details
    Browse the repository at this point in the history
  4. Extra test for SMT iterator

    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    cd06819 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    65a40a4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d22f575 View commit details
    Browse the repository at this point in the history
  7. Add telemetry to SMT store

    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    95b1073 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b2086e7 View commit details
    Browse the repository at this point in the history
  9. SMT proofs - initial code

    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    04bb530 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c1e928b View commit details
    Browse the repository at this point in the history
  11. Fix linter errors

    tzdybal committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    6fd860d View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2021

  1. Configuration menu
    Copy the full SHA
    c192976 View commit details
    Browse the repository at this point in the history
  2. Improve assertions in tests

    tzdybal committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    6a43af8 View commit details
    Browse the repository at this point in the history
  3. Use mutex properly

    tzdybal committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    549c414 View commit details
    Browse the repository at this point in the history
  4. Store data in ADR-040-compatible way

    SMT stores:
     * key -> hash(key, value)
    
    KV store stores:
     * key->value in "bucket 1",
     * hash(key, value) -> key in "bucket 2".
    tzdybal committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    e965573 View commit details
    Browse the repository at this point in the history