@izi-noir/sdk 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { I as IChainFormatter } from './wasmInit-D615cpte.cjs';
2
- export { C as ChainProofDataFor, D as DeployResult, a as IziNoir, S as SolanaDeployData, V as VerifyOnChainResult, W as WalletAdapter, i as initNoirWasm, b as isWasmInitialized, m as markWasmInitialized } from './wasmInit-D615cpte.cjs';
1
+ import { I as IChainFormatter } from './wasmInit-Wyynuk6r.cjs';
2
+ export { C as ChainProofDataFor, D as DeployResult, a as IziNoir, S as SolanaDeployData, V as VerifyOnChainResult, W as WalletAdapter, i as initNoirWasm, b as isWasmInitialized, m as markWasmInitialized } from './wasmInit-Wyynuk6r.cjs';
3
3
  import { P as ProofData, S as SolanaProofData, a as CircuitFunction, I as InputValue, b as ProofResult } from './types-CxkI04bP.cjs';
4
4
  export { C as CompileResult, c as ProofTimings, d as ProverOptions, e as VerifierOptions, V as VerifyingKeyData } from './types-CxkI04bP.cjs';
5
- import { c as CircuitMetadata, S as SolanaChainMetadata, I as IProvingSystem } from './IProvingSystem-BpI0rmve.cjs';
6
- export { e as Chain, b as ChainId, f as ChainMetadata, d as ChainMetadataFor, C as CircuitPaths, E as EthereumChainMetadata, g as ICompiler, h as IProver, i as IVerifier, a as IziNoirConfig, j as NETWORK_CONFIG, N as Network, m as NetworkConfig, P as Provider, l as getExplorerAccountUrl, k as getExplorerTxUrl } from './IProvingSystem-BpI0rmve.cjs';
5
+ import { c as CircuitMetadata, S as SolanaChainMetadata, g as ParsedCircuit, I as IProvingSystem } from './IProvingSystem-SfzgcbqH.cjs';
6
+ export { A as AssertStatement, B as BinaryExpr, o as BinaryOperator, e as Chain, b as ChainId, h as ChainMetadata, d as ChainMetadataFor, l as CircuitParam, C as CircuitPaths, f as CompileOptions, E as EthereumChainMetadata, m as Expr, i as ICompiler, j as IProver, k as IVerifier, n as IdentifierExpr, a as IziNoirConfig, L as LiteralExpr, M as MemberExpr, q as NETWORK_CONFIG, N as Network, t as NetworkConfig, P as Provider, p as Statement, s as getExplorerAccountUrl, r as getExplorerTxUrl } from './IProvingSystem-SfzgcbqH.cjs';
7
7
  import { ArkworksWasm, ArkworksWasmConfig } from './providers/arkworks.cjs';
8
8
  export { ArkworksCompiledCircuit, ArkworksProofResult, ArkworksSetupResult, ArkworksWasmModule, isArkworksCircuit } from './providers/arkworks.cjs';
9
9
  import { CompiledCircuit } from '@noir-lang/types';
@@ -65,88 +65,114 @@ declare class SolanaFormatter implements IChainFormatter<'solana'> {
65
65
  private hexToBytes;
66
66
  }
67
67
 
68
- interface CircuitParam {
69
- name: string;
70
- index: number;
71
- }
72
- interface BinaryExpr {
73
- kind: 'binary';
74
- left: Expr;
75
- operator: BinaryOperator;
76
- right: Expr;
77
- }
78
- interface IdentifierExpr {
79
- kind: 'identifier';
80
- name: string;
81
- }
82
- interface LiteralExpr {
83
- kind: 'literal';
84
- value: number | string | bigint;
85
- }
86
- interface MemberExpr {
87
- kind: 'member';
88
- object: Expr;
89
- index: Expr;
90
- }
91
- interface ArrayLiteralExpr {
92
- kind: 'array_literal';
93
- elements: Expr[];
94
- }
95
- interface CallExpr {
96
- kind: 'call';
97
- callee: Expr;
98
- method?: string;
99
- args: Expr[];
100
- }
101
- type BinaryOperator = '==' | '!=' | '+' | '-' | '*' | '/' | '%' | '<' | '>' | '<=' | '>=' | '&' | '|';
102
- type UnaryOperator = '!' | '-';
103
- interface UnaryExpr {
104
- kind: 'unary';
105
- operator: UnaryOperator;
106
- operand: Expr;
107
- }
108
- interface IfExpr {
109
- kind: 'if_expr';
110
- condition: Expr;
111
- consequent: Expr;
112
- alternate: Expr;
113
- }
114
- type Expr = BinaryExpr | UnaryExpr | IdentifierExpr | LiteralExpr | MemberExpr | ArrayLiteralExpr | CallExpr | IfExpr;
115
- interface AssertStatement {
116
- kind: 'assert';
117
- condition: Expr;
118
- message?: string;
119
- }
120
- interface VariableDeclaration {
121
- kind: 'variable_declaration';
122
- name: string;
123
- mutable: boolean;
124
- initializer: Expr;
125
- }
126
- interface AssignmentStatement {
127
- kind: 'assignment';
128
- target: string;
129
- value: Expr;
130
- }
131
- interface IfStatement {
132
- kind: 'if_statement';
133
- condition: Expr;
134
- consequent: Statement[];
135
- alternate?: Statement[];
68
+ /**
69
+ * R1csBuilder - Generates R1CS constraints from ParsedCircuit
70
+ *
71
+ * R1CS (Rank-1 Constraint System) only supports multiplication gates:
72
+ * (Σ a_i * w_i) * (Σ b_j * w_j) = (Σ c_k * w_k)
73
+ *
74
+ * This builder converts parsed JavaScript circuit statements into R1CS constraints.
75
+ *
76
+ * Witness layout (arkworks convention):
77
+ * - w_0 = 1 (constant, always)
78
+ * - w_1, w_2, ... = inputs (public first, then private)
79
+ * - w_k, w_k+1, ... = intermediate variables
80
+ */
81
+
82
+ /**
83
+ * R1CS constraint: A * B = C
84
+ * Each vector is a list of (coefficient_hex, witness_index) pairs
85
+ */
86
+ interface R1csConstraint {
87
+ a: [string, number][];
88
+ b: [string, number][];
89
+ c: [string, number][];
136
90
  }
137
- interface ForStatement {
138
- kind: 'for_statement';
139
- variable: string;
140
- start: Expr;
141
- end: Expr;
142
- inclusive: boolean;
143
- body: Statement[];
91
+ /**
92
+ * Complete R1CS definition for arkworks-groth16-wasm
93
+ */
94
+ interface R1csDefinition {
95
+ num_witnesses: number;
96
+ public_inputs: number[];
97
+ private_inputs: number[];
98
+ constraints: R1csConstraint[];
144
99
  }
145
- type Statement = AssertStatement | VariableDeclaration | AssignmentStatement | IfStatement | ForStatement;
146
- interface ParsedCircuit {
147
- publicParams: CircuitParam[];
148
- privateParams: CircuitParam[];
149
- statements: Statement[];
100
+ /**
101
+ * Builds R1CS constraints from a ParsedCircuit
102
+ */
103
+ declare class R1csBuilder {
104
+ private parsedCircuit;
105
+ private constraints;
106
+ private witnessMap;
107
+ private nextWitnessIdx;
108
+ private publicIndices;
109
+ private privateIndices;
110
+ private readonly NEG_ONE;
111
+ constructor(parsedCircuit: ParsedCircuit);
112
+ /**
113
+ * Build R1CS definition from the parsed circuit
114
+ */
115
+ build(): R1csDefinition;
116
+ /**
117
+ * Get the witness index for an input parameter name
118
+ */
119
+ getWitnessIndex(name: string): number | undefined;
120
+ /**
121
+ * Register all circuit inputs as witnesses
122
+ * Public inputs come first, then private inputs
123
+ */
124
+ private registerInputs;
125
+ /**
126
+ * Process a single statement and generate constraints
127
+ */
128
+ private processStatement;
129
+ /**
130
+ * Process an assert statement
131
+ * The condition must evaluate to true for a valid proof
132
+ */
133
+ private processAssert;
134
+ /**
135
+ * Process a binary expression in an assert
136
+ */
137
+ private processBinaryAssert;
138
+ /**
139
+ * Process an equality assertion: assert(left == right)
140
+ */
141
+ private processEquality;
142
+ /**
143
+ * Process multiplication equality: assert(a * b == c)
144
+ * R1CS: a * b = c
145
+ */
146
+ private processMultiplicationEquality;
147
+ /**
148
+ * Process addition equality: assert(a + b == c)
149
+ * R1CS: (a + b - c) * 1 = 0
150
+ * Which is: (a + b) * 1 = c
151
+ */
152
+ private processAdditionEquality;
153
+ /**
154
+ * Process subtraction equality: assert(a - b == c)
155
+ * R1CS: (a - b) * 1 = c
156
+ */
157
+ private processSubtractionEquality;
158
+ /**
159
+ * Process a variable declaration: let x = expr
160
+ * Creates a new witness for x and adds constraint if needed
161
+ */
162
+ private processVariableDecl;
163
+ /**
164
+ * Process a binary expression as variable initializer
165
+ */
166
+ private processVariableInitBinary;
167
+ /**
168
+ * Process an assignment: x = expr
169
+ * Updates the witness mapping
170
+ */
171
+ private processAssignment;
172
+ /**
173
+ * Get or create a witness index for an expression
174
+ */
175
+ private getOrCreateWitness;
150
176
  }
151
177
 
152
178
  interface IParser {
@@ -1233,4 +1259,4 @@ interface IziNoirBuildConfig {
1233
1259
  */
1234
1260
  declare function defineConfig(config: IziNoirBuildConfig): IziNoirBuildConfig;
1235
1261
 
1236
- export { AcornParser, ArkworksWasm, ArkworksWasmConfig, type AssertStatement, type BatchVerifyResult, type BinaryExpr, type BinaryOperator, type CircuitDefinition, type CircuitExportEntry, CircuitFunction, type CircuitInputDef, CircuitMetadata, type CircuitParam, CircuitRegistry, type CircuitRegistryExport, type CloseVkAccounts, type CreateProofDependencies, CreateProofUseCase, type DeploymentResult, type DeploymentsState, type EnsureDeployedOptions, type Expr, type GetCircuitOptions, IChainFormatter, type IParser, IProvingSystem, type IdentifierExpr, type InitAndVerifyInstructions, type InitVkAccounts, InputValue, type InstructionData, type IziNoirBuildConfig, type LiteralExpr, type MemberExpr, NETWORK_ENDPOINTS, type OffchainCircuitConfig, OffchainVerifier, type OffchainVerifierConfig, type ParsedCircuit, ProofData, ProofResult, type RegisteredCircuit, type SignerInfo, SolanaChainMetadata, SolanaFormatter, type SolanaNetwork, SolanaProofData, SolanaTransactionBuilder, type Statement, type TransactionBuilderConfig, type VerificationEndpointOptions, type VerifyProofAccounts, type VerifyRequest, type VerifyResult, type VkDeployment, VkDeploymentManager, type VkDeploymentManagerConfig, batchVerify, createArkworksWasmContainer, createDefaultContainer, createNodeVkDeploymentManager, createVerificationEndpoint, createVerifierMiddleware, defineCircuit, defineConfig, generateNoir, getGlobalRegistry };
1262
+ export { AcornParser, ArkworksWasm, ArkworksWasmConfig, type BatchVerifyResult, type CircuitDefinition, type CircuitExportEntry, CircuitFunction, type CircuitInputDef, CircuitMetadata, CircuitRegistry, type CircuitRegistryExport, type CloseVkAccounts, type CreateProofDependencies, CreateProofUseCase, type DeploymentResult, type DeploymentsState, type EnsureDeployedOptions, type GetCircuitOptions, IChainFormatter, type IParser, IProvingSystem, type InitAndVerifyInstructions, type InitVkAccounts, InputValue, type InstructionData, type IziNoirBuildConfig, NETWORK_ENDPOINTS, type OffchainCircuitConfig, OffchainVerifier, type OffchainVerifierConfig, ParsedCircuit, ProofData, ProofResult, R1csBuilder, type R1csConstraint, type R1csDefinition, type RegisteredCircuit, type SignerInfo, SolanaChainMetadata, SolanaFormatter, type SolanaNetwork, SolanaProofData, SolanaTransactionBuilder, type TransactionBuilderConfig, type VerificationEndpointOptions, type VerifyProofAccounts, type VerifyRequest, type VerifyResult, type VkDeployment, VkDeploymentManager, type VkDeploymentManagerConfig, batchVerify, createArkworksWasmContainer, createDefaultContainer, createNodeVkDeploymentManager, createVerificationEndpoint, createVerifierMiddleware, defineCircuit, defineConfig, generateNoir, getGlobalRegistry };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { I as IChainFormatter } from './wasmInit-oOZwkgo_.js';
2
- export { C as ChainProofDataFor, D as DeployResult, a as IziNoir, S as SolanaDeployData, V as VerifyOnChainResult, W as WalletAdapter, i as initNoirWasm, b as isWasmInitialized, m as markWasmInitialized } from './wasmInit-oOZwkgo_.js';
1
+ import { I as IChainFormatter } from './wasmInit-D3RyRKIC.js';
2
+ export { C as ChainProofDataFor, D as DeployResult, a as IziNoir, S as SolanaDeployData, V as VerifyOnChainResult, W as WalletAdapter, i as initNoirWasm, b as isWasmInitialized, m as markWasmInitialized } from './wasmInit-D3RyRKIC.js';
3
3
  import { P as ProofData, S as SolanaProofData, a as CircuitFunction, I as InputValue, b as ProofResult } from './types-CxkI04bP.js';
4
4
  export { C as CompileResult, c as ProofTimings, d as ProverOptions, e as VerifierOptions, V as VerifyingKeyData } from './types-CxkI04bP.js';
5
- import { c as CircuitMetadata, S as SolanaChainMetadata, I as IProvingSystem } from './IProvingSystem-D0X9Rp3W.js';
6
- export { e as Chain, b as ChainId, f as ChainMetadata, d as ChainMetadataFor, C as CircuitPaths, E as EthereumChainMetadata, g as ICompiler, h as IProver, i as IVerifier, a as IziNoirConfig, j as NETWORK_CONFIG, N as Network, m as NetworkConfig, P as Provider, l as getExplorerAccountUrl, k as getExplorerTxUrl } from './IProvingSystem-D0X9Rp3W.js';
5
+ import { c as CircuitMetadata, S as SolanaChainMetadata, g as ParsedCircuit, I as IProvingSystem } from './IProvingSystem-BKgFRl27.js';
6
+ export { A as AssertStatement, B as BinaryExpr, o as BinaryOperator, e as Chain, b as ChainId, h as ChainMetadata, d as ChainMetadataFor, l as CircuitParam, C as CircuitPaths, f as CompileOptions, E as EthereumChainMetadata, m as Expr, i as ICompiler, j as IProver, k as IVerifier, n as IdentifierExpr, a as IziNoirConfig, L as LiteralExpr, M as MemberExpr, q as NETWORK_CONFIG, N as Network, t as NetworkConfig, P as Provider, p as Statement, s as getExplorerAccountUrl, r as getExplorerTxUrl } from './IProvingSystem-BKgFRl27.js';
7
7
  import { ArkworksWasm, ArkworksWasmConfig } from './providers/arkworks.js';
8
8
  export { ArkworksCompiledCircuit, ArkworksProofResult, ArkworksSetupResult, ArkworksWasmModule, isArkworksCircuit } from './providers/arkworks.js';
9
9
  import { CompiledCircuit } from '@noir-lang/types';
@@ -65,88 +65,114 @@ declare class SolanaFormatter implements IChainFormatter<'solana'> {
65
65
  private hexToBytes;
66
66
  }
67
67
 
68
- interface CircuitParam {
69
- name: string;
70
- index: number;
71
- }
72
- interface BinaryExpr {
73
- kind: 'binary';
74
- left: Expr;
75
- operator: BinaryOperator;
76
- right: Expr;
77
- }
78
- interface IdentifierExpr {
79
- kind: 'identifier';
80
- name: string;
81
- }
82
- interface LiteralExpr {
83
- kind: 'literal';
84
- value: number | string | bigint;
85
- }
86
- interface MemberExpr {
87
- kind: 'member';
88
- object: Expr;
89
- index: Expr;
90
- }
91
- interface ArrayLiteralExpr {
92
- kind: 'array_literal';
93
- elements: Expr[];
94
- }
95
- interface CallExpr {
96
- kind: 'call';
97
- callee: Expr;
98
- method?: string;
99
- args: Expr[];
100
- }
101
- type BinaryOperator = '==' | '!=' | '+' | '-' | '*' | '/' | '%' | '<' | '>' | '<=' | '>=' | '&' | '|';
102
- type UnaryOperator = '!' | '-';
103
- interface UnaryExpr {
104
- kind: 'unary';
105
- operator: UnaryOperator;
106
- operand: Expr;
107
- }
108
- interface IfExpr {
109
- kind: 'if_expr';
110
- condition: Expr;
111
- consequent: Expr;
112
- alternate: Expr;
113
- }
114
- type Expr = BinaryExpr | UnaryExpr | IdentifierExpr | LiteralExpr | MemberExpr | ArrayLiteralExpr | CallExpr | IfExpr;
115
- interface AssertStatement {
116
- kind: 'assert';
117
- condition: Expr;
118
- message?: string;
119
- }
120
- interface VariableDeclaration {
121
- kind: 'variable_declaration';
122
- name: string;
123
- mutable: boolean;
124
- initializer: Expr;
125
- }
126
- interface AssignmentStatement {
127
- kind: 'assignment';
128
- target: string;
129
- value: Expr;
130
- }
131
- interface IfStatement {
132
- kind: 'if_statement';
133
- condition: Expr;
134
- consequent: Statement[];
135
- alternate?: Statement[];
68
+ /**
69
+ * R1csBuilder - Generates R1CS constraints from ParsedCircuit
70
+ *
71
+ * R1CS (Rank-1 Constraint System) only supports multiplication gates:
72
+ * (Σ a_i * w_i) * (Σ b_j * w_j) = (Σ c_k * w_k)
73
+ *
74
+ * This builder converts parsed JavaScript circuit statements into R1CS constraints.
75
+ *
76
+ * Witness layout (arkworks convention):
77
+ * - w_0 = 1 (constant, always)
78
+ * - w_1, w_2, ... = inputs (public first, then private)
79
+ * - w_k, w_k+1, ... = intermediate variables
80
+ */
81
+
82
+ /**
83
+ * R1CS constraint: A * B = C
84
+ * Each vector is a list of (coefficient_hex, witness_index) pairs
85
+ */
86
+ interface R1csConstraint {
87
+ a: [string, number][];
88
+ b: [string, number][];
89
+ c: [string, number][];
136
90
  }
137
- interface ForStatement {
138
- kind: 'for_statement';
139
- variable: string;
140
- start: Expr;
141
- end: Expr;
142
- inclusive: boolean;
143
- body: Statement[];
91
+ /**
92
+ * Complete R1CS definition for arkworks-groth16-wasm
93
+ */
94
+ interface R1csDefinition {
95
+ num_witnesses: number;
96
+ public_inputs: number[];
97
+ private_inputs: number[];
98
+ constraints: R1csConstraint[];
144
99
  }
145
- type Statement = AssertStatement | VariableDeclaration | AssignmentStatement | IfStatement | ForStatement;
146
- interface ParsedCircuit {
147
- publicParams: CircuitParam[];
148
- privateParams: CircuitParam[];
149
- statements: Statement[];
100
+ /**
101
+ * Builds R1CS constraints from a ParsedCircuit
102
+ */
103
+ declare class R1csBuilder {
104
+ private parsedCircuit;
105
+ private constraints;
106
+ private witnessMap;
107
+ private nextWitnessIdx;
108
+ private publicIndices;
109
+ private privateIndices;
110
+ private readonly NEG_ONE;
111
+ constructor(parsedCircuit: ParsedCircuit);
112
+ /**
113
+ * Build R1CS definition from the parsed circuit
114
+ */
115
+ build(): R1csDefinition;
116
+ /**
117
+ * Get the witness index for an input parameter name
118
+ */
119
+ getWitnessIndex(name: string): number | undefined;
120
+ /**
121
+ * Register all circuit inputs as witnesses
122
+ * Public inputs come first, then private inputs
123
+ */
124
+ private registerInputs;
125
+ /**
126
+ * Process a single statement and generate constraints
127
+ */
128
+ private processStatement;
129
+ /**
130
+ * Process an assert statement
131
+ * The condition must evaluate to true for a valid proof
132
+ */
133
+ private processAssert;
134
+ /**
135
+ * Process a binary expression in an assert
136
+ */
137
+ private processBinaryAssert;
138
+ /**
139
+ * Process an equality assertion: assert(left == right)
140
+ */
141
+ private processEquality;
142
+ /**
143
+ * Process multiplication equality: assert(a * b == c)
144
+ * R1CS: a * b = c
145
+ */
146
+ private processMultiplicationEquality;
147
+ /**
148
+ * Process addition equality: assert(a + b == c)
149
+ * R1CS: (a + b - c) * 1 = 0
150
+ * Which is: (a + b) * 1 = c
151
+ */
152
+ private processAdditionEquality;
153
+ /**
154
+ * Process subtraction equality: assert(a - b == c)
155
+ * R1CS: (a - b) * 1 = c
156
+ */
157
+ private processSubtractionEquality;
158
+ /**
159
+ * Process a variable declaration: let x = expr
160
+ * Creates a new witness for x and adds constraint if needed
161
+ */
162
+ private processVariableDecl;
163
+ /**
164
+ * Process a binary expression as variable initializer
165
+ */
166
+ private processVariableInitBinary;
167
+ /**
168
+ * Process an assignment: x = expr
169
+ * Updates the witness mapping
170
+ */
171
+ private processAssignment;
172
+ /**
173
+ * Get or create a witness index for an expression
174
+ */
175
+ private getOrCreateWitness;
150
176
  }
151
177
 
152
178
  interface IParser {
@@ -1233,4 +1259,4 @@ interface IziNoirBuildConfig {
1233
1259
  */
1234
1260
  declare function defineConfig(config: IziNoirBuildConfig): IziNoirBuildConfig;
1235
1261
 
1236
- export { AcornParser, ArkworksWasm, ArkworksWasmConfig, type AssertStatement, type BatchVerifyResult, type BinaryExpr, type BinaryOperator, type CircuitDefinition, type CircuitExportEntry, CircuitFunction, type CircuitInputDef, CircuitMetadata, type CircuitParam, CircuitRegistry, type CircuitRegistryExport, type CloseVkAccounts, type CreateProofDependencies, CreateProofUseCase, type DeploymentResult, type DeploymentsState, type EnsureDeployedOptions, type Expr, type GetCircuitOptions, IChainFormatter, type IParser, IProvingSystem, type IdentifierExpr, type InitAndVerifyInstructions, type InitVkAccounts, InputValue, type InstructionData, type IziNoirBuildConfig, type LiteralExpr, type MemberExpr, NETWORK_ENDPOINTS, type OffchainCircuitConfig, OffchainVerifier, type OffchainVerifierConfig, type ParsedCircuit, ProofData, ProofResult, type RegisteredCircuit, type SignerInfo, SolanaChainMetadata, SolanaFormatter, type SolanaNetwork, SolanaProofData, SolanaTransactionBuilder, type Statement, type TransactionBuilderConfig, type VerificationEndpointOptions, type VerifyProofAccounts, type VerifyRequest, type VerifyResult, type VkDeployment, VkDeploymentManager, type VkDeploymentManagerConfig, batchVerify, createArkworksWasmContainer, createDefaultContainer, createNodeVkDeploymentManager, createVerificationEndpoint, createVerifierMiddleware, defineCircuit, defineConfig, generateNoir, getGlobalRegistry };
1262
+ export { AcornParser, ArkworksWasm, ArkworksWasmConfig, type BatchVerifyResult, type CircuitDefinition, type CircuitExportEntry, CircuitFunction, type CircuitInputDef, CircuitMetadata, CircuitRegistry, type CircuitRegistryExport, type CloseVkAccounts, type CreateProofDependencies, CreateProofUseCase, type DeploymentResult, type DeploymentsState, type EnsureDeployedOptions, type GetCircuitOptions, IChainFormatter, type IParser, IProvingSystem, type InitAndVerifyInstructions, type InitVkAccounts, InputValue, type InstructionData, type IziNoirBuildConfig, NETWORK_ENDPOINTS, type OffchainCircuitConfig, OffchainVerifier, type OffchainVerifierConfig, ParsedCircuit, ProofData, ProofResult, R1csBuilder, type R1csConstraint, type R1csDefinition, type RegisteredCircuit, type SignerInfo, SolanaChainMetadata, SolanaFormatter, type SolanaNetwork, SolanaProofData, SolanaTransactionBuilder, type TransactionBuilderConfig, type VerificationEndpointOptions, type VerifyProofAccounts, type VerifyRequest, type VerifyResult, type VkDeployment, VkDeploymentManager, type VkDeploymentManagerConfig, batchVerify, createArkworksWasmContainer, createDefaultContainer, createNodeVkDeploymentManager, createVerificationEndpoint, createVerifierMiddleware, defineCircuit, defineConfig, generateNoir, getGlobalRegistry };