create-izi-noir 0.2.15 → 0.2.16

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.
Files changed (2) hide show
  1. package/dist/index.js +11 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -316,7 +316,7 @@ function createGitProgress() {
316
316
  function generatePackageJson(options) {
317
317
  const isSolana = options.provider === "arkworks";
318
318
  const dependencies = {
319
- "@izi-noir/sdk": "^0.1.10",
319
+ "@izi-noir/sdk": "^0.1.11",
320
320
  "@noir-lang/acvm_js": "1.0.0-beta.13-1d260df.nightly",
321
321
  "@noir-lang/noirc_abi": "1.0.0-beta.13-1d260df.nightly",
322
322
  "react": "^18.3.1",
@@ -895,6 +895,7 @@ import {
895
895
  markWasmInitialized,
896
896
  AcornParser,
897
897
  generateNoir,
898
+ type ParsedCircuit,
898
899
  } from '@izi-noir/sdk';${solanaImports}
899
900
  import { CodeBlock } from './components/CodeBlock';
900
901
  ${circuitImports}
@@ -946,6 +947,7 @@ function App() {
946
947
  // IziNoir instance and compiled code tracking
947
948
  const [iziInstance, setIziInstance] = useState<IziNoir | null>(null);
948
949
  const [compiledNoirCode, setCompiledNoirCode] = useState<string | null>(null);
950
+ const [parsedCircuit, setParsedCircuit] = useState<ParsedCircuit | null>(null);
949
951
  ${solanaHooks}
950
952
  ${solanaState}
951
953
 
@@ -963,7 +965,8 @@ ${solanaState}
963
965
  setNoirCode(null);
964
966
  // Reset compiled instance (forces recompilation)
965
967
  setIziInstance(null);
966
- setCompiledNoirCode(null);${solanaCircuitResetCode}
968
+ setCompiledNoirCode(null);
969
+ setParsedCircuit(null);${solanaCircuitResetCode}
967
970
  }
968
971
  }, [selectedCircuit]);
969
972
 
@@ -983,9 +986,10 @@ ${solanaState}
983
986
  .filter(([key]) => circuit.privateInputKeys.includes(key))
984
987
  .map(([, val]) => Number(val));
985
988
 
986
- const parsedCircuit = parser.parse(circuit.fn, publicInputs, privateInputs);
987
- const result = generateNoir(parsedCircuit);
989
+ const parsed = parser.parse(circuit.fn, publicInputs, privateInputs);
990
+ const result = generateNoir(parsed);
988
991
  setNoirCode(result);
992
+ setParsedCircuit(parsed);
989
993
  } catch (error) {
990
994
  setTranspileError((error as Error).message);
991
995
  setNoirCode(null);
@@ -1020,7 +1024,8 @@ ${solanaState}
1020
1024
  provider: Provider.${capitalizeFirst(options.provider)},${solanaProviderConfig}
1021
1025
  });
1022
1026
 
1023
- await izi.compile(noirCode);
1027
+ // Pass parsedCircuit for dynamic R1CS generation
1028
+ await izi.compile(noirCode, parsedCircuit ? { parsedCircuit } : undefined);
1024
1029
  setIziInstance(izi);
1025
1030
  setCompiledNoirCode(noirCode);${solanaRecompileResetCode}
1026
1031
  }
@@ -1049,7 +1054,7 @@ ${solanaState}
1049
1054
  } finally {
1050
1055
  setIsGenerating(false);
1051
1056
  }
1052
- }, [noirCode, inputs, iziInstance, compiledNoirCode]);
1057
+ }, [noirCode, inputs, iziInstance, compiledNoirCode, parsedCircuit]);
1053
1058
  ${solanaHandlers}
1054
1059
 
1055
1060
  return (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-izi-noir",
3
- "version": "0.2.15",
3
+ "version": "0.2.16",
4
4
  "description": "CLI to scaffold IZI-NOIR ZK projects",
5
5
  "type": "module",
6
6
  "bin": {