ZK-Sentinel V11
TESTNET
๐ Smart Contracts
Deployed contracts, function signatures, and on-chain architecture
Deployed Contracts โ Sepolia Testnet
| Contract | Pool | Address | Status |
|---|---|---|---|
| ZKSentinelV10 | 0.01 ETH | 0x43587eff71aB4DD5...ea5 | โ Live |
| ZKSentinelV10 | 0.1 ETH | 0x80c5EECA1cff4DA7...843 | โ Live |
| ZKSentinelV10 | 1 ETH | 0xA293b237D4FE646f...421 | โ Live |
| ZKSentinelV10 | 10 ETH | 0xb3fca2FcEdC5462b...eae | โ Live |
| ZentinelTreasury | All pools | 0x1D38680ABe7a8e79...937 | โ 3% fee |
| Groth16Verifier | Global | 0x...deployed | โ Immutable |
| Halo2Verifier | ZKML | 0x...deployed | โ Timelocked |
Key Functions โ ZKSentinelV10
deposit(bytes32 commitment)
Standard deposit into pool
depositStealth(bytes32, bytes32 ephPub)
Stealth deposit with ephemeral key
batchDeposit(bytes32[] commitments)
Multi-deposit in single TX
withdraw(proof, root, nullifier, ...)
Relayer or direct withdrawal
partialWithdraw(proof, amount, change)
Partial amount + change commitment
shieldedTransfer(proof, newCommitment)
In-pool transfer, no ETH leaves
proveInnocence(proof, assocSetRoot)
PoI membership proof
selectiveDisclose(proof, min, max)
Range proof on deposit amount
emergencyWithdraw(commitment)
Emergency mode bypass
migrate(proof, newPoolAddress)
Migrate to future pool version
Events
event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);
event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);
event PartialWithdrawal(address to, uint256 amount, bytes32 changeCommitment);
event ShieldedTransfer(bytes32 nullifierHash, bytes32 newCommitment);
event InnocenceProved(bytes32 commitment, bytes32 associationSetRoot);
event SelectiveDisclosure(bytes32 commitment, uint256 auditNonce);
event EmergencyWithdraw(bytes32 commitment, address to);