Skip to content

Commit

Permalink
AVL tree library (#102)
Browse files Browse the repository at this point in the history
* AVL tree library implementation

* added value and range query

* added tests and natspec

* added Traversal library

* insert and remove optimization

* added natspec, hasPrev and prev

* fixed natspec, removed Typecaster

* fixed removal, added more tests

* clean up

* version

* quick readme update

---------

Co-authored-by: Artem Chystiakov <[email protected]>
  • Loading branch information
mllwchrry and Arvolear authored Jun 10, 2024
1 parent 59b1654 commit d5a01b8
Show file tree
Hide file tree
Showing 6 changed files with 1,938 additions and 157 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ The library consists of modules and utilities that are built with a help of [Ope
- Implementation of [**Contracts Registry**](https://eips.ethereum.org/EIPS/eip-6224) pattern
- Versatile access control smart contracts (Merkle whitelists, RBAC)
- Enhanced and simplified [**Diamond**](https://eips.ethereum.org/EIPS/eip-2535) pattern
- Advanced data structures (**Vector**, **PriorityQueue**)
- Advanced data structures (**Vector**, **PriorityQueue**, **AVLTree**)
- ZK-friendly [**Sparse Merkle Tree**](https://docs.iden3.io/publications/pdfs/Merkle-Tree.pdf) and [**Incremental Merkle Tree**](https://github.com/runtimeverification/deposit-contract-verification/blob/master/deposit-contract-verification.pdf) implementations
- Flexible finance primitives (**Staking**, **Vesting**)
- Robust UniswapV2 and UniswapV3 oracles
- Utilities to ease work with ERC20 decimals, arrays, sets and ZK proofs
- Lightweight SBT implementation
- Utilities to ease work with memory, ERC20 decimals, arrays, sets and ZK proofs

## Overview

Expand Down
Loading

0 comments on commit d5a01b8

Please sign in to comment.