├── .gitignore ├── .tool-versions ├── Cargo.toml ├── LICENSE ├── README.md ├── Scarb.toml ├── account-file.json ├── asp ├── Cargo.toml └── src │ ├── deposit.rs │ ├── main.rs │ ├── shutdown.rs │ ├── starknet.rs │ └── withdraw.rs ├── circuits ├── association.circom ├── circomlib │ ├── aliascheck.circom │ ├── binsum.circom │ ├── bitify.circom │ ├── comparators.circom │ ├── compconstant.circom │ ├── poseidon.circom │ └── poseidon_constants.circom ├── hash.circom ├── merkle_tree.circom ├── pool.circom └── test.circom ├── cli ├── Cargo.toml └── src │ ├── main.rs │ └── starknet │ └── mod.rs ├── client ├── Cargo.toml ├── build.rs └── src │ ├── abigen │ ├── ecip.rs │ ├── erc20.rs │ ├── mod.rs │ ├── pool.rs │ └── verifier.rs │ ├── account.rs │ ├── append_only_merkle_tree.rs │ ├── circuit.rs │ ├── deploy_declare │ ├── declare.rs │ ├── deploy.rs │ ├── mod.rs │ └── pending.rs │ ├── execution_prepare.rs │ ├── lib.rs │ ├── merkle_tree.rs │ ├── prover │ ├── garaga_cli_helper.rs │ └── mod.rs │ ├── testnet │ ├── mod.rs │ ├── output_waiter.rs │ └── runner.rs │ ├── tests │ ├── contract_deposit_test.rs │ ├── contract_withdraw_test.rs │ ├── deployment_test.rs │ ├── mod.rs │ ├── pool_account_test.rs │ ├── prover_test.rs │ └── verifier_test.rs │ └── transaction_waiter.rs ├── crates ├── hash │ ├── Cargo.toml │ └── src │ │ ├── constants.rs │ │ ├── field.rs │ │ ├── functional.rs │ │ └── lib.rs ├── merkle │ ├── Cargo.toml │ └── src │ │ ├── append.rs │ │ ├── dumb.rs │ │ ├── hybrid.rs │ │ ├── lib.rs │ │ ├── structs.rs │ │ ├── traits.rs │ │ └── utils.rs └── starknet-pool-account │ ├── Cargo.toml │ └── src │ └── lib.rs ├── pool ├── Scarb.toml └── src │ ├── account.cairo │ ├── account │ ├── pool_account.cairo │ └── utils.cairo │ ├── ecip.cairo │ ├── lib.cairo │ ├── merkle.cairo │ ├── pool.cairo │ ├── poseidon.cairo │ ├── verifier.cairo │ └── verifier │ ├── groth16_verifier.cairo │ └── groth16_verifier_constants.cairo ├── requirements.txt ├── rust-toolchain.toml ├── scripts ├── exec.sh ├── setup.sh ├── test-exec.sh └── test.sh ├── snfoundry.toml └── verifier ├── .tools-versions ├── Scarb.toml └── src ├── groth16_verifier.cairo ├── groth16_verifier_constants.cairo └── lib.cairo /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/.gitignore -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | python 3.10.16 2 | nodejs 23.5.0 3 | scarb 2.9.1 4 | starknet-foundry 0.35.1 5 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/README.md -------------------------------------------------------------------------------- /Scarb.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/Scarb.toml -------------------------------------------------------------------------------- /account-file.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/account-file.json -------------------------------------------------------------------------------- /asp/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/Cargo.toml -------------------------------------------------------------------------------- /asp/src/deposit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/src/deposit.rs -------------------------------------------------------------------------------- /asp/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/src/main.rs -------------------------------------------------------------------------------- /asp/src/shutdown.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/src/shutdown.rs -------------------------------------------------------------------------------- /asp/src/starknet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/src/starknet.rs -------------------------------------------------------------------------------- /asp/src/withdraw.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/asp/src/withdraw.rs -------------------------------------------------------------------------------- /circuits/association.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/association.circom -------------------------------------------------------------------------------- /circuits/circomlib/aliascheck.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/aliascheck.circom -------------------------------------------------------------------------------- /circuits/circomlib/binsum.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/binsum.circom -------------------------------------------------------------------------------- /circuits/circomlib/bitify.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/bitify.circom -------------------------------------------------------------------------------- /circuits/circomlib/comparators.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/comparators.circom -------------------------------------------------------------------------------- /circuits/circomlib/compconstant.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/compconstant.circom -------------------------------------------------------------------------------- /circuits/circomlib/poseidon.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/poseidon.circom -------------------------------------------------------------------------------- /circuits/circomlib/poseidon_constants.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/circomlib/poseidon_constants.circom -------------------------------------------------------------------------------- /circuits/hash.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/hash.circom -------------------------------------------------------------------------------- /circuits/merkle_tree.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/merkle_tree.circom -------------------------------------------------------------------------------- /circuits/pool.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/pool.circom -------------------------------------------------------------------------------- /circuits/test.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/circuits/test.circom -------------------------------------------------------------------------------- /cli/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/cli/Cargo.toml -------------------------------------------------------------------------------- /cli/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/cli/src/main.rs -------------------------------------------------------------------------------- /cli/src/starknet/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/cli/src/starknet/mod.rs -------------------------------------------------------------------------------- /client/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/Cargo.toml -------------------------------------------------------------------------------- /client/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/build.rs -------------------------------------------------------------------------------- /client/src/abigen/ecip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/abigen/ecip.rs -------------------------------------------------------------------------------- /client/src/abigen/erc20.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/abigen/erc20.rs -------------------------------------------------------------------------------- /client/src/abigen/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/abigen/mod.rs -------------------------------------------------------------------------------- /client/src/abigen/pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/abigen/pool.rs -------------------------------------------------------------------------------- /client/src/abigen/verifier.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/abigen/verifier.rs -------------------------------------------------------------------------------- /client/src/account.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/account.rs -------------------------------------------------------------------------------- /client/src/append_only_merkle_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/append_only_merkle_tree.rs -------------------------------------------------------------------------------- /client/src/circuit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/circuit.rs -------------------------------------------------------------------------------- /client/src/deploy_declare/declare.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/deploy_declare/declare.rs -------------------------------------------------------------------------------- /client/src/deploy_declare/deploy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/deploy_declare/deploy.rs -------------------------------------------------------------------------------- /client/src/deploy_declare/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/deploy_declare/mod.rs -------------------------------------------------------------------------------- /client/src/deploy_declare/pending.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/deploy_declare/pending.rs -------------------------------------------------------------------------------- /client/src/execution_prepare.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/execution_prepare.rs -------------------------------------------------------------------------------- /client/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/lib.rs -------------------------------------------------------------------------------- /client/src/merkle_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/merkle_tree.rs -------------------------------------------------------------------------------- /client/src/prover/garaga_cli_helper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/prover/garaga_cli_helper.rs -------------------------------------------------------------------------------- /client/src/prover/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/prover/mod.rs -------------------------------------------------------------------------------- /client/src/testnet/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/testnet/mod.rs -------------------------------------------------------------------------------- /client/src/testnet/output_waiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/testnet/output_waiter.rs -------------------------------------------------------------------------------- /client/src/testnet/runner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/testnet/runner.rs -------------------------------------------------------------------------------- /client/src/tests/contract_deposit_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/contract_deposit_test.rs -------------------------------------------------------------------------------- /client/src/tests/contract_withdraw_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/contract_withdraw_test.rs -------------------------------------------------------------------------------- /client/src/tests/deployment_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/deployment_test.rs -------------------------------------------------------------------------------- /client/src/tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/mod.rs -------------------------------------------------------------------------------- /client/src/tests/pool_account_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/pool_account_test.rs -------------------------------------------------------------------------------- /client/src/tests/prover_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/prover_test.rs -------------------------------------------------------------------------------- /client/src/tests/verifier_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/tests/verifier_test.rs -------------------------------------------------------------------------------- /client/src/transaction_waiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/client/src/transaction_waiter.rs -------------------------------------------------------------------------------- /crates/hash/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/hash/Cargo.toml -------------------------------------------------------------------------------- /crates/hash/src/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/hash/src/constants.rs -------------------------------------------------------------------------------- /crates/hash/src/field.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/hash/src/field.rs -------------------------------------------------------------------------------- /crates/hash/src/functional.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/hash/src/functional.rs -------------------------------------------------------------------------------- /crates/hash/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/hash/src/lib.rs -------------------------------------------------------------------------------- /crates/merkle/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/Cargo.toml -------------------------------------------------------------------------------- /crates/merkle/src/append.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/append.rs -------------------------------------------------------------------------------- /crates/merkle/src/dumb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/dumb.rs -------------------------------------------------------------------------------- /crates/merkle/src/hybrid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/hybrid.rs -------------------------------------------------------------------------------- /crates/merkle/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/lib.rs -------------------------------------------------------------------------------- /crates/merkle/src/structs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/structs.rs -------------------------------------------------------------------------------- /crates/merkle/src/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/traits.rs -------------------------------------------------------------------------------- /crates/merkle/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/merkle/src/utils.rs -------------------------------------------------------------------------------- /crates/starknet-pool-account/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/starknet-pool-account/Cargo.toml -------------------------------------------------------------------------------- /crates/starknet-pool-account/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/crates/starknet-pool-account/src/lib.rs -------------------------------------------------------------------------------- /pool/Scarb.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/Scarb.toml -------------------------------------------------------------------------------- /pool/src/account.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/account.cairo -------------------------------------------------------------------------------- /pool/src/account/pool_account.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/account/pool_account.cairo -------------------------------------------------------------------------------- /pool/src/account/utils.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/account/utils.cairo -------------------------------------------------------------------------------- /pool/src/ecip.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/ecip.cairo -------------------------------------------------------------------------------- /pool/src/lib.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/lib.cairo -------------------------------------------------------------------------------- /pool/src/merkle.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/merkle.cairo -------------------------------------------------------------------------------- /pool/src/pool.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/pool.cairo -------------------------------------------------------------------------------- /pool/src/poseidon.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/poseidon.cairo -------------------------------------------------------------------------------- /pool/src/verifier.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/verifier.cairo -------------------------------------------------------------------------------- /pool/src/verifier/groth16_verifier.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/verifier/groth16_verifier.cairo -------------------------------------------------------------------------------- /pool/src/verifier/groth16_verifier_constants.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/pool/src/verifier/groth16_verifier_constants.cairo -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/requirements.txt -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /scripts/exec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/scripts/exec.sh -------------------------------------------------------------------------------- /scripts/setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/scripts/setup.sh -------------------------------------------------------------------------------- /scripts/test-exec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/scripts/test-exec.sh -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/scripts/test.sh -------------------------------------------------------------------------------- /snfoundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/snfoundry.toml -------------------------------------------------------------------------------- /verifier/.tools-versions: -------------------------------------------------------------------------------- 1 | scarb 2.9.1 2 | -------------------------------------------------------------------------------- /verifier/Scarb.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/verifier/Scarb.toml -------------------------------------------------------------------------------- /verifier/src/groth16_verifier.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/verifier/src/groth16_verifier.cairo -------------------------------------------------------------------------------- /verifier/src/groth16_verifier_constants.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/verifier/src/groth16_verifier_constants.cairo -------------------------------------------------------------------------------- /verifier/src/lib.cairo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EkuboProtocol/privacy-pools/HEAD/verifier/src/lib.cairo --------------------------------------------------------------------------------