Skip to main content

Deploying the Verifier Contract

Before creating a market for a zkApp on Kalypso, market maker must deploy the verifier contract. Typically this verifier contract is an autogenerated ZkApp specific contract. If the ZkApp doesn't support Solidity based verifier, you can use TEE verifier as well. Verifier contracts ensure the trustless validation of zk proofs and fair settlement of trades on Kalypso.

Verifier Contract Deployment

A typical verifier looks something like this

function verifyProof(uint256[5] memory input, uint256[8] memory p) public view returns (bool) {
// verification logic
}

Since, Kalypso has no way to know the function signature of the verifier, you would need it to convert into a standard interface which is interpretable by Kalypso which is explained in next sections.