@izi-noir/sdk 0.1.9 → 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/{IProvingSystem-D0X9Rp3W.d.ts → IProvingSystem-BKgFRl27.d.ts} +97 -2
- package/dist/{IProvingSystem-BpI0rmve.d.cts → IProvingSystem-SfzgcbqH.d.cts} +97 -2
- package/dist/index.cjs +447 -44
- package/dist/index.d.cts +111 -85
- package/dist/index.d.ts +111 -85
- package/dist/index.js +446 -44
- package/dist/providers/arkworks.cjs +444 -44
- package/dist/providers/arkworks.d.cts +7 -4
- package/dist/providers/arkworks.d.ts +7 -4
- package/dist/providers/arkworks.js +444 -44
- package/dist/providers/barretenberg.cjs +444 -44
- package/dist/providers/barretenberg.d.cts +4 -4
- package/dist/providers/barretenberg.d.ts +4 -4
- package/dist/providers/barretenberg.js +444 -44
- package/dist/providers/sunspot.d.cts +2 -2
- package/dist/providers/sunspot.d.ts +2 -2
- package/dist/{wasmInit-oOZwkgo_.d.ts → wasmInit-D3RyRKIC.d.ts} +7 -3
- package/dist/{wasmInit-D615cpte.d.cts → wasmInit-Wyynuk6r.d.cts} +7 -3
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { I as IChainFormatter } from './wasmInit-
|
|
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-
|
|
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-
|
|
6
|
-
export { e as Chain, b as ChainId,
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
interface
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
6
|
-
export { e as Chain, b as ChainId,
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
interface
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
|
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 };
|