0.7.0 • Published 3 years ago

@interep/proof v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

The @interep/proof package allow you to create all the Semaphore proof parameters needed for onchain verification with our Interep contracts.


🛠 Install

npm or yarn

Install the @interep/semithid package with npm:

npm i @interep/proof --save

or yarn:

yarn add @interep/proof

📜 Usage

# createProof(identity: ZKIdentity, group: Group, externalNullifier: BigNumber, signal: string, zkFiles: zkFiles): InterepProof

import createIdentity from "@interep/identity"
import createProof from "@interep/proof"
import detectEthereumProvider from "@metamask/detect-provider"
import { ethers } from "ethers"

const ethereumProvider = (await detectEthereumProvider()) as any
const provider = new ethers.providers.Web3Provider(ethereumProvider)
const signer = provider.getSigner()

const identity = await createIdentity((message) => signer.signMessage(message), "Github")

const groupProvider = "github"
const groupName = "gold"
const externalNullifier = 1
const signal = "Hello World"
const snarkArtifacts = {
    wasmFilePath: "./semaphore.wasm",
    zkeyFilePath: "./semaphore_final.zkey"
}

const proof = await createProof(identity, groupProvider, groupName, externalNullifier, signal, snarkArtifacts)