@@ -3,8 +3,10 @@ import {
33 Library ,
44 Plonky2HashFunction ,
55 Risc0Version ,
6+ UltrahonkVariant ,
67} from '../enums' ;
78import {
9+ EZKLProcessor ,
810 FflonkProcessor ,
911 Groth16Processor ,
1012 Plonky2Processor ,
@@ -48,6 +50,7 @@ export const SupportedNetworkConfig: Record<SupportedNetwork, NetworkConfig> = {
4850} ;
4951
5052export enum ProofType {
53+ ezkl = 'ezkl' ,
5154 fflonk = 'fflonk' ,
5255 groth16 = 'groth16' ,
5356 plonky2 = 'plonky2' ,
@@ -64,6 +67,10 @@ export interface ProofConfig {
6467}
6568
6669export const proofConfigurations : Record < ProofType , ProofConfig > = {
70+ [ ProofType . ezkl ] : {
71+ pallet : 'settlementEzklPallet' ,
72+ processor : EZKLProcessor ,
73+ } ,
6774 [ ProofType . fflonk ] : {
6875 pallet : 'settlementFFlonkPallet' ,
6976 processor : FflonkProcessor ,
@@ -97,7 +104,12 @@ export const proofConfigurations: Record<ProofType, ProofConfig> = {
97104
98105export interface ProofOptions {
99106 proofType : ProofType ;
100- config ?: Groth16Config | Plonky2Config | Risc0Config | UltraplonkConfig ; // ADD_NEW_PROOF_TYPE
107+ config ?:
108+ | Groth16Config
109+ | Plonky2Config
110+ | Risc0Config
111+ | UltraplonkConfig
112+ | UltrahonkConfig ; // ADD_NEW_PROOF_TYPE
101113}
102114
103115export interface Groth16Config {
@@ -117,11 +129,16 @@ export interface UltraplonkConfig {
117129 numberOfPublicInputs : number ;
118130}
119131
132+ export interface UltrahonkConfig {
133+ variant : UltrahonkVariant ;
134+ }
135+
120136export type AllProofConfigs =
121137 | Groth16Config
122138 | Plonky2Config
123139 | Risc0Config
124140 | UltraplonkConfig
141+ | UltrahonkConfig
125142 | undefined ;
126143// ADD_NEW_PROOF_TYPE - options if needed.
127144
@@ -151,6 +168,9 @@ export const zkvTypes = {
151168 config : 'Plonky2Config' ,
152169 bytes : 'Bytes' ,
153170 } ,
171+ EzklVk : {
172+ vkBytes : 'Bytes' ,
173+ } ,
154174} ;
155175
156176export const zkvRpc = {
@@ -249,6 +269,16 @@ export const zkvRpc = {
249269 ] ,
250270 type : 'H256' ,
251271 } ,
272+ ezkl : {
273+ description : 'Get the hash of an Ezkl verification key artifact' ,
274+ params : [
275+ {
276+ name : 'vk' ,
277+ type : 'EzklVK' ,
278+ } ,
279+ ] ,
280+ type : 'H256' ,
281+ } ,
252282 // ADD_NEW_PROOF_TYPE
253283 } ,
254284} ;
0 commit comments