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 fuel-merkle to the monorepo #318

Merged
merged 91 commits into from
Jan 24, 2023
Merged

Add fuel-merkle to the monorepo #318

merged 91 commits into from
Jan 24, 2023

Commits on May 17, 2021

  1. Initial commit

    adlerjohn authored May 17, 2021
    Configuration menu
    Copy the full SHA
    2a48ce4 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2021

  1. Configuration menu
    Copy the full SHA
    6304cab View commit details
    Browse the repository at this point in the history
  2. Feature: Initial Binary Merkle Tree Implementation (#1)

    * Initial Merkle Tree Implementation
    
    * Delete verify.rs
    
    * Remove unimplemented asmut
    
    * Unpin dependencies
    
    * Remove mod verify
    
    * Add default implementation
    
    * Remove IDE specifics from gitfile
    
    * Pin minimum versions in dependencies
    
    * Fix format with fmt
    bvrooman authored May 24, 2021
    Configuration menu
    Copy the full SHA
    a2bc068 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Feature: Binary Merkle proof set and Verify (#3)

    * Initial Merkle Tree Implementation
    
    * Delete verify.rs
    
    * Remove IDE specifics from gitfile
    
    * Proof set
    
    * Remove unused line
    
    * fmt
    
    * Implement proof and tests
    
    * Refactor
    
    * Simplify loop
    
    * Update merkle_tree.rs
    
    * Convert next_height and next_data to return options
    
    * Refactor proof set
    
    * Clippy
    
    * Verify
    
    * Format fix
    
    * Update merkle_tree.rs
    
    * Update verify.rs
    
    * Semver for Bytes
    
    * Clean up tests
    
    * Format
    
    * Tests
    
    * Refactor tests
    bvrooman authored Jun 3, 2021
    Configuration menu
    Copy the full SHA
    691841a View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2021

  1. Configuration menu
    Copy the full SHA
    ce4ceb9 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2021

  1. Remove license. (#13)

    adlerjohn authored Jun 18, 2021
    Configuration menu
    Copy the full SHA
    fe16f58 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2021

  1. Chore: Refactor binary hash functions into separate file (#11)

    * Refactor hash functions into separate file for BMT
    
    * Update merkle_tree.rs
    
    * Refactor NODE and LEAF as u8
    
    * Remove generics
    
    * Remove commented line
    
    * Update mod.rs
    
    * Remove deprecated files
    
    * Lazy static empty sum
    
    * Update Cargo.toml
    
    * Update Cargo.toml
    
    * Update hash.rs
    
    * Return ref to empty sum
    bvrooman authored Jun 25, 2021
    Configuration menu
    Copy the full SHA
    46d75f8 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2021

  1. Feat: Position struct and tests (#18)

    * Position struct and tests
    
    * Comment
    
    * Update table comment
    
    * Document
    
    * Update position.rs
    
    * Update comments
    
    * Update comment again
    
    * Fix tests
    
    * Update position.rs
    bvrooman authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    fbc27a2 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2021

  1. Storage trait and concrete StorageMap struct (#20)

    * `Storage` trait and concrete `StorageMap` struct
    
    * Remodel trait after fuel-vm store trait
    
    * Revert names to storage and storage_map
    
    * Change Storage's Key to require `Clone` instead of `Copy`
    bvrooman authored Sep 13, 2021
    Configuration menu
    Copy the full SHA
    d03aa05 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2021

  1. Feat: use fuel-data storage trait for storage_map (#27)

    * Use fuel-data storage trait
    
    * Update storagemap impl
    
    * Update storage_map against updated storage trait
    
    * Update cargo_test.yml
    
    * Fetch with cli in CI
    bvrooman authored Sep 24, 2021
    Configuration menu
    Copy the full SHA
    989d5a2 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. Configuration menu
    Copy the full SHA
    169402a View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2021

  1. Refactor: move binary directory with BMT implementation to `test-he…

    …lpers` (#30)
    
    * Refactor `binary` to `tests`
    
    * Cleanup Test imports
    
    * Convert to internal crate `fuel-merkle-test-helpers`
    
    * Format
    
    * Add helper tests to CI
    
    * Update cargo_test.yml
    
    * Fix Run helper tests args
    
    * Clean up test-helpers dependencies
    
    * Update test_data.rs
    bvrooman authored Oct 1, 2021
    Configuration menu
    Copy the full SHA
    722cce3 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2021

  1. Configuration menu
    Copy the full SHA
    c365fb8 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2021

  1. Configuration menu
    Copy the full SHA
    d380f3b View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2021

  1. Feat: Path iterator, MSB, and node traits (#39)

    * Path iterator
    
    * Create node.rs
    
    * Add node to common
    
    * Refactor SZ to SIZE
    
    * Minor adjustment to comments
    
    * Remove unnecessary Debug req for AsPathIterator
    
    * Feedback
    
    * Msb get_bit_at_index_from_msb returns option
    bvrooman authored Nov 18, 2021
    Configuration menu
    Copy the full SHA
    1e1b3c8 View commit details
    Browse the repository at this point in the history
  2. Feat: SMT node struct (#40)

    * Sparse node and hash
    
    * Add hex to cargo.toml
    
    * Derive `StorageError clone`
    bvrooman authored Nov 18, 2021
    Configuration menu
    Copy the full SHA
    4c195cb View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2021

  1. Configuration menu
    Copy the full SHA
    cdbd9b6 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. Create LICENSE (#47)

    adlerjohn authored Dec 9, 2021
    Configuration menu
    Copy the full SHA
    6378cdf View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2021

  1. Feat: Position methods for left_child and right_child (#48)

    * Position methods for left and right child
    
    * Update position.rs
    
    * Use constants for left and right child directions
    
    * Update comment
    bvrooman authored Dec 21, 2021
    Configuration menu
    Copy the full SHA
    69a0f27 View commit details
    Browse the repository at this point in the history
  2. Bump bytes from ~1.0 to ~1.1 (#49)

    * Bump bytes from ~1.0 to ~1.1
    
    * Update Cargo.toml
    
    Co-authored-by: John Adler <[email protected]>
    
    Co-authored-by: John Adler <[email protected]>
    rakita and adlerjohn authored Dec 21, 2021
    Configuration menu
    Copy the full SHA
    e45d043 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2021

  1. Update manifest (#50)

    * Update author.
    
    * Add more fields.
    
    * Update author.
    adlerjohn authored Dec 24, 2021
    Configuration menu
    Copy the full SHA
    6fc4ae5 View commit details
    Browse the repository at this point in the history
  2. Crates.io publishing (#52)

    * crates.io workflow
    Voxelot authored Dec 24, 2021
    Configuration menu
    Copy the full SHA
    ece141a View commit details
    Browse the repository at this point in the history
  3. Fix overly restrictive semver requirements (#53)

    make bytes dep compatible with async-graphql
    Voxelot authored Dec 24, 2021
    Configuration menu
    Copy the full SHA
    bb720f6 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2022

  1. Configuration menu
    Copy the full SHA
    a7baca4 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2022

  1. Feat: Binary Merkle Sum Tree root calculation (#44)

    * Binary Merkle Sum
    
    * Clean up
    
    * Format
    
    * Update verify.rs
    
    * Replace Hash struct and impl with template functions
    
    * Update hash.rs
    
    * refactor
    
    * Refactor join_data_pair to accept fee before data
    
    * Format
    
    * Remove generics from Merkle sum tree
    
    * Refactor join_data_pair and split_data_pair
    
    * White space
    
    * assert sizes in join and split data pair
    
    * BMST lazy static empty sum
    
    * Update lib.rs
    
    * Update to use storage backing
    
    * Path iterator for sum node (WIP)
    
    * Node fmt
    
    * Isolate `root` logic
    
    * Remove unused code
    
    * Refactor
    
    * Simplify lifetimes
    
    * u64 (8 byte) fee
    
    * Remove extraneous variables
    
    * Consolidate on `common` types
    
    * Simplify
    
    * Cosmetic
    
    * Remove unnecessary references to hash
    
    * Fix node fmt
    
    * Update node.rs
    
    * Update node.rs
    
    * Include leaf fee in leaf sum calculation
    
    * update hash comment
    
    * Update sum Node `left_child` and `right_child` to return `Result`
    
    * Remove unused lifetime param
    
    * Return fee in BMST `root` call
    
    * Remove unused `StorageNode`
    bvrooman authored Jan 7, 2022
    Configuration menu
    Copy the full SHA
    a219aad View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2022

  1. Feat: Add PositionPath and PositionPathIter to calculate the path…

    … and side positions from root to leaf (#55)
    
    * Path set
    
    * Add `height` to `common::Node` interface, add `Position::path_set`
    
    * Position path_set tests
    
    * Move position_iter to new file
    
    * Clean up use statements
    
    * Move position_iter to position_path
    
    * Comments
    
    * Update comments
    
    * Update comments
    
    * PR feedback
    bvrooman authored Jan 10, 2022
    Configuration menu
    Copy the full SHA
    8463232 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b85dbe View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2022

  1. Feat: BMT prove uses position path (#61)

    * BMT prove uses position path
    
    * Format
    
    * Remove unnecessary storage inserts
    
    * Remove unnecessary mut from Node::create_node
    
    * Remove unnecessary functions
    
    * Update version for breaking change
    
    * Change unnecessary `node_mut()` to `node()` in `join_subtrees()`
    
    * Revert "Update version for breaking change"
    
    This reverts commit db3460510b6861805b5e4a2f3b5eb24d704b10f4.
    bvrooman authored Jan 13, 2022
    Configuration menu
    Copy the full SHA
    bba1a28 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2022

  1. Feat: Binary merkle tree load from storage (#62)

    * Implement `load` for BMT
    
    * Move p2_under to common
    
    * Format
    
    * Build tree from leaf nodes
    
    * Test load error
    
    * Alphabetical order for errors
    
    * remove unnecessary mut
    
    * Simplify
    
    * Remove unnecessary cast
    bvrooman authored Jan 21, 2022
    Configuration menu
    Copy the full SHA
    aa207a4 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2022

  1. Feat: Add height to sparse node (#64)

    * Add height to sparse node
    
    * Update tests
    bvrooman authored Jan 24, 2022
    Configuration menu
    Copy the full SHA
    a674223 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2022

  1. Fix: Remove hashing from leaf keys in SMT Node (#69)

    * Remove hashing from leaf keys
    
    * Format
    
    * Revert height change
    
    * Revert changes unrelated to leaf keys!
    
    * Undo change
    bvrooman authored Feb 28, 2022
    Configuration menu
    Copy the full SHA
    5b76431 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2022

  1. Refactor: Add method to SMT node to set prefix (#70)

    * Minor SMT node refactor
    
    * Undo assert change
    bvrooman authored Mar 1, 2022
    Configuration menu
    Copy the full SHA
    e766cf6 View commit details
    Browse the repository at this point in the history
  2. Feat: Add height to SMT node debug (#71)

    * Add height to SMT node debug
    
    * Traits
    
    * Minor refactor
    bvrooman authored Mar 1, 2022
    Configuration menu
    Copy the full SHA
    31a3aa0 View commit details
    Browse the repository at this point in the history
  3. Fix: SMT Node left_child and right_child return placeholder when …

    …key is zero sum (#72)
    
    * Return placeholder when key is zero sum
    
    * Tests
    bvrooman authored Mar 1, 2022
    Configuration menu
    Copy the full SHA
    d91fd63 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a590eac View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2022

  1. Docs: Create Sparse Merkle Tree test spec (#66)

    * Create sparse_merkle_tree_tests.md
    
    * Typo
    
    * Remove language hints for pseudocode
    
    * Additional tests
    
    * Additional tests
    
    * Abstract
    
    * Wording
    
    * Wording
    
    * Update test pseudocode
    
    * Correction to Update 2 Delete 1
    
    * Additional test and revisions
    
    * Update sparse_merkle_tree_tests.md
    
    * Clean up spec
    
    * Add last test to TOC
    
    * Update sparse_merkle_tree_tests.md
    
    * Typos
    
    * Convert key inputs to 32 byte keys
    
    * Remove deprecated description
    
    * Specify big endian
    
    * Missed characters
    bvrooman authored Mar 3, 2022
    Configuration menu
    Copy the full SHA
    f667668 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2022

  1. Docs: Fix expected root in SMT root test pseudocode example (#74)

    * Fix expected root in pseudocode example
    
    * Date
    
    * White space
    bvrooman authored Mar 6, 2022
    Configuration menu
    Copy the full SHA
    ca197e7 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2022

  1. Configuration menu
    Copy the full SHA
    f1bde8f View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2022

  1. Feat: Sparse Merkle Tree with Update and Delete (#41)

    * Squashed commit of the following:
    
    commit 22daac34b6932a71841d76fa91be36896b42d5b4
    Author: Brandon Vrooman <[email protected]>
    Date:   Sun Nov 14 20:52:23 2021 -0500
    
        Comment out test
    
    commit de2bcadcdda2c6b83639584f4b6340ec8a219b7f
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Nov 12 01:06:59 2021 -0500
    
        Path iterator comments
    
    commit 5de45ab00ea22f93582158e8b9d2f3b162283b42
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Nov 5 17:40:13 2021 -0400
    
        Minor refactor
    
    commit 6d8c4d60f1f0e7a60dc846d69b93239fb2603aa8
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Nov 5 17:32:04 2021 -0400
    
        Update Cargo.toml
    
    commit ac570d6e97b98d42a112a2fae3111c998749e218
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Nov 5 17:28:19 2021 -0400
    
        SMT delete
    
    commit 66c858a118ece81ea24fc09358c72d338d9f8024
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Nov 4 12:49:12 2021 -0400
    
        Comments
    
    commit 0594a9948b8bf4565e905f50317549914020e269
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:50:15 2021 -0400
    
        Use 0 as zero buffer
    
    commit 4993aba67c61d7ab2ed2791f746e1f23d87f5b34
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:41:49 2021 -0400
    
        Typo
    
    commit 57cfda43e3be393088b82b756c4b4dca5e1216df
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:36:42 2021 -0400
    
        Update path iter comments
    
    commit 933810c982d410888a948a6b016a735b18042dc3
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:32:45 2021 -0400
    
        Update path iter comments
    
    commit b1dd4f22668881994764b9deed07781f408db5be
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:25:14 2021 -0400
    
        Format
    
    commit c43371247d99d94439693b643460457fedcc762a
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 14:11:57 2021 -0400
    
        Minor refactor
    
    commit 69b1fe602f086ec7ed60dd65c0ff7f64494c6c96
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 13:51:18 2021 -0400
    
        Update comment
    
    commit a9aaf740a3ed4b7c1dafcdaa714c2ee1e05be221
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Nov 3 13:40:56 2021 -0400
    
        Fix node leaf_key
    
    commit 07485e4be36735d95000561875120139894db033
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Nov 1 17:15:54 2021 -0400
    
        Tests
    
    commit d77365dcf1150946cfe32cf32bc83c9a39bb0a14
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Nov 1 10:45:39 2021 -0400
    
        Remove unused subtree code
    
    commit 29af99b9c852a9f6936a9924ef742d24b79dc494
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Nov 1 10:44:25 2021 -0400
    
        SMT update with path nodes and side nodes WIP
    
    commit a6d3ac21a14037fde9e23e3287b44482abdb3742
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Nov 1 10:36:21 2021 -0400
    
        Simplify
    
    commit 3089439afc957385fb3e6ac86332638358fa63e2
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Nov 1 00:15:38 2021 -0400
    
        Update node
    
    commit d652f79ffea7b7bf8d3dfc0b952ddad9f92a4fd2
    Author: Brandon Vrooman <[email protected]>
    Date:   Sun Oct 31 18:35:14 2021 -0400
    
        Impl node trait for sparse Node
    
    commit 3309c740cd2f5da247ef46287288d63008dcd09f
    Author: Brandon Vrooman <[email protected]>
    Date:   Sun Oct 31 18:34:56 2021 -0400
    
        MSB and iterator tests
    
    commit 59e415e0b3dd1dbfbd0e82530ed7ab24fa725641
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 28 15:19:41 2021 -0400
    
        Refactor tests
    
    commit c4daa9d639f7368a1273a89650279772c0b363f9
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 27 01:33:24 2021 -0400
    
        Typo
    
    commit da341056398ad947b6b7d69b3dbdca0e9d93c835
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 27 01:29:54 2021 -0400
    
        Refactor test
    
    commit 4791a65519512b2e64a6637ea472f35e08b9168f
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 27 01:14:15 2021 -0400
    
        Update
    
    commit f0d3911ffbbfe0dce6afc8e3acccebc264e200f2
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 27 01:10:06 2021 -0400
    
        Comments
    
    commit 33935daa7f475aa1c68bdbf703ed40d54f139707
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 27 00:55:53 2021 -0400
    
        Tests
    
    commit 7b5c330d5a4be4f50762e82edd0851ba1ea9ab4b
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Oct 25 22:06:44 2021 -0400
    
        Format
    
    commit 4e2a5c64d4b0752f4bc17cca9c6aa77c8af4e318
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Oct 25 12:25:00 2021 -0400
    
        SMT update_for_root
    
    commit 751339ee9ffc43ba15b74a1a9cbaee7d21e8ba68
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Oct 22 17:05:10 2021 -0400
    
        Lookup prefix size using size_of Bytes1
    
    commit a690029bff909ef780228f6b942ca3eb40c3afea
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Oct 22 17:02:13 2021 -0400
    
        Fix formatting
    
    commit e57c2389a1583cd049c1bbd95c755458b204342e
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Oct 22 17:00:08 2021 -0400
    
        Node tests
    
    commit 3715bb8d5b55fe1a29bd3db3486999a069ea9774
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 23:34:10 2021 -0400
    
        Test update
    
    commit a2515ca1facc3ee66c3951991245238b0e379474
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 19:50:00 2021 -0400
    
        Clean up
    
    commit 2e9c36eadd5fa0133580af888f588ef0d68fce2b
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 19:40:49 2021 -0400
    
        Generic key types
    
    commit 648648fa57272664aaa4267c556ef635834f0aac
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 19:10:15 2021 -0400
    
        Update common.rs
    
    commit ac4ab42a931d0324cbf4fc19b7668ec8671ed72f
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 18:49:30 2021 -0400
    
        Add panic test for msb
    
    commit c99ce9c49bd6b251b4b2a18b6848d0f85ea9735d
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 18:37:50 2021 -0400
    
        Clean up
    
    commit 1049b770ad10d03b60c4be679e1421fc3c52e89f
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 17:36:38 2021 -0400
    
        Update sparse node
    
    commit c535ebab613c7d4378d89e29e9a8d2bcce6e1151
    Author: Brandon Vrooman <[email protected]>
    Date:   Thu Oct 21 01:06:53 2021 -0400
    
        Sparse node iterator
    
    commit 3ac3f89d47448f63ed76415227c6475aad4c7638
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 20 12:47:33 2021 -0400
    
        Const BUFFER_SZ
    
    commit 93b7ea918474154a424b670082560cf27c166b4f
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 20 12:38:55 2021 -0400
    
        Sparse node
    
    commit ba893daf3b40fdcf3fdcf849dc9022211cafb4d3
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 20 12:38:49 2021 -0400
    
        Path iterator
    
    commit 557e6755000094e9a5300f8131d7618956b11ac9
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Oct 18 12:57:34 2021 -0400
    
        Sparse node
    
    commit 32e1a48e34702fd4365a8e48c848347d064dd6b9
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 13 13:24:36 2021 -0400
    
        Format
    
    commit a1387caad401604b9a8a0796a748c46096075040
    Author: Brandon Vrooman <[email protected]>
    Date:   Wed Oct 13 13:21:05 2021 -0400
    
        Generic path iterator
    
    commit 8616e701bf72e68a76e506fcffda3f32c6a0fc5f
    Author: Brandon Vrooman <[email protected]>
    Date:   Tue Oct 12 16:58:36 2021 -0400
    
        Update leaf.rs
    
    commit 8fe009b1022b78764a79ba85518e0db590852a14
    Author: Brandon Vrooman <[email protected]>
    Date:   Tue Oct 12 15:54:56 2021 -0400
    
        Additional `position` methods and tests
    
    commit 274744b317969b20b5212fbc28f1487013de71ca
    Author: Brandon Vrooman <[email protected]>
    Date:   Tue Oct 12 12:35:33 2021 -0400
    
        Format
    
    commit ab95d7f24d529e89636c515212ac690e16f9a7d5
    Author: Brandon Vrooman <[email protected]>
    Date:   Tue Oct 12 11:51:19 2021 -0400
    
        Update comments
    
    commit 71f590c0f72f9f6d6b12fb048e6cba7676bf164f
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Oct 11 18:26:00 2021 -0400
    
        Expand documentation
    
    commit aa6847c61c76314f180ce63b109e3fea89871b4b
    Author: Brandon Vrooman <[email protected]>
    Date:   Mon Oct 11 17:43:28 2021 -0400
    
        Updated position comments
    
    commit cbf5269c7152936e8d1c87ecdba2b85ef8d2ed2c
    Author: Brandon Vrooman <[email protected]>
    Date:   Fri Oct 8 13:55:24 2021 -0400
    
        Sparse Merkle Tree skeleton
    
    * Revert position changes
    
    * Incorporate upstream changes
    
    * Format
    
    * Update tests
    
    * Update merkle_tree.rs
    
    * Add leaf node buffer on update to storage
    
    * Undo bad conflict fix
    
    * Format after merge
    
    * Update to new node interface
    
    * Fix tests
    
    * Format
    
    * Remove println statement
    
    * Use results
    
    * SMT new returns Result
    
    * Format
    
    * Remove comment
    
    * Additional tests
    
    * Return empty sum to sparse module
    
    * Format
    
    * Revert delete comment
    
    * Format tests
    
    * Remove `let _` from tests
    
    * Additional tests and simplifications
    
    * Format
    
    * Move leaf key hashing to client side
    
    * Format
    
    * Rearrange sum calls on test keys
    
    * Update tests to match spec
    
    * Fix expected root string
    bvrooman authored Mar 14, 2022
    Configuration menu
    Copy the full SHA
    1cfa217 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2022

  1. Refactor: Simplify SMT algorithms (#76)

    * Merge
    
    * Merge fix
    
    * Update merkle_tree.rs
    
    * Update comments based on feedback
    bvrooman authored Apr 4, 2022
    Configuration menu
    Copy the full SHA
    ec32ed9 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2022

  1. Feat: smt data driven test framework (#79)

    * Data driven test framework
    
    * Impl ToString for Test to generate test names
    
    * revert unrelated change
    
    * Stable
    
    * Format
    
    * Data test stable
    
    * undo change to smt
    
    * Use `?` instead of `unwrap`
    
    * Reorder dependencies
    bvrooman authored Apr 20, 2022
    Configuration menu
    Copy the full SHA
    8972446 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2022

  1. Configuration menu
    Copy the full SHA
    14ca5d2 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2022

  1. Configuration menu
    Copy the full SHA
    8797b79 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2022

  1. Feat: Refactor BMT and SMT interfaces to use anyhow::Result (#86)

    * Add anyhow to cargo
    
    * Update SMT interface to use anyhow Result
    
    * Update BMT to use anyhow result
    bvrooman authored May 11, 2022
    Configuration menu
    Copy the full SHA
    6f26c8a View commit details
    Browse the repository at this point in the history

Commits on May 16, 2022

  1. Chore: Refactor comment length to maximum of 80 (#87)

    * path_iterator
    
    * Update position.rs
    
    * Update position_path.rs
    
    * Update merkle_tree.rs
    
    * Update node.rs
    
    * Update verify.rs
    bvrooman authored May 16, 2022
    Configuration menu
    Copy the full SHA
    88e4d8d View commit details
    Browse the repository at this point in the history

Commits on May 21, 2022

  1. Add no-std support (#88)

    It is desirable to have no-std support so the consumers will have more
    flexibility of use with this library, provided an appropriate storage
    backend.
    
    This functionality will support the usage of contracts in fuel-tx, since
    its id is calculated with a binary merkle tree, according to fuel specs.
    vlopes11 authored May 21, 2022
    Configuration menu
    Copy the full SHA
    59f9755 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2022

  1. Bump to v0.2.0 (#90)

    vlopes11 authored May 23, 2022
    Configuration menu
    Copy the full SHA
    6c97944 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2022

  1. Debt: Refactor Merkle tree error propagation and handling (#94)

    * Refactor error handling
    
    * Format
    
    * Support for no std config
    
    * Fix storage error display attribute
    
    * Fix warnings
    
    * Remove commented out code
    
    * Remove commented out code
    
    * Refactor sparse `StorageNode` error
    bvrooman authored Jun 1, 2022
    Configuration menu
    Copy the full SHA
    dcc175f View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2022

  1. Use hashbrown::hashmap (#96)

    bvrooman authored Jun 2, 2022
    Configuration menu
    Copy the full SHA
    7eee6ee View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2022

  1. Configuration menu
    Copy the full SHA
    61369de View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2022

  1. Run tests without std during CI (#99)

    * Run tests without std during CI
    
    * Remove lazy static from test-helpers
    
    * Rearrange ci workflows
    
    * Update ci.yml
    
    * Update ci.yml
    bvrooman authored Jun 13, 2022
    Configuration menu
    Copy the full SHA
    900b1b2 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2022

  1. Feat: Infallible in-memory SMT (#100)

    * In memory SMT
    
    * Format
    
    * In memory SMT tests
    
    * Tree ptr
    
    * Use Option for delayed SMT initialization
    
    * Use alloc box
    
    * Strongly typed self as Pin in interface
    
    * Use core phantompinned
    
    * Format
    
    * Use in-memory Merkle tree for data driven tests
    
    * Remove block
    
    * Relax constraint on Storage (#101)
    
    * Relax constraint on Storage
    
    * sum tree, and cleanup
    
    * relax storage for binary
    
    Co-authored-by: rakita <[email protected]>
    bvrooman and rakita authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    e078b41 View commit details
    Browse the repository at this point in the history
  2. cargo clippy lints (#103)

    * cargo clippy lints
    
    * nit comment
    rakita authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    a88b49b View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2022

  1. Feat: In-memory binary Merkle tree (#104)

    * In memory binary merkle tree
    
    * Add `prove` to in memory binary merkle tree
    
    * Format
    
    * No-std compat
    
    * Use `Option` instead of `Result` in `prove`
    
    * Update test names
    bvrooman authored Jun 24, 2022
    Configuration menu
    Copy the full SHA
    6845863 View commit details
    Browse the repository at this point in the history
  2. Feat: Implement Default for in-memory Merkle trees (#105)

    * Impl Default for in-memory Merkle trees
    
    * Formatting
    bvrooman authored Jun 24, 2022
    Configuration menu
    Copy the full SHA
    a4aa7f5 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2022

  1. Add clippy job to CI (#106)

    * Add clippy job to CI
    
    * Formatting
    
    * Update clippy args
    bvrooman authored Jun 26, 2022
    Configuration menu
    Copy the full SHA
    a3352a3 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2022

  1. Release 0.3.0 (#108)

    Create Release 0.3.0
    bvrooman authored Jun 29, 2022
    Configuration menu
    Copy the full SHA
    5acfc3f View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2022

  1. Use check in CI (#109)

    * Use `check` in CI
    
    * Clippy warnings
    bvrooman authored Jul 6, 2022
    Configuration menu
    Copy the full SHA
    f31f0fc View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2022

  1. Refactored usage of storage traits (#111)

    * Refactored usage of storage traits.
    
    * Make clippy happy=)
    
    * Changed `fuel-storage` to ues release `0.3`
    
    * Removed redundant lifetime from impl.
    
    * Proper naming for the tables. Added detailed description
    
    * Apply suggestions from code review
    
    Co-authored-by: Brandon Vrooman <[email protected]>
    
    * Renamed table description for tests
    
    * Update src/binary/merkle_tree.rs
    
    Co-authored-by: Brandon Vrooman <[email protected]>
    
    Co-authored-by: Brandon Vrooman <[email protected]>
    xgreenx and bvrooman authored Sep 7, 2022
    Configuration menu
    Copy the full SHA
    ba842c0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe23f59 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. debt: Remove first leaf from BMT proof set (#115)

    Remove first leaf from BMT proof set
    bvrooman authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    32a7ba8 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2022

  1. Revert #115 (#116)

    Revert "debt: Remove first leaf from BMT proof se] t (#115)"
    
    This reverts commit bf201991ae06353259d980f2633ba764a17980f2.
    bvrooman authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    1f62565 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. feat: BMT integration tests (#36)

    * Replace ProofSet wrapper with Vec
    
    * Initial integration test folder
    
    * BMT `root` and `proof` tests
    
    * Storage integration tests
    
    * binary merkle tree integration test struct
    
    * Revert "debt: Remove first leaf from BMT proof set (#115)"
    
    This reverts commit bf201991ae06353259d980f2633ba764a17980f2.
    
    * Revert changes to proof set
    
    * Whitespace
    bvrooman authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    24baaaa View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2022

  1. chore: Minor clean up (#121)

    * Clean up comments and code
    
    * Additional comment format
    
    * Minor comment formatting
    
    * Update comment text
    
    * Simplify test storage maps
    
    * Simplify sparse test storage maps
    Brandon Vrooman authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    957eca8 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2022

  1. feat: Load BMT from MMR peaks (#123)

    * WIP
    
    * Simplify
    
    * Clean up
    
    * Replace unwraps with error
    
    * Remove unused code
    
    * Fix test import
    
    * Refactor BMT integration tests
    
    * BMT build inline docs
    
    * Update inline comment for consistency
    
    * Update test imports
    
    * Minor refactor
    
    * Update src/common/position_path.rs
    
    Co-authored-by: Green Baneling <[email protected]>
    
    * Refactor and add test
    
    * Appease clippy
    
    Co-authored-by: Green Baneling <[email protected]>
    Brandon Vrooman and xgreenx authored Oct 4, 2022
    Configuration menu
    Copy the full SHA
    f0eaa0b View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Release 0.4.1 (#127)

    Brandon Vrooman authored Oct 28, 2022
    Configuration menu
    Copy the full SHA
    659432e View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2022

  1. Clippy and dependency upgrades (#130)

    * Cliipy
    
    * Dep Upgrades
    Brandon Vrooman authored Nov 12, 2022
    Configuration menu
    Copy the full SHA
    93e636c View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2022

  1. feat: Data-driven BMT test generation and framework (#125)

    * BMT data tests
    
    * Additional tests
    
    * Fixed rand seed for test data gen
    
    * Update test pass fail return
    
    * Additional negative tests
    
    * Update test cases
    
    * Manual cargo fmt
    
    * Remove unused roottest struct
    
    * Use verifyDigest
    
    * Update binary.rs
    
    * Upgrade serde yaml
    
    * fix warning
    
    * Use serialized enums over strings
    
    * Rename tests
    
    * Add test descriptions
    
    * refactor into separate fns
    
    * Update tests
    Brandon Vrooman authored Nov 15, 2022
    Configuration menu
    Copy the full SHA
    e302ce8 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. refactor: Add Prefix enum and buffer error checking (#131)

    * Prefix enum
    
    * Simplify
    
    * Revert accidental change
    
    * Clippy
    
    * impl AsRef
    
    * Update prefix.rs
    
    * Error handling
    
    * Error checks
    
    * Collapse use statements
    
    * Manual impl From StorageError
    
    * Manual from prefix error
    
    * Update node.rs
    
    * Revert renaming Internal to Node
    
    * Update binary_proofs.rs
    
    * Revert "Update binary_proofs.rs"
    
    This reverts commit d9996de6072072d73e6b5c0fd7d6fcfe939cf625.
    
    * Update node.rs
    Brandon Vrooman authored Nov 30, 2022
    Configuration menu
    Copy the full SHA
    10568d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2022

  1. feat: ParentNode fallible interface (#133)

    * ParentNode fallible interface
    
    Merge
    
    * ChildReturn alias
    
    * Warnings
    
    * Refactor
    
    * Update node.rs
    
    * Clean up
    
    * Remove unnecessary trait restrictions
    
    * Update path_iterator.rs
    
    * Comments and test
    
    * Rename to child error
    
    * ChildError
    
    * Add Key to ChildError
    
    * Simplify
    
    * Simplify
    
    * Update merkle_tree.rs
    
    * Refactor
    
    * StroageNodeError
    
    * NodeIsLeaf error for leaf nodes
    
    * thiserror for StorageNodeError and ChildError
    
    * Minor refactor common use statements
    
    * Remove extern crate core
    
    * Clean up use statements
    
    * Update path_iterator.rs
    
    * Update path_iterator.rs
    Brandon Vrooman authored Dec 4, 2022
    Configuration menu
    Copy the full SHA
    098b545 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2022

  1. refactor: Introduce Path trait and Instruction (#134)

    * Add path trait and instruction
    
    * Comparable path
    
    * Appease Lord Clippy
    
    * Update msb.rs
    
    * Simplify
    Brandon Vrooman authored Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e001e55 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. feat: BMT node buffer and table definition update (#136)

    * BMT Node buffer
    
    * Refactor buffer, add buffer views
    
    * Simplify Node interface
    
    * Clippy
    
    * Remove unnecessary node clones
    
    * Add safety comments
    
    * Cosmetic
    
    * Return hash as ref
    
    * Replace Schema with constants
    
    * Update safety notes in BMT buffer
    
    * Replace Buffer with Primitive
    
    * Remove Primitive trait
    
    * Refactor primitive
    
    * Simplify
    
    * Make node members private
    
    * Use as ref
    Brandon Vrooman authored Jan 13, 2023
    Configuration menu
    Copy the full SHA
    73cedea View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2023

  1. feat: SMT node primitive update (#137)

    * BMT Node buffer
    
    * Refactor buffer, add buffer views
    
    * Simplify Node interface
    
    * Clippy
    
    * Remove unnecessary node clones
    
    * Add safety comments
    
    * SMT node buffer update
    
    * Simplify
    
    * Minor
    
    * Simplify
    
    * Simplify
    
    * Fix warning
    
    * Simplify
    
    * Return references instead of copies
    
    * Cosmetic
    
    * Return hash as ref
    
    * Replace Schema with constants
    
    * Replace Schema with constants
    
    * Update safety notes in BMT buffer
    
    * Replace Buffer with Primitive
    
    * Replace Buffer with Primitive (WIP)
    
    * Passing tests
    
    * cliipy
    
    * clippy for real tho
    
    * Remove Primitive trait
    
    * Refactor primitive
    
    * Refactor primitive
    
    * Simplify
    
    * Simplify
    
    * Clean up
    
    * Make node members private
    
    * Make Node members private
    
    * Use as ref
    
    * revert
    
    * Rename uses of buffer to primitive
    
    * Rename uses of buffer to primitive in tests
    
    * Use into for insertion in test
    Brandon Vrooman authored Jan 14, 2023
    Configuration menu
    Copy the full SHA
    643a56f View commit details
    Browse the repository at this point in the history
  2. feat: Configurable storage table for BMTs and SMTs (#129)

    * Configurable storage table
    
    * refactor sum tree
    
    * Minor
    
    * Update Cargo.toml
    
    * Update position.rs
    
    * Update storage_map.rs
    
    * Refactor nodes tables
    
    * Update binary.rs
    
    * Fmt
    
    * Use core over std
    
    * Update binary_proofs.rs
    
    * Revert "Update binary_proofs.rs"
    
    This reverts commit ba38107c6cff3462041b3dbe8b6255431b056dc8.
    
    * Merge fixes
    
    * Fix warnings
    
    * Clean up
    
    * Clean up
    
    * Update merkle_tree.rs
    
    * consistency
    
    * Use match over if else
    
    * Revert "Use match over if else"
    
    This reverts commit c74337a448f48c9eec89d7b436aa03a80e00e886.
    
    * Rearrangement
    
    * BMT Node buffer
    
    * Refactor buffer, add buffer views
    
    * Simplify Node interface
    
    * Clippy
    
    * Remove unnecessary node clones
    
    * Add safety comments
    
    * SMT node buffer update
    
    * Simplify
    
    * Minor
    
    * Simplify
    
    * Simplify
    
    * Fix warning
    
    * Simplify
    
    * Return references instead of copies
    
    * Cosmetic
    
    * Return hash as ref
    
    * Use Binary node buffer for tables
    
    * Replace Schema with constants
    
    * Replace Schema with constants
    
    * Remove serde feature
    
    * Update lib exports
    
    * Clean up
    
    * Update safety notes in BMT buffer
    
    * Replace Buffer with Primitive
    
    * Replace Buffer with Primitive (WIP)
    
    * Passing tests
    
    * cliipy
    
    * clippy for real tho
    
    * Remove Primitive trait
    
    * Refactor primitive
    
    * Refactor primitive
    
    * Simplify
    
    * Simplify
    
    * Clean up
    
    * Make node members private
    
    * Make Node members private
    
    * Use as ref
    
    * Replace uses of Buffer with Primitive
    
    * revert
    
    * Rename uses of buffer to primitive
    
    * Rename uses of buffer to primitive in tests
    
    * Use into for insertion in test
    
    * Fix imports
    
    * Use hex values in test
    
    * chore: Update test table names (#139)
    
    Update table names
    
    * Fix import
    
    * Fix merge side effects
    Brandon Vrooman authored Jan 14, 2023
    Configuration menu
    Copy the full SHA
    03afe03 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2023

  1. feat: Make BMT root available to immutable trees (#141)

    * Refactor
    
    * Refactor
    
    * Infallible storage trait and impl
    
    * Parallel trait usage for getting side nodes
    
    * nostd compliance
    
    * Clippy
    
    * Infallible root
    
    * Add comment docs to root_node
    
    * Fix root_node doc line breaks
    
    * Whitespace
    
    * Fix typo
    
    * Whitespace again
    
    * Remove returned assigned values
    Brandon Vrooman authored Jan 20, 2023
    Configuration menu
    Copy the full SHA
    6f9c88b View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2023

  1. Configuration menu
    Copy the full SHA
    a32b3bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f7a84b1 View commit details
    Browse the repository at this point in the history
  3. fmt merkle

    ControlCplusControlV committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    7ae19cf View commit details
    Browse the repository at this point in the history
  4. toml lint

    ControlCplusControlV committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    62dac1f View commit details
    Browse the repository at this point in the history
  5. toml lint

    ControlCplusControlV committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    79aa348 View commit details
    Browse the repository at this point in the history
  6. toml lint

    ControlCplusControlV committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    6c5a22e View commit details
    Browse the repository at this point in the history
  7. version bump

    ControlCplusControlV committed Jan 22, 2023
    Configuration menu
    Copy the full SHA
    df268a9 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. fix lifetime issues

    freesig committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    a47439f View commit details
    Browse the repository at this point in the history
  2. Revert "version bump"

    This reverts commit df268a9.
    xgreenx committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    763dce0 View commit details
    Browse the repository at this point in the history
  3. Use { workspace = true }

    xgreenx committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    46e5a23 View commit details
    Browse the repository at this point in the history
  4. clippy fixes

    Voxelot committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    83acb21 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7afdd79 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4abc909 View commit details
    Browse the repository at this point in the history
  7. Revert "clippy fixes"

    This reverts commit 83acb21.
    Voxelot committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    e3ef1d5 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. Remove lifetime from the Mappable::Key (#319)

    * Removed `'a` lifetime from `Mappable::Key`.
    Renamed `GetValue` with `OwnedValue`.
    Added the same `OwnedKey` for `Key` to unblock:
    ```rust
        type Key = Self::OwnedKey;
        type OwnedKey = u64;
        type Value = Self::OwnedValue;
        type OwnedValue = Primitive;
    ```
    
    Defined two double storage key for `ContractsAssets` and `ContractsState`.
    Replaced `(&'a ContractId, &'a AssetId)` with corresponding double storage keys.
    
    * Make clippy happy
    
    * Make clippy happy
    
    * Make clippy happy
    
    * Fix `no_std` compilation
    
    * Remove `AsRef` and `From` for `$first` and `$second`
    xgreenx authored Jan 24, 2023
    Configuration menu
    Copy the full SHA
    9c0d9f4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1221004 View commit details
    Browse the repository at this point in the history