# SPDX-License-Identifier: AGPL-3.0-only # The k parameter defining the number of rows used in our circuit (2^k) k = 11; field = "pallas"; # The constants we define for our circuit constant "MembershipProof" { # We use this generator for public key derivation EcFixedPointBase NULLIFIER_K, } # The witness values we define in our circuit witness "MembershipProof" { # The secret key we use to derive the public key Base secret_key, } # The definition of our ZK circuit circuit "MembershipProof" { # Derive the public key public_key = ec_mul_base(secret_key, NULLIFIER_K); # Constrain the public key coordinates. # These are our circuit's public inputs. constrain_instance(ec_get_x(public_key)); constrain_instance(ec_get_y(public_key)); }