Patrick Aljord 9e5938fd7c fix: validate fee commitment matches withdrawal data
Add defense-in-depth check to ensure the feeCommitment.withdrawalData
matches the actual withdrawal.data being submitted. This prevents a
stale fee commitment (quoted for a different amount) from being used
with a different withdrawal, which could result in incorrect fees.

The frontend had a bug where typing an amount character by character
would not refetch the quote, causing mismatched fee commitments.
This server-side check ensures such mismatches are rejected.
2025-12-28 00:34:18 +01:00
2025-05-21 08:35:28 -07:00
2025-02-17 19:52:57 +01:00
2025-04-11 15:31:54 -03:00
2025-02-03 08:49:17 +00:00
2025-02-06 11:22:24 +01:00

Privacy Pool Protocol

Privacy Pool is a blockchain protocol that enables private asset transfers. Users can deposit funds publicly and partially withdraw them privately, provided they can prove membership in an approved set of addresses.

Overview

The protocol implements a system of smart contracts and zero-knowledge proofs to enable privacy-preserving transfers while maintaining compliance through approved address sets. It supports both native assets and ERC20 token transfers.

Repository Structure

This is a Yarn workspaces monorepo containing four packages:

├── packages/
│   ├── circuits/    # Zero-knowledge circuits
│   └── contracts/   # Smart contract implementations
│   └── relayer/     # Minimal relayer implementation
│   └── sdk/         # Typescript toolkit

See the README in each package for detailed information about their specific implementations:

Development

To set up the development environment:

# Install dependencies
yarn
Description
No description provided
Readme Apache-2.0 74 MiB
Languages
TypeScript 52.3%
Solidity 41.6%
JavaScript 5%
Circom 0.9%
Smarty 0.1%