Skip to content

feat(zkatsnark): add driver module for zkatsnark - #2162

Open
neetance wants to merge 2 commits into
LFDT-Panurus:feature/zkat-snark-driverfrom
neetance:feat/driver
Open

feat(zkatsnark): add driver module for zkatsnark#2162
neetance wants to merge 2 commits into
LFDT-Panurus:feature/zkat-snark-driverfrom
neetance:feat/driver

Conversation

@neetance

@neetance neetance commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Description

This PR introduces the driver module for the zkatsnark token backend, effectively wiring up the core Panurus token interfaces (TokenDriver, ValidatorDriver, WalletServiceFactory) to our new zk-SNARK cryptographic primitives. The architecture mirrors the existing zkatdlog driver implementation to ensure consistency across the codebase.

Changes included

  • Driver Registration (driver.go): Implements NewTokenDriver and NewTokenService to orchestrate and export the zkatsnark capabilities as a factory, registered under the zkatsnark driver name and v1 version.
  • Component Factories:
    • ppm.go: Implements the PublicParametersManager factory.
    • ws.go: Implements the WalletServiceFactory adapted for zkatsnark identities and roles.
    • validator.go: Instantiates the zkatsnark-specific validator utilizing the groth16 proof system.
    • deserializer.go: Wires the identity deserialization logic supporting Idemix, X.509, multisig, and HTLC identities.
  • Core Service Stubs:
    • Created initial stubs for service.go, issue.go, transfer.go, and auditor.go to satisfy the TokenManagerService composition requirements. These encapsulate the core action logic (Issue/Transfer/Audit) and will be fully implemented in a follow-up PR alongside the prover orchestrator.

Next step

  • Implement TokenTypeCommitment as part of an action instead of encoding raw token type bytes.

Signed-off-by: Ankit Basu <ankitbasu14@gmail.com>
Signed-off-by: Ankit Basu <ankitbasu14@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant