Skip to content

Commit 2b457b3

Browse files
BeratOz01furkan-ux
andauthored
implements encrypted metadata support (#63)
* implements encrypted metadata support for every operations * adds tests for deposiut & withdraw with encrypted metadata --------- Signed-off-by: Furkan Boyraz <[email protected]> Co-authored-by: Furkan Boyraz <[email protected]>
1 parent 5111d08 commit 2b457b3

File tree

11 files changed

+1576
-468
lines changed

11 files changed

+1576
-468
lines changed

README.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,27 @@ AvaCloud API documentation can be found [here](https://docs.avacloud.io/encrypte
1515

1616
## Key features
1717

18-
- **Confidential Transactions**: User balances and transaction amounts remain completely hidden, ensuring financial privacy.
18+
- **Confidential Transactions**: User balances and transaction amounts remain completely hidden, ensuring financial confidentiality.
1919

2020
- **Large Integers**: Efficiently handles large token amounts up to 251 bits (2^251), providing greater flexibility.
2121

2222
- **Client-Side Operations**: Users retain control, performing encryption, decryption, and zk-proof generation directly on their own devices.
2323

2424
- **Fully On-chain Nature**: Operates entirely on-chain without the need for relayers or off-chain actors.
2525

26-
- **Built-in Compliance**: Supports external auditors, to ensure regulatory compliance.
2726

28-
- **Dual-Mode Operation**: Supports both standalone tokens and conversion of existing ERC-20 tokens.
27+
- **Built-in Compliance**: Supports external and rotatable auditors, ensuring regulatory compliance.
2928

30-
- **Zero-Knowledge Proofs**: Uses zk-SNARKs to validate transactions without revealing sensitive information.
29+
30+
- **Dual-Mode Operation**: Supports both creating new private tokens and converting existing ERC-20 tokens their private versions.
31+
32+
- **Zero-Knowledge Proofs**: Uses efficient zk-SNARKs to validate statements without revealing sensitive information.
3133

3234
- **Chain Agnostic**: Can be deployed on any EVM-compatible blockchain.
3335

36+
- **(NEW) Encrypted Metadata**: Allows users to send arbitrary-length encrypted metadata along with transactions.
37+
38+
3439
## Architecture
3540

3641
The eERC protocol consists of several key components:
@@ -82,14 +87,13 @@ The eERC protocol consists of several key components:
8287

8388
1. **Standalone Mode**:
8489

85-
- Creates entirely new private ERC-20 tokens
86-
- Built-in privacy features
87-
- Direct token operations
90+
- Creates entirely new private ERC-20 (eERC) tokens
91+
- Relies on minting and burning to manage token supply
92+
- Keeps total supply private all the time, offering better privacy compared to converter mode
8893

8994
2. **Converter Mode**:
90-
- Adds privacy features to existing ERC-20 tokens
91-
- Wraps existing ERC20 tokens
92-
- Enables privacy through deposit/withdraw
95+
- Wraps existing ERC20 tokens to eERC tokens
96+
- Relies on deposits and withdrawals to manage token supply
9397
- Maintains compatibility with original tokens
9498

9599
## File structure
@@ -344,7 +348,6 @@ snarkjs zkey verify <circuit_name>.r1cs powersOfTau28_hez_final_<Size>.ptau <cir
344348
- For withdraw circuit => `powersOfTau28_hez_final_14.ptau`
345349
- For registration circuit => `powersOfTau28_hez_final_11.ptau`
346350
347-
348351
## License
349352
350353
This project is licensed under the Ecosystem License - see the LICENSE file for details.

0 commit comments

Comments
 (0)