UNPKG

zkverifyjs

Version:

Submit proofs to zkVerify and query proof state with ease using our npm package.

200 lines (199 loc) 5.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.zkvRpc = exports.zkvTypes = exports.proofConfigurations = exports.ProofType = exports.SupportedNetworkConfig = exports.SupportedNetwork = exports.CHAIN_SS58_PREFIX = void 0; const proofTypes_1 = require("../proofTypes"); exports.CHAIN_SS58_PREFIX = 251; // zkVerify specific address format var SupportedNetwork; (function (SupportedNetwork) { SupportedNetwork["zkVerify"] = "zkVerify"; SupportedNetwork["Volta"] = "Volta"; SupportedNetwork["Custom"] = "Custom"; // ADD_NEW_SUPPORTED_NETWORK })(SupportedNetwork || (exports.SupportedNetwork = SupportedNetwork = {})); exports.SupportedNetworkConfig = { [SupportedNetwork.zkVerify]: { host: SupportedNetwork.zkVerify, websocket: 'wss://zkverify-rpc.zkverify.io ', rpc: 'https://zkverify-rpc.zkverify.io ', }, [SupportedNetwork.Volta]: { host: SupportedNetwork.Volta, websocket: 'wss://volta-rpc.zkverify.io', rpc: 'https://volta-rpc.zkverify.io', }, // ADD_NEW_SUPPORTED_NETWORK [SupportedNetwork.Custom]: { host: SupportedNetwork.Custom, websocket: '', rpc: '', }, }; var ProofType; (function (ProofType) { ProofType["fflonk"] = "fflonk"; ProofType["groth16"] = "groth16"; ProofType["plonky2"] = "plonky2"; ProofType["risc0"] = "risc0"; ProofType["sp1"] = "sp1"; ProofType["ultrahonk"] = "ultrahonk"; ProofType["ultraplonk"] = "ultraplonk"; // ADD_NEW_PROOF_TYPE })(ProofType || (exports.ProofType = ProofType = {})); exports.proofConfigurations = { [ProofType.fflonk]: { pallet: 'settlementFFlonkPallet', processor: proofTypes_1.FflonkProcessor, }, [ProofType.groth16]: { pallet: 'settlementGroth16Pallet', processor: proofTypes_1.Groth16Processor, }, [ProofType.risc0]: { pallet: 'settlementRisc0Pallet', processor: proofTypes_1.Risc0Processor, }, [ProofType.ultraplonk]: { pallet: 'settlementUltraplonkPallet', processor: proofTypes_1.UltraPlonkProcessor, }, [ProofType.plonky2]: { pallet: 'settlementPlonky2Pallet', processor: proofTypes_1.Plonky2Processor, }, [ProofType.sp1]: { pallet: 'settlementSp1Pallet', processor: proofTypes_1.SP1Processor, }, [ProofType.ultrahonk]: { pallet: 'settlementUltrahonkPallet', processor: proofTypes_1.UltraHonkProcessor, }, // ADD_NEW_PROOF_TYPE - configurations }; // ADD_NEW_PROOF_TYPE - options if needed. exports.zkvTypes = { MerkleProof: { root: 'H256', proof: 'Vec<H256>', number_of_leaves: 'u32', leaf_index: 'u32', leaf: 'H256', }, Curve: { _enum: ['Bn254', 'Bls12_381'], }, Groth16Vk: { curve: 'Curve', alphaG1: 'Bytes', betaG2: 'Bytes', gammaG2: 'Bytes', deltaG2: 'Bytes', gammaAbcG1: 'Vec<Bytes>', }, Plonky2Config: { _enum: ['Keccak', 'Poseidon'], }, Plonky2Vk: { config: 'Plonky2Config', bytes: 'Bytes', }, }; exports.zkvRpc = { aggregate: { statementPath: { description: 'Get the Merkle root and path of a aggregate statement', params: [ { name: 'at', type: 'BlockHash', }, { name: 'domain_id', type: 'u32', }, { name: 'aggregation_id', type: 'u64', }, { name: 'statement', type: 'H256', }, ], type: 'MerkleProof', }, }, vk_hash: { groth16: { description: 'Get the hash of a Groth16 verification key', params: [ { name: 'vk', type: 'Groth16Vk', }, ], type: 'H256', }, plonky2: { description: 'Get the hash of a Plonky2 verification key', params: [ { name: 'vk', type: 'Plonky2Vk', }, ], type: 'H256', }, risc0: { description: 'Get the hash of a Risc0 verification key', params: [ { name: 'vk', type: 'H256', }, ], type: 'H256', }, ultraplonk: { description: 'Get the hash of an UltraPLONK verification key', params: [ { name: 'vk', type: 'Bytes', }, ], type: 'H256', }, fflonk: { description: 'Get the hash of a FFLONK verification key', params: [ { name: 'vk', type: 'Bytes', }, ], type: 'H256', }, sp1: { description: 'Get the hash of an SP1 verification key', params: [ { name: 'vk', type: 'H256', }, ], type: 'H256', }, ultrahonk: { description: 'Get the hash of an UltraHonk verification key', params: [ { name: 'vk', type: 'Bytes', }, ], type: 'H256', }, // ADD_NEW_PROOF_TYPE }, };