You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Moved APoolFactory from pool-factory directory
* Deleted OwnableCompoundRateKeeper preset
* Deleted redundant presets and modules
* moved presets to one folder
* added storage backet for APoolContractsRegistry
* Updated naming
* added storage backets for contracts
* fixed typo
* added getter for a storage variable
* Linting
* update readme
* update readme
* pretty
* pretty 2.0
* moved DiamondERC165 to utils
* returned AInitializableStorage
* changed version to 3.0.0
* Marked more function as virtual
* revert: Marked more function as virtual
* fix
---------
Co-authored-by: aritkulova <[email protected]>
Co-authored-by: Artem Chystiakov <[email protected]>
│ │ ├── DecimalsConverter — "Simplify interaction with ERC-20 decimals"
65
+
│ │ ├── MemoryUtils — "Functions for memory manipulation"
66
+
│ │ ├── ReturnDataProxy — "Bypass extra returndata copy when returning data"
67
+
│ │ └── Typecaster — "Cast between various Solidity types"
68
+
│ └── zkp
69
+
│ ├── Groth16VerifierHelper — "Simplify integration with Groth16 proofs"
70
+
│ └── PlonkVerifierHelper — "Simplify integration with Plonk proofs"
71
+
├── oracles
72
+
│ ├── AUniswapV2Oracle — "Uniswap V2 oracle with custom TWAP"
73
+
│ └── UniswapV3Oracle — "Uniswap V3 oracle with a clean interface"
74
+
├── proxy
75
+
│ └── adminable
76
+
│ ├── AdminableProxy — "A slight modification of a transparent proxy"
77
+
│ └── AdminableProxyUpgrader — "A slight modification of a proxy admin"
78
+
├── tokens
79
+
│ └── ASBT — "A minimal implementation of an SBT"
80
+
├── utils
81
+
│ ├── ABlockGuard — "Protect against flashloans"
82
+
│ └── Globals — "Some commonly used constants"
83
+
├── presets — "Presets for the library contracts"
84
+
├── interfaces — "Interfaces for the library contracts"
85
+
└── mock — "Mocks for testing purposes"
86
+
```
23
87
24
88
Built with courage and aspiration to perfection.
25
89
26
-
## Overview
90
+
> [!TIP]
91
+
> The library is designed to work cohesively with [hardhat-zkit](https://github.com/dl-solarity/hardhat-zkit) and [circom-lib](https://github.com/dl-solarity/circom-lib) packages.
27
92
28
-
###Installation
93
+
## Installation
29
94
30
-
```console
31
-
$ npm install @solarity/solidity-lib
95
+
```bash
96
+
npm install @solarity/solidity-lib
32
97
```
33
98
34
99
The latest stable version is always in the `master` branch.
35
100
36
-
### Documentation
37
-
38
-
Check out the project's [documentation](https://docs.solarity.dev) with broad explanations and usage examples of every module. Full `natspec` guides are also available in the source code.
39
-
40
-
## Usage
41
-
42
-
You will find the smart contracts in the `/contracts` directory. Feel free to play around and check the project's structure.
43
-
44
-
Once the [npm package](https://www.npmjs.com/package/@solarity/solidity-lib) is installed, one can use the library just like that:
45
-
46
-
```solidity
47
-
pragma solidity ^0.8.21;
48
-
49
-
import {AMultiOwnable} from "@solarity/solidity-lib/access/AMultiOwnable.sol";
50
-
import {TypeCaster} from "@solarity/solidity-lib/libs/utils/TypeCaster.sol";
51
-
import {CartesianMerkleTree} from "@solarity/solidity-lib/libs/data-structures/CartesianMerkleTree.sol";
52
-
import {Groth16VerifierHelper} from "@solarity/solidity-lib/libs/zkp/Groth16VerifierHelper.sol";
53
-
54
-
contract Example is AMultiOwnable {
55
-
using CartesianMerkleTree for CartesianMerkleTree.UintCMT;
This example showcases the basic usage of a `CartesianMerkleTree` with ZK proofs. The contract's `MultiOwner` may add elements to the tree to then privately prove their existence. Also, the `Groth16VerifierHelper` library is used to simplify the interaction with the ZK verifier.
84
-
85
-
> [!TIP]
86
-
> The library is designed to work cohesively with [hardhat-zkit](https://github.com/dl-solarity/hardhat-zkit) and [circom-lib](https://github.com/dl-solarity/circom-lib) packages.
103
+
Check out the project's [documentation](https://docs.solarity.dev) with broad explanations and usage examples of every contract. Full `natspec` guides are also available in the source code.
0 commit comments