{"_id":"@nori-zk/proof-conversion","_rev":"29-a4678be1d591d86e648251bf3b3be20f","name":"@nori-zk/proof-conversion","dist-tags":{"latest":"0.8.30"},"versions":{"0.1.1":{"name":"@nori-zk/proof-conversion","version":"0.1.1","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.1.1","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"dist":{"shasum":"2bcfc41f51f4544f5ba08bd686601800f803ab3f","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.1.1.tgz","fileCount":397,"integrity":"sha512-Rcsu3BC83ME/JJkmoFvdD3dm5rNxPU00kQM65g/QE9uNNx+NTmWaOjwxrdF2VHTJ3MdPlXq1j47fkWVd8oN8VA==","signatures":[{"sig":"MEUCIQDwIUnhGZkag+4wG3hzkvrPSzeaB5XsL46xJzWkANrKlwIgEYcGTtq9ZeZmir5WEsfdi08U/KRZBPUr/aFzwJhG+Q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254578},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"d6b36c88baeff9196ff859d01a0950ebf4818716","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"## Description","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","ethers":"^6.13.1","bytebuffer":"^5.0.1","typescript":"^5.4.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.1.1_1740670059936_0.7949719610822241","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@nori-zk/proof-conversion","version":"0.1.2","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.1.2","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"dist":{"shasum":"733c91a825d1e74ad8879ffdb5115613baeb5d77","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.1.2.tgz","fileCount":383,"integrity":"sha512-/FO/oXpYlmi/uqFCCdARInXiiyVsCv/FZXmklSKs1VgouCTRXkh6JWl6no5nwTX3rW97J8n7bLw4wF6s8ngl0g==","signatures":[{"sig":"MEYCIQCo8+5cmlJka1kQyluCmk8IN6d2L2ZzUax4u9NbitptiAIhAP+BTMIA5xYvoBOuZ8k8Ir7yLc44eMgNhNyy4DZzJdYd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234310},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"8cec44b8f91b9fb574eaa4361feccbaeba343603","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","ethers":"^6.13.1","bytebuffer":"^5.0.1","typescript":"^5.4.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.1.2_1740670775501_0.24016116939430154","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@nori-zk/proof-conversion","version":"0.1.3","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.1.3","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"dist":{"shasum":"8be2e7105cc199c19394d8f3793e2a3ac6472d79","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.1.3.tgz","fileCount":383,"integrity":"sha512-duOgnLjzlsfd4f5KGURhQnMkhyToD2OmaEQuH+t08/Oebr37rb+f1j4Mjk5tIXe9naj5RUIYpNph4I0IEORVyQ==","signatures":[{"sig":"MEUCIQCDJERZFx2SNENLSJnSomTniTI72Qt6p9zfdMfeWUDUlAIgSHBf5QS+j8s9Ik2lomVB7SU4y9ONs8cRhpopQp8L2OM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234344},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"30bee6c88a4f7b7c569beed797bd06691b2e06d1","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","ethers":"^6.13.1","bytebuffer":"^5.0.1","typescript":"^5.4.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.1.3_1740673166206_0.21707693369897574","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@nori-zk/proof-conversion","version":"0.5.3","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.3","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"73c55048cd638ec69b94e0a9cf2bc7e0ee0a3d43","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.3.tgz","fileCount":452,"integrity":"sha512-KC6GfVpv9poLhIgUURGCM8JxTId7/uOlw4FJdjqnrRaXU1HqgXwEzegH1qQQW3YN2/99lhf4YxuCDpTQZ8i9lg==","signatures":[{"sig":"MEQCIHl3VSl18Gm/SVjgB0//rAcCryZ1x3I7WwcbYB/0JqgqAiBQUjpR1+KcgRTtRcMaeBLqW5JIbGHOZBYnqBFddlUAJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1407336},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"a10850e2ba8184b9075c2533e8bb806ecc69e2c3","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.3_1741269584312_0.9123873660959982","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@nori-zk/proof-conversion","version":"0.5.4","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.4","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"9f87234c31c8c0690089bfb6ecc42dd725b946a6","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.4.tgz","fileCount":452,"integrity":"sha512-WJi5kJ30RYJvyWP89V7W9tKXK6w+dl5Z1SI86VE/3BNpFPCQE8h7qt2pknjI1pdOAQ2b1vcSNLvYiEINuycNlw==","signatures":[{"sig":"MEQCIGbwbTrJ6S/RYuAX/tIA7gOmY6brbLFUANudtXv00UuIAiBCDs6BMmqP+ePUhbv+Ox/bsvXbewTEOl7mMWLudxR8FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1407390},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"9268108cb5e1910872d971cca7936e9f1ad7a7d4","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.4_1741305553173_0.3701281914565475","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@nori-zk/proof-conversion","version":"0.5.6","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.6","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"ae0b10bb71faef7fe109c94c7f7c0a4413143478","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.6.tgz","fileCount":452,"integrity":"sha512-htQm5RpKmUHxNgqTBBXdfVLOLq3MEcAMZ6epG5n6fSDDvza+/QKCTwCcoC5UDmWac2SBkT7z+oLixd3S2XKtFw==","signatures":[{"sig":"MEUCIQDeUZiUN5NJDAGF6f9gZEy5Bxjw8i0PY37jje0PW/0aagIgKbLET18dpa4QPZneXUxEjySZxM0e7eYKz/9B1qkCHCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410184},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"ab234dceac48a5bf6614f58e064c23d5cf58ef1a","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.6_1741348322084_0.011246083658143169","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@nori-zk/proof-conversion","version":"0.5.7","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.7","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"767f9b36c2ff795ae20b0f508cae253aaef0ba90","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.7.tgz","fileCount":452,"integrity":"sha512-3Hct8ou9Xk9Wyvig0fcbxNII2XElLroPzxhGJTdAPQX/OBHN6pQkD++ROkfAF4KDGlpogl8Qnnkt4EEJitQ8DQ==","signatures":[{"sig":"MEUCIQDTULk1hK4UZDIVeOzi8dPob50i0F/eYaMnHoj218d//gIgTBNdNSRtbccinFKbAVsjUZF+RogDw1YFCitCooUYH8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410184},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","gitHead":"020dc01ef75d72dd7049cd237b3f7cb6a1699c96","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.7_1741354357309_0.6035277456369441","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@nori-zk/proof-conversion","version":"0.5.8","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.8","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"ebd37c9e527e0dd66cab2ce5c38ee5e425432068","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.8.tgz","fileCount":446,"integrity":"sha512-DuIWfdXeLasdc3LzMMxMq/GkBLerkIOV0jIvyQgUwKZOwh0vih5diQCmZDVuUhx9sy7+FtWY1xjA+rickuwyPA==","signatures":[{"sig":"MEUCIGnXcwlyKHq3LahhfbW4w0Ekvl1+B77ZybFK0uTREmheAiEArRujHN5EtRobgY63Uk80Ox+aQuTZI5J53ucW6pKOQz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1417755},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"37abf63a35d83a862bf91b3ddf18b0b19f05a799","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^8.7.0","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.8_1741792371466_0.3308041689575505","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@nori-zk/proof-conversion","version":"0.5.9","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.9","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"cdce473d7e1d9e25b5dca2760ecc63a36c126aaa","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.9.tgz","fileCount":455,"integrity":"sha512-yE5Zl+U4hFw//18xm9E7U8dvsXBU38qAJOotty+ffFVkTNScIpYI4EGDf2gUzA7C4ihAwc79WWeU1rDfJVLrMw==","signatures":[{"sig":"MEYCIQCy4L8RVoEYzaKPShRMknrqZ8qiIPn7MIIm02YG99Uk+QIhAIHqjc8Xb73YlS5c3APmC7FsmDJuhqpOSqCQ0CN1zoc1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1795178},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"b4842291d3738fd7547502f87fabc39d6884da18","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"kirol","actor":{"name":"kirol","type":"user","email":"karolpodufalski@gmail.com"},"email":"karolpodufalski@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"23.11.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.9_1750689678265_0.1534966655248593","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@nori-zk/proof-conversion","version":"0.5.10","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.10","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"a669d650cc554a6d231e23ebc9b2a699efcf36ac","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.10.tgz","fileCount":455,"integrity":"sha512-QLTgumiONALuxa5NR51G9wEg3B+08+GKeJ2kV+DVU2juAzN3B3E//2XN58wbsgmdI53T0uYm+xNulMS1h63JmQ==","signatures":[{"sig":"MEYCIQDv87V94kafgJ6yvx042RBigsOkYSMnFSWcb6LjieqOIgIhAJ3chNzEbAFZm5UjXzSiZ99QAmu1T8EvMn0IgzsBWNhT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1794591},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"d8e10078834be95d6bf28b103f06523863f6b723","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.10_1755161888716_0.39378070249904384","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@nori-zk/proof-conversion","version":"0.5.11","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.11","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"8fb93a56ad6748fdf7fb0f8cb5c95e19dc9b8afe","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.11.tgz","fileCount":458,"integrity":"sha512-hkVHC9bpoDT1eEpKY5t3SKfew7r7I3S+tgYVrruGYl5AnQi9+hEv6VSblS5ICu778tAI5vCUMGQHX6zgTcdaTA==","signatures":[{"sig":"MEYCIQCnfZUigYA5Rv3jtpRFL4Ou1Z3ytjll+pAhRQn4cIaBeAIhAL7D/bRedROkxp9pISjg46XHgZ91/xjGRcv35Fqi2IgH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1832708},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"}},"gitHead":"29687c3e243f9dc75020e82a36a5c6bbd58f086e","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"o1js":"^2.2.0","chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.11_1755172712105_0.002496339867933628","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"@nori-zk/proof-conversion","version":"0.5.12","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.12","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"b95b499e7611a10fc2280dbc66807e1b65dd7fa7","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.12.tgz","fileCount":458,"integrity":"sha512-EarpkzkqFjdiwMEOC3IBwu2UB50EAx5VRyAYEBZfYPyVktO7zV5PxJUFsQ3oB0XOdF9/B4nm//gHB4bU3YyJYg==","signatures":[{"sig":"MEYCIQDjZB+3Od9LJLDxeAcGgA5fk8fwsWzo0jyhsn/fLyFj6gIhAMf8Dda5+TARbxVJhxLNadQS5QQ+P3twKP0KXatfXbSD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1832779},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"}},"gitHead":"91b6364a51bce3048971808885965062bf76416f","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"peerDependencies":{"o1js":"2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.12_1755173109011_0.9383160358202136","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"@nori-zk/proof-conversion","version":"0.5.14","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.14","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"a29f4f3e471cbabb68c24e07c78fcf45ba9a7b82","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.14.tgz","fileCount":458,"integrity":"sha512-xwcHOE/FrBrZCSNOblnocvGHfqai23Rvi7bBspMH7RA+6QHb+u8AWskQ5vgFzDkadwZIg14S4AMiRrAt6HciEw==","signatures":[{"sig":"MEUCIC18dfbzICQgWlKHe+LWLUJcPUT08FNkxl0frPO0J0ntAiEAtkCHwCEDy2qSqP3XUhM77Lc/e8EoKXr6bvWMuTUrhVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841391},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"}},"gitHead":"85f83eb23e699550872d7ed856b770d91d21c4ef","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"peerDependencies":{"o1js":"2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.14_1755173464380_0.9168854924371619","host":"s3://npm-registry-packages-npm-production"}},"0.5.15":{"name":"@nori-zk/proof-conversion","version":"0.5.15","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.5.15","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"e9e8b0d1816ab33f028bec800aeac10a12316f92","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.5.15.tgz","fileCount":458,"integrity":"sha512-dF/UFIwddaDop4Xc8Pe/XIJLjAFc3tWOuFAPo+V8ksbUGfh8kKJxrHzL/C4E6gOMrqtbfwyOryni+ZCMGLPClw==","signatures":[{"sig":"MEQCIHF6+zkCOJHXqyOj1+8HZtPMMFUiiLHMp6P75/m58jNPAiBJv6O2DTNBBUcI8ivRONxUi/fmJo0eptC65HN16Ra10Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841662},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"aae8c2f2f179f713f2b73fffea548ca02b0562bc","scripts":{"lint":"npx eslint src/* --fix","test":"npm run build && node --max-old-space-size=65536 build/src/plonk/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/mm_loop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/plonk/piop/e2e_test.js && node --max-old-space-size=65536 build/src/groth/e2e_test.js","build":"tsc","testw":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","buildw":"tsc --watch","format":"prettier --write --ignore-unknown **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:compute":"npm run build && node --experimental-vm-modules ./build/src/compute/test.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"overrides":{"node-fetch@2.x":{"whatwg-url":"14.x"}},"_npmVersion":"10.9.2","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^5.4.1","ethers":"^6.13.1","commander":"^13.1.0","bytebuffer":"^5.0.1","typescript":"^5.4.5","@nori-zk/proof-conversion-pairing-utils":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","eslint":"^8.7.0","ts-jest":"^29.3.1","ts-node":"^10.9.2","prettier":"^2.3.2","@types/jest":"^27.0.3","@types/node":"^20.12.12","@babel/preset-env":"^7.16.4","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.16.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"peerDependencies":{"o1js":"2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.5.15_1755515822099_0.2172597207359912","host":"s3://npm-registry-packages-npm-production"}},"0.8.16":{"name":"@nori-zk/proof-conversion","version":"0.8.16","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.16","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"84a224f8f96254fcd57e99c4df1e9b4a1c71b651","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.16.tgz","fileCount":506,"integrity":"sha512-BYfHnh/rgz9Bb3tqBbUHy8v3micu6VdGqFyvmKVFpmpNUfuotpUBV4bpGWrTztjK5EZblZNPUyllfkJAzcnT9Q==","signatures":[{"sig":"MEUCIQCCDhzUnb6ITT2deWI2upPuKLzDftt50iPcdtWXF8D81gIgWZyDbYhIHYvOAawY+W8c9CyR8IMlUkBHTI1Ihj8Pfj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2055246},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"5d13cdcf05a0f104f5bb6536a03af34b1ab39df3","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"0.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.16_1770900130175_0.7066186327178918","host":"s3://npm-registry-packages-npm-production"}},"0.8.17":{"name":"@nori-zk/proof-conversion","version":"0.8.17","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.17","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"4a63f38df927273ced8c3ed08548c7c226e3e41e","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.17.tgz","fileCount":509,"integrity":"sha512-1JrVEc4Ot+ExcOkJQ+7acXkv5ZbVR9NRbxwzlwCu8K1JsD0XozyU5761T/zkyoLZoEUNcYBUWHFBDO9eNqmBEA==","signatures":[{"sig":"MEUCIDfSwPQJI4hUOQQ+MRKaP4H2argk1MP9uv3fmaCt8QZkAiEApP/mgw+CzdvjglBnMISU8lWM4SdBi+0LXWgEb5K6eJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2055968},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"165f540f659f077319d341136bd5d4b01d86a6d6","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"0.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.17_1770981680086_0.33234736783180674","host":"s3://npm-registry-packages-npm-production"}},"0.8.18":{"name":"@nori-zk/proof-conversion","version":"0.8.18","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.18","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"539c8d476736e3d1ea65800e52a5518a60b3a217","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.18.tgz","fileCount":513,"integrity":"sha512-B/TBiMD4yl72oXsfZEZIPlSazumIHSVkk4MheofjFWaspw+wuCREMdXWxwJAXH0yN3nyjUxVg3PishnmyuVMYg==","signatures":[{"sig":"MEUCIDDSZg+rsG5t6dYRaCEGupLQwVVb6wMkrGMdjSnfRwchAiEAursGo4oom+1edRVISlYgLWKPiwNX91e9gejeu4u3XWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2081215},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"5e0f0796bffd756804776ab352248b475672ea3d","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.18_1776164799277_0.732360858819266","host":"s3://npm-registry-packages-npm-production"}},"0.8.19":{"name":"@nori-zk/proof-conversion","version":"0.8.19","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.19","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"8da240d9d6e63a6ccc1d2f88f692808799384c6a","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.19.tgz","fileCount":514,"integrity":"sha512-CiPSgIJMSKrNmyr8SLUeZQkffsFh9VmmJmF7g5zn7XETF2UKs4nImeT+mGL2Z/YK7bUjUsG3w+sDdwaegxu7eQ==","signatures":[{"sig":"MEUCIFXniRyPBqkGAeHfYMYOzrLweC040M8Rrp0HmGPlYTTcAiEApDpkBwG0Lhpqd3izK/ZJ/OquaQ5zKSs70BzJsC3t7Ig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2083651},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"91bf3d2165d133eaca47c4c1881042d8bebcc363","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.19_1776344666657_0.6477092366830739","host":"s3://npm-registry-packages-npm-production"}},"0.8.20":{"name":"@nori-zk/proof-conversion","version":"0.8.20","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.20","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"8e1bdd45c42d1b371df36afe394a6cf621044a50","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.20.tgz","fileCount":514,"integrity":"sha512-uliomvikZBjRUe+ijxzXJk2scVbaWLibN7ruxoWFHBuy2YDwuEp1BGHCcdVm3dahnmTDLjYQh8ODo/HHbaPHZQ==","signatures":[{"sig":"MEUCIBH8TLVkUtjTFHnzX0JFHXIFHzj5HExGf6OplaOfEYhRAiEAuG793tCBs+rukUJd4uKxgnYGbU8u9j3idCZkGzWAsAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2081886},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"05d307b7659ce10d84809b914b28628ad4bfc4ba","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.20_1777382879935_0.38755516667521017","host":"s3://npm-registry-packages-npm-production"}},"0.8.21":{"name":"@nori-zk/proof-conversion","version":"0.8.21","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.21","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"1256b2821ff8d8118560badd2205db90dbf2f967","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.21.tgz","fileCount":514,"integrity":"sha512-1QO6uFcLVaBtw2lr2h5hFjaJupPT499a1LCAOTtzw47VdaM8SUAXU0OfuNLgrzw9y/ou0mlLs33Zu6ZCOXSC2g==","signatures":[{"sig":"MEUCIQDmiBujbpLVcHnG5By7S8o0+JH8Zr8XPBorRX8hnheQtQIgek1HYUCi829e/EHZ0Qb9n8RwzEt0v3j4JGQGNBmMhSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2082710},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"13c3dd46770bb954354216c77728650d91863398","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.21_1779136333748_0.17563860379871477","host":"s3://npm-registry-packages-npm-production"}},"0.8.22":{"name":"@nori-zk/proof-conversion","version":"0.8.22","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.22","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"cabd044a3f7e7bc672014030ea4d1defe43c10bb","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.22.tgz","fileCount":517,"integrity":"sha512-phhdh4wHv1VJgWmtFI7Ey+B96+D3DExZqxB2s05k4kbD+aRDjML6gnKle+5EhSRZAo7VQHk1w7R/NBX8brmMpg==","signatures":[{"sig":"MEUCIQCBjMU7axr4ARCiR+vvXz9RnzP043jZCPI3IIQiz1gqDQIgMhalKomE60y+ldiGpJpqW6QYk5KxqPJHwLLA5fG9z9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2098397},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"578388679851ead60a2bf30e13a2a5a271a34dfa","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.22_1781082041740_0.3266700831423166","host":"s3://npm-registry-packages-npm-production"}},"0.8.23":{"name":"@nori-zk/proof-conversion","version":"0.8.23","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.23","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"df1b8fb442848cd97ec6fb336cce3c1c391ae4d6","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.23.tgz","fileCount":514,"integrity":"sha512-9xZ7AV3/IJLzF3gyVCTwEfpjWB9pg9nFHzrlulxhdO0BplGjUxU37P1Jf4KsnPpaMOnMSxDGmn+bkAcCHfuuMg==","signatures":[{"sig":"MEQCIQCyajWlWXQ8xdAF4aEf22Bvi1MbvBgDu3NWFV+PfjHxiAIfJObE6a3jxvTOCZm5k2yVE8OlTuRQEU/I9xRyVbpU3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2086623},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"05bedd7f45e5a679106ed4a57b2fe703b113fb2f","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.23_1781791678088_0.10837073847441614","host":"s3://npm-registry-packages-npm-production"}},"0.8.24":{"name":"@nori-zk/proof-conversion","version":"0.8.24","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.24","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"447795089d020296d2030f2bd6ec798003dc9712","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.24.tgz","fileCount":514,"integrity":"sha512-jqqaq+EfcqXDTeBDkCYeAcqW1nhkIeJ4Jwgf6dVTUq2vU7LStua2fWGFXnYppJWia1QkE1RgiKVrTC3w5VACYA==","signatures":[{"sig":"MEQCICjo8gXb3kjwj6xR35eJrIYpHTI2/m9W9lkQvDYbLZ8VAiB0EMozdjAX6VMCHIWwhHATbF65/3/N8tyjmog9AHJAxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2085983},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"f0af88b8375a4189c0a5cc4f0e7ca4c96e732f7b","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.24_1782765418937_0.3030276288047935","host":"s3://npm-registry-packages-npm-production"}},"0.8.25":{"name":"@nori-zk/proof-conversion","version":"0.8.25","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.25","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"c82728824982b225c662753d6f28bebeabd8986a","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.25.tgz","fileCount":514,"integrity":"sha512-kPsUhO0a4kLDU121stvize+54iSsOpvWKtzeMuZ9ZSroOTFJGbynshydNxIa20Y4iwpAskrtEF0oekodqQYoWw==","signatures":[{"sig":"MEYCIQCXHAZd8vrnjnVEkw+tlfbV/M9JBJeLXsAqMiH+LmkoVAIhAPEuzJ1obQgBDUVT/woAw5BDWrLGI6Iv5KriX22NRm5o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2085251},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"205355779112e82b71c77da6864074343c5296d5","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.698ca"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.25_1782999315974_0.5422502324975733","host":"s3://npm-registry-packages-npm-production"}},"0.8.26":{"name":"@nori-zk/proof-conversion","version":"0.8.26","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.26","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"4c4fd27f4457772f14b8924e4b9a196000c314ce","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.26.tgz","fileCount":514,"integrity":"sha512-7shhS7AZZ0UHQoW2b3Zf/EJb2QD9q7Upecaeeq38zN7PtJM/96EIAcCs5jsLpgU9Fz28Eu4BN2BKMtsPtzEUXg==","signatures":[{"sig":"MEYCIQCDWyz/CosFsqAM+zwhvtBV63v2nKGW218Xj/A/ThP+BAIhAIq/ZpcOvJ7CATjBuEH1BOl9NmGuyXtx2ZiU+xelmaoG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2085251},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"772a10e18923e6cc938c9297ca2f23a7b1c0224a","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.final"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.26_1783951595646_0.39219306574630997","host":"s3://npm-registry-packages-npm-production"}},"0.8.27":{"name":"@nori-zk/proof-conversion","version":"0.8.27","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.27","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"04ce3f2818c6ac47e5fa5e0134db2cc04503c448","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.27.tgz","fileCount":514,"integrity":"sha512-2s/1ZGJ04g4JM6PjphcdZhmKlSgCkVEBpm2q6h6fdksTC0gM/FEzE0X7F1KctSFkv6GlCud+GnIEWxWsJah49g==","signatures":[{"sig":"MEUCIQCfUg+kAVb7+YVgZWoIwl3CV7t16EjC5ro+Re8+LHtHwgIgbnaQYTJmP0H9ZOuRXlXLanrujbw84UO0D5k0sMf8JBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2085249},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"053621c6f5325adf5d98aa1140f74c535d3bcb86","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.rc2"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.27_1785846352479_0.5290873174974762","host":"s3://npm-registry-packages-npm-production"}},"0.8.28":{"name":"@nori-zk/proof-conversion","version":"0.8.28","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.28","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"e1ff9e18a23d3a920ac3384745cdd43b32292d96","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.28.tgz","fileCount":514,"integrity":"sha512-F5pYKy3PijwRnizYaDK7Tlv7dk40fXuiRU1oJDB9pSF/QWA1ACUNYzVlE7fjw4GMTH9h8dfDmSyZkNoeDN4vYg==","signatures":[{"sig":"MEUCIDlgBry++M6Srn3MPQbid5GqCj+e3QCbQH9oBApnb8wcAiEA2n4eDTByMnD/3hhywUtdYmBctNcA8y/hLVxSYskxZl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2084511},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"bf2a2a8d773ad991c09a429bb35a5adc321a10f8","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.rc2"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.28_1786374452950_0.6000124352313194","host":"s3://npm-registry-packages-npm-production"}},"0.8.29":{"name":"@nori-zk/proof-conversion","version":"0.8.29","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"author":"","license":"Apache-2.0","_id":"@nori-zk/proof-conversion@0.8.29","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"3741171ddc6c83e3ca0422991ac8aa2a4afe6118","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.29.tgz","fileCount":514,"integrity":"sha512-LRpml3afQ1bDBZQumGr5QHbEdx40s9wgIWJ47a5OR1FAauNB9dekz4250TfkQFX+oVzHDgJfFQJqujXHUHGXYw==","signatures":[{"sig":"MEUCIFMnKrBsWqXucOaM+7YTa6sJqJtlkKRVIutRuvW3Ty/LAiEA3YhPkBjlsthcj+gSwJ7/YatuQ2G6JjWDCkPuBsYhi6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2089771},"main":"build/src/index.js","type":"module","types":"build/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"f9611d20e0813ea76cb92af6b0d69d7bb67a1192","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.rc2"},"_npmOperationalInternal":{"tmp":"tmp/proof-conversion_0.8.29_1787235582172_0.8387869143631761","host":"s3://npm-registry-packages-npm-production"}},"0.8.30":{"_id":"@nori-zk/proof-conversion@0.8.30","bin":{"nori-proof-converter":"build/src/bin/cli-wrapper.js"},"dist":{"shasum":"29b904c6b37fe451a34f99f46b55b32ed2c5cc77","tarball":"https://registry.npmjs.org/@nori-zk/proof-conversion/-/proof-conversion-0.8.30.tgz","fileCount":552,"integrity":"sha512-JproUFyzvT28D+SOdfcaV8O0sLB5dlRQ7vhyeJpSTI/dqd8dEXsjhwgMgBLux6nISuJ5HDgqWbFX40zbLUtfig==","signatures":[{"sig":"MEQCIBwWS8lh4gctvEpjjXtgyD8FNPWtikMXp8nQOAPIrVRsAiANuRSej7byaH/pzebr4GK+cZI6gnbMTUR/wpkku12IQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH8uMa5b+gLTj4lHLI0PDdLyDvkiczL+LVGUPwii9sjhAiAjcvyZABv1W77pV1ADI3LcDJ1YaqHVHRUmxpZCEnCiBA=="}],"unpackedSize":2149459},"main":"build/src/index.js","name":"@nori-zk/proof-conversion","type":"module","types":"build/src/index.d.ts","author":"","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./build/src/index.js"},"./min":{"import":"./build/src/index.min.js"},"./validation":{"import":"./build/src/api/validation/index.js"},"./wasm-utils":{"import":"./build/src/index.wasm_utils.js"},"./compute/plan":{"import":"./build/src/compute/plan.js"},"./compute/processPool":{"import":"./build/src/compute/processPool.js"},"./compute/plans/platform":{"import":"./build/src/compute/plans/platform/index.js"}},"gitHead":"db1313cb8ff24544e9b2e349b3ba98c54e76f459","license":"Apache-2.0","scripts":{"lint":"eslint src/*","test":"npm run build && node --max-old-space-size=65536 --","build":"tsc","buildw":"tsc --watch","format":"prettier --check --ignore-unknown --ignore-path .prettierignore **/*","relink":"npm unlink nori-proof-converter && npm run build && npm link","vk-tree":"npm run build && node --max-old-space-size=6000 build/src/build_vk_tree.js","coverage":"node node_modules/jest/bin/jest.js --coverage","lint:fix":"eslint src/* --fix","test:e2e":"npm run build && npm run test build/src/plonk/mm_loop/e2e_test.js && npm run test build/src/plonk/piop/e2e_test.js && npm run test build/src/plonk/piop/e2e_playground.js && npm run test build/src/groth/e2e_test.js && npm run test build/src/plonk/e2e_test.js","test:jest":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit","format:fix":"prettier --write --ignore-unknown --ignore-path .prettierignore **/*","test:compute":"npm run build && node ./build/src/compute/compute_test.js","test:validation":"jest --testMatch '**/guards/test.spec.ts'","build:precompute":"npm run build:precompute:towers && npm run build:precompute:lines","build:precompute:lines":"npm run build && node build/src/plonk/mm_loop/precompute_lines.js","build:precompute:towers":"npm run build && node build/src/towers/precompute.js"},"version":"0.8.30","_npmUser":{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},"keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"_npmVersion":"11.6.1","description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","directories":{},"maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"_nodeVersion":"24.11.0","dependencies":{"ethers":"^6.16.0","commander":"14.0.2","esm-iso-logger":"1.0.2","@nori-zk/proof-conversion-utils":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.2","ts-jest":"^29.4.6","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.10","@babel/preset-env":"^7.28.6","typescript-eslint":"^8.53.1","eslint-plugin-o1js":"^0.4.0","@babel/preset-typescript":"^7.28.5"},"peerDependencies":{"o1js":"3.0.0-mesa.rc2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/proof-conversion_0.8.30_1790337299987_0.9782801398406575"}}},"time":{"created":"2025-02-27T15:27:39.874Z","modified":"2026-09-25T11:55:00.224Z","0.1.1":"2025-02-27T15:27:40.202Z","0.1.2":"2025-02-27T15:39:35.796Z","0.1.3":"2025-02-27T16:19:26.445Z","0.5.3":"2025-03-06T13:59:44.576Z","0.5.4":"2025-03-06T23:59:13.460Z","0.5.6":"2025-03-07T11:52:02.316Z","0.5.7":"2025-03-07T13:32:37.625Z","0.5.8":"2025-03-12T15:12:51.707Z","0.5.9":"2025-06-23T14:41:18.494Z","0.5.10":"2025-08-14T08:58:09.010Z","0.5.11":"2025-08-14T11:58:32.483Z","0.5.12":"2025-08-14T12:05:09.258Z","0.5.14":"2025-08-14T12:11:04.589Z","0.5.15":"2025-08-18T11:17:02.284Z","0.8.16":"2026-02-12T12:42:10.349Z","0.8.17":"2026-02-13T11:21:20.304Z","0.8.18":"2026-04-14T11:06:39.479Z","0.8.19":"2026-04-16T13:04:26.868Z","0.8.20":"2026-04-28T13:28:00.115Z","0.8.21":"2026-05-18T20:32:13.980Z","0.8.22":"2026-06-10T09:00:41.883Z","0.8.23":"2026-06-18T14:07:58.304Z","0.8.24":"2026-06-29T20:36:59.079Z","0.8.25":"2026-07-02T13:35:16.121Z","0.8.26":"2026-07-13T14:06:35.793Z","0.8.27":"2026-08-04T12:25:52.635Z","0.8.28":"2026-08-10T15:07:33.109Z","0.8.29":"2026-08-20T14:19:42.351Z","0.8.30":"2026-09-25T11:55:00.070Z"},"license":"Apache-2.0","keywords":["mina-zkapp","mina-zk-app","mina-dapp","zkapp"],"description":"Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof","maintainers":[{"name":"jk89","email":"jonathan.s.kelsey@gmail.com"},{"name":"kirol","email":"karolpodufalski@gmail.com"}],"readme":"# Proof-Conversion\n\n## Description\n\nThis repository enables verification of **PLONK** and **Groth16** proofs generated by **SP1**, **RISC Zero zkVMs** and **Snarkjs** inside **o1js** circuits, making them compatible with zkApps built on the **the **Mina Protocol****. The codebase employs a **parallel and recursive architecture** to efficiently verify non-native proofs in o1js.\n\nThe infrastructure provides format-specific conversion pipelines for each supported proof system. **SP1** proofs (both **PLONK** and **Groth16**) use **gnark's** compressed serialization format internally, which the conversion process decompresses and transforms. All supported systems (**SP1**, **RISC Zero**, **snarkjs**) generate **BN254** curve-based proofs, enabling a common cryptographic foundation. While each proof system requires dedicated handling due to format differences, the modular architecture separates proof decompression, verification key processing, and **o1js** compatible serialization into reusable components.\n\nThe repository handles **Groth16** proofs from multiple sources: **SP1's** gnark-based implementation, **RISC Zero's** format, and **snarkjs** proofs (commonly used with **circom** circuits). Each format undergoes conversion to normalize curve point representations and compute the necessary pairing precomputations, producing proofs verifiable in **o1js** circuits on the **Mina Protocol**.\n\n--------------------------------------------------------------------------------------------\n\n## CLI tool\n\n### Installation\n\n```bash\nnpm install -g @nori-zk/proof-conversion\n```\n\n### Quick start\n\n**List available commands:**\n```bash\nnori-proof-converter\n```\n\n**Get detailed help for a specific command:**\n```bash\nnori-proof-converter describe <command>\n# OR run the command without args:\nnori-proof-converter <command>\n```\n\n**Convert a proof (object mode - single JSON file):**\n```bash\nnori-proof-converter sp1Plonk ./example-proofs/sp1_plonk_obj_v6.1.0.json\n```\n\n**Convert a proof (args mode - multiple JSON files):**\n```bash\nnori-proof-converter snarkjsGroth16 ./example-proofs/snarkjs_groth16_args_proof.json ./example-proofs/snarkjs_groth16_args_vk.json ./example-proofs/snarkjs_groth16_args_public_inputs.json\n```\n\n### Input modes\n\nThe CLI supports two input modes depending on the command:\n\n**1. Object mode** (always supported)\n- Provide a single JSON file containing all required fields\n- The file structure is validated against the command's schema\n```bash\nnori-proof-converter sp1Plonk path/to/sp1_proof.json\n```\n\n**2. Args mode** (command-dependent)\n- Provide multiple JSON files as separate arguments in a specific order\n- Each file is validated against its corresponding schema\n- Run `describe <command>` to see if a command supports args mode and the required file order\n```bash\nnori-proof-converter snarkjsGroth16 path/to/proof.json path/to/vk.json path/to/public_inputs.json\n```\n\n### Available `conversion` commands\n\n#### sp1Plonk\n\nConvert SP1 PLONK proofs into verifiable o1js proofs for the **Mina Protocol**.\n\n- **Args mode:** Not supported\n- **Object mode:** Supported\n\n**Object mode example:**\n```bash\nnori-proof-converter sp1Plonk ./example-proofs/sp1_plonk_obj_v6.1.0.json\n```\n\n#### sp1Groth16\n\nConvert SP1 Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**.\n\n- **Args mode:** Not supported\n- **Object mode:** Supported\n\n**Object mode example:**\n```bash\nnori-proof-converter sp1Groth16 ./example-proofs/sp1_groth16_obj_v6.1.0.json\n```\n\n#### risc0Groth16\n\nConvert RISC Zero Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**.\n\n- **Args mode:** Supported (files: `proof.json`, `vk.json`)\n- **Object mode:** Supported\n\n**Args mode example:**\n```bash\nnori-proof-converter risc0Groth16 ./example-proofs/risc_zero_groth16_args_proof.json ./example-proofs/risc_zero_groth16_args_vk.json\n```\n\n**Object mode example:**\n```bash\nnori-proof-converter risc0Groth16 ./example-proofs/risc_zero_groth16_obj.json\n```\n\n#### snarkjsGroth16\n\nConvert snarkjs/circom Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**.\n\n- **Args mode:** Supported (files: `proof.json`, `vk.json`, `public_inputs.json`)\n- **Object mode:** Supported\n\n**Args mode example:**\n```bash\nnori-proof-converter snarkjsGroth16 ./example-proofs/snarkjs_groth16_args_proof.json ./example-proofs/snarkjs_groth16_args_vk.json ./example-proofs/snarkjs_groth16_args_public_inputs.json\n```\n\n**Object mode example:**\n```bash\nnori-proof-converter snarkjsGroth16 ./example-proofs/snarkjs_groth16_obj.json\n```\n\n### The `describe` command\n\nGet detailed information about any command including schemas, supported modes, and examples. You can use the `describe` command or run the command without arguments:\n\n```bash\nnori-proof-converter describe snarkjsGroth16\n# OR\nnori-proof-converter snarkjsGroth16\n```\n\n**Example output:**\n```\n=== snarkjsGroth16 ===\n\nObject-mode schema:\n\nProvide one JSON file path arguments\n\nExpected schemas for the file:\n    {\n      \"proof\": {\n        \"protocol\": \"groth16\",\n        \"curve\": \"bn128\",\n        \"pi_a\": \"ProjectivePoint\",\n        \"pi_b\": \"ComplexProjectivePoint\",\n        \"pi_c\": \"ProjectivePoint\"\n      },\n      \"vk\": {\n        \"protocol\": \"groth16\",\n        \"curve\": \"bn128\",\n        \"nPublic\": \"BoundedNumberUnion(0..6)\",\n        \"vk_alpha_1\": \"ProjectivePoint\",\n        \"vk_beta_2\": \"ComplexProjectivePoint\",\n        \"vk_gamma_2\": \"ComplexProjectivePoint\",\n        \"vk_delta_2\": \"ComplexProjectivePoint\",\n        \"vk_alphabeta_12\": \"ArrayOfLength[2]<ComplexProjectivePoint>\",\n        \"IC\": \"ArrayOfBoundedLength[0..7]<ProjectivePoint>\"\n      },\n      \"publicInputs\": \"ArrayOfBoundedLength[0..6]<String>\"\n    }\n\nObject-mode usage:\n  $ nori-proof-converter snarkjsGroth16 path/to/snarkjs_groth16_input.json\n\nArgs-mode (file-per-key) schemas:\n\nProvide '3' JSON file path arguments, in order: proof, vk, publicInputs\n\nExpected schemas for each file:\n\n  proof.json:\n    {\n      \"protocol\": \"groth16\",\n      \"curve\": \"bn128\",\n      \"pi_a\": \"ProjectivePoint\",\n      \"pi_b\": \"ComplexProjectivePoint\",\n      \"pi_c\": \"ProjectivePoint\"\n    }\n\n  vk.json:\n    {\n      \"protocol\": \"groth16\",\n      \"curve\": \"bn128\",\n      \"nPublic\": \"BoundedNumberUnion(0..6)\",\n      \"vk_alpha_1\": \"ProjectivePoint\",\n      \"vk_beta_2\": \"ComplexProjectivePoint\",\n      \"vk_gamma_2\": \"ComplexProjectivePoint\",\n      \"vk_delta_2\": \"ComplexProjectivePoint\",\n      \"vk_alphabeta_12\": \"ArrayOfLength[2]<ComplexProjectivePoint>\",\n      \"IC\": \"ArrayOfBoundedLength[0..7]<ProjectivePoint>\"\n    }\n\n  publicInputs.json:\n    \"ArrayOfBoundedLength[0..6]<String>\"\n\nArgs-mode usage:\n  $ nori-proof-converter snarkjsGroth16 path/to/proof.json path/to/vk.json path/to/public_inputs.json\n```\n\n### Automatic schema validation\n\nThe CLI validates all inputs against type-safe schemas before conversion:\n```bash\n$ nori-proof-converter snarkjsGroth16 path/to/invalid_proof.json path/to/invalid_vk.json path/to/invalid_public_inputs.json\n\nArgs-mode validation failed for 'snarkjsGroth16'.\n\nProvide '3' JSON file path arguments, in order: proof, vk, publicInputs\n\nExpected schemas for each file:\n\n  path/to/invalid_proof.json (proof.json):\n    {\n      \"protocol\": \"groth16\",\n      \"curve\": \"bn128\",\n      \"pi_a\": \"ProjectivePoint\",\n      \"pi_b\": \"ComplexProjectivePoint\",\n      \"pi_c\": \"ProjectivePoint\"\n    }\n\n  path/to/invalid_vk.json (vk.json):\n    {\n      \"protocol\": \"groth16\",\n      \"curve\": \"bn128\",\n      \"nPublic\": \"BoundedNumberUnion(0..6)\",\n      \"vk_alpha_1\": \"ProjectivePoint\",\n      \"vk_beta_2\": \"ComplexProjectivePoint\",\n      \"vk_gamma_2\": \"ComplexProjectivePoint\",\n      \"vk_delta_2\": \"ComplexProjectivePoint\",\n      \"vk_alphabeta_12\": \"ArrayOfLength[2]<ComplexProjectivePoint>\",\n      \"IC\": \"ArrayOfBoundedLength[0..7]<ProjectivePoint>\"\n    }\n\n  path/to/invalid_public_inputs.json (publicInputs.json):\n    \"ArrayOfBoundedLength[0..6]<String>\"\n\nValidation errors:\n\n  path/to/invalid_proof.json (proof.json):\n    proof[\"protocol\"]: must be exactly \"groth16\", got \"groth6\"\n    proof[\"pi_b\"]: expected ComplexProjectivePoint, got [[String, String], [String, String], String, [String, String]]\n    proof[\"extra_key\"]: unexpected extra key\n\n  path/to/invalid_vk.json (vk.json):\n    vk[\"nPublic\"]: expected BoundedNumberUnion(0..6), got 10 which exceeds maximum 6\n    vk[\"vk_gamma_2\"]: expected ComplexProjectivePoint, got [[String, String], [String, String], [String, Number]]\n    vk[\"vk_delta_2\"]: expected ComplexProjectivePoint, got [[String, String], [String, String], [String, String], [String, String]]\n    vk[\"vk_alphabeta_12\"] should have type ArrayOfLength[2]<ComplexProjectivePoint>\n      vk[\"vk_alphabeta_12\"][0]: expected ComplexProjectivePoint, got [[String, String], [String, String], [String, String], Number]\n    vk[\"IC\"]: expected ArrayOfBoundedLength[0..7]<ProjectivePoint>, got array of length 9, exceeding maximum 7\n\n  path/to/invalid_public_inputs.json (publicInputs.json):\n    publicInputs: expected ArrayOfBoundedLength[0..6]<String>, got object\n\nDue to the validation issues running 'snarkjsGroth16' in 'args' mode cannot continue\n```\n\n### Parallel processing\n\nYou can change the number of child processes it spawns by setting the `MAX_PROCESSES` environment variable:\n```bash\nexport MAX_PROCESSES=16\nnori-proof-converter sp1Plonk path/to/proof.json\n```\n\nDefault is 1. Beyond `MAX_PROCESSES=32` no performance gains can be expected.\n\n### Output file naming convention\n\nConverted proofs are automatically saved with the command name appended before the extension:\n```bash\n$ nori-proof-converter sp1Plonk path/to/my_proof.json\n# Creates: path/to/my_proof.sp1Plonk.json\n```\n\n### Troubleshooting\n\n#### Updating the CLI\n\n**Local reinstallation**:\n```bash\nnpm run relink\n```\n\n**Global reinstallation**:\n```bash\nnpm uninstall -g @nori-zk/proof-conversion\nnpm install -g @nori-zk/proof-conversion\n```\n\nIf getting a permission denied error, check npm's awareness of linked modules `npm ls -g --depth=0 --link=true`, remove symlinks manually if necessary, and run `npm run relink`.\n\n--------------------------------------------------------------------------------------------\n\n## Typescript API\n\nThis is a **TypeScript-first** API that incorporates **Rust** components via **WebAssembly** for performance-critical cryptographic operations.\n\n### Installation\n\n```bash\nnpm ci @nori-zk/proof-conversion --save\n```\n\n**Ensure you have o1js as a peer dependency.** Currently supported version **2.12.0**.\n\n### Available conversion \"plans\"\n\n```typescript\nimport { performSp1Plonk, performRisc0Groth16, performSnarkjsGroth16, performSp1Groth16 } from '@nori-zk/proof-conversion';\n```\n\n### Usage example in and ESM Node.js project\n\n```typescript\nimport {\n  ComputationalPlanExecutor,\n  performSp1Plonk,\n  type SP1ProofWithPublicValuesPlonkNoTee,\n} from '@nori-zk/proof-conversion';\nimport { assertExactStructure } from '@nori-zk/proof-conversion/validation';\nimport { readFileSync } from 'fs';\n// Optionally include this package, to see internal progress of the executor during proof conversion\nimport { LogPrinter } from 'esm-iso-logger';\n\nasync function main() {\n  new LogPrinter('NoriProofConverter');\n  const maxProcesses = 10;\n  const executor = new ComputationalPlanExecutor(maxProcesses);\n  const sp1ProofStr = readFileSync('./example-proofs/v5.json', 'utf8');\n  const sp1Proof: unknown = JSON.parse(sp1ProofStr);\n  // If sp1Proof is invalid ValidationError('SP1ProofWithPublicValuesPlonkNoTee validation failed: <specificInformation>') will be thrown!\n  assertExactStructure(\n    sp1Proof,\n    performSp1Plonk.schema,\n    'SP1ProofWithPublicValuesPlonkNoTee'\n  );\n  // sp1Proof is now fully typed!\n  const validatedSP1Proof: SP1ProofWithPublicValuesPlonkNoTee = sp1Proof;\n  const result = await performSp1Plonk(executor, validatedSP1Proof);\n  console.log('Finished conversion', result);\n}\n\nmain().catch(console.error);\n```\n\n### Converted proof types\n\n#### `ProofDataOutput`\nProof data in o1js format.\n\nContains a serialized o1js proof along with its public inputs and outputs, plus metadata about recursive proof composition.\n\n- `maxProofsVerified`: Number of proofs this circuit verifies recursively. This is a structural property of the proof's circuit, not a verification mode:\n  - `0`: Circuit does not verify any other proofs (base case/leaf proof)\n  - `1`: Circuit verifies exactly 1 other proof inside its execution\n  - `2`: Circuit verifies exactly 2 other proofs inside its execution (binary tree recursion)\n\n- `proof`: Base64-encoded o1js proof in Pickles format. This is the native proof representation used by o1js, containing all the cryptographic witness data and commitments required for verification.\n\n- `publicInput`: Array of public input field elements as decimal strings. Each string represents a field element in the Pallas base field (255-bit modulus).\n\n- `publicOutput`: Array of public output field elements as decimal strings. Each string represents a field element in the Pallas base field (255-bit modulus).\n\n```typescript\ninterface ProofDataOutput {\n  publicInput: string[];\n  publicOutput: string[];\n  maxProofsVerified: 0 | 1 | 2;\n  proof: string;\n}\n```\n\n#### `VkDataOutput`\nVerification key data in o1js format.\n\nContains a serialized o1js verification key with its cryptographic hash.\n\n- `data`: Base64-encoded o1js verification key in Pickles format. Contains all the cryptographic parameters needed to verify proofs: constraint system commitments, setup parameters, and domain configuration.\n\n- `hash`: Cryptographic hash of the verification key for integrity checking and identification.\n\n```typescript\ninterface VkDataOutput {\n  data: string;\n  hash: string;\n}\n```\n\n#### `ConversionOutput`\nComplete conversion output in o1js format.\n\nBundles together the verification key and proof data for o1js verification. This is the return type of all proof conversion functions (`performSp1Plonk`, `performRisc0Groth16`, `performSnarkjsGroth16`, `performSp1Groth16`).\n\n- `vkData`: Verification key in o1js format (see `VkDataOutput`)\n- `proofData`: Proof in o1js format with public I/O (see `ProofDataOutput`)\n\n```typescript\ninterface ConversionOutput {\n  vkData: VkDataOutput;\n  proofData: ProofDataOutput;\n}\n```\n\n### Minimal export\n\nThe package exports via the `/min` path, useful types and some limited utilities omitting anything which relies on a Node.js dependancy. This is largely to support frontend applications. **Note** none of the proof conversion \"plans\" e.g. `performSp1Plonk`, the `ComputationalPlanExecutor` nor the wasm based utilities are exported.\n\n```typescript\nimport {\n  parsePlonkPublicInputsProvable,\n  wordToBytes,\n  wordToBytesCanonical,\n  isCanonicalFieldBytesLE,\n  NodeProofLeft,\n  FrC,\n  DeferredPromise\n} from '@nori-zk/proof-conversion/min'; // These utilities are also available in '@nori-zk/proof-conversion'\n\nimport type {\n  ConversionOutput,\n  Risc0Groth16Vk,\n  Risc0Groth16PairedVk,\n  Risc0Groth16Proof,\n  Risc0Groth16Input,\n  SnarkjsGroth16Proof,\n  SnarkjsGroth16VK,\n  SnarkjsGroth16Input,\n  SP1ProofWithPublicValues,\n  SP1ProofWithPublicValuesGroth16NoTee,\n  SP1ProofWithPublicValuesPlonkNoTee,\n} from '@nori-zk/proof-conversion/min'; // These types are also available in '@nori-zk/proof-conversion'\n```\n\n### Wasm utilities\n\nThe package exports via the `/wasm-utils` path, useful wasm based utilities are included to assist proof conversions from one format to another - omitting anything which relies on a Node.js dependancy. \n\n```typescript\nimport {\n  computeAuxWitness,\n  convertSp1Groth16ToO1js,\n  convertSnarkjsGroth16ToO1js,\n  computeRisc0Groth16Pairing,\n} from '@nori-zk/proof-conversion/wasm-utils'; // These types are also available in '@nori-zk/proof-conversion'\n```\n\n### Validation utilities\n\nThe package exports runtime validation utilities via the `/validation` path. These are platform-agnostic (work in both Node.js and browser) and provide type-safe schema validation with detailed error messages.\n\n```typescript\nimport {\n  assertExactStructure,\n  ValidationError,\n  isString,\n  isNumber,\n  isArray,\n  isStringArray,\n  isAffinePoint2d,\n  isComplexAffinePoint2d,\n  // ... many more validators\n} from '@nori-zk/proof-conversion/validation';\n```\n\n**Key exports:**\n\n- `assertExactStructure(obj, schema, context)` - Validates an object against a schema definition and throws `ValidationError` with detailed diagnostics on failure. Uses TypeScript assertion signatures to narrow types on success.\n\n- `ValidationError` - Error class thrown when validation fails, containing path-aware error messages.\n\n- Type guard validators:\n  - Primitives: `isString`, `isNumber`, `isBoolean`, `isNull`, `isUndefined`\n  - Arrays: `isArray(validator)`, `isStringArray`, `isNumberArray`, `isArrayOfLength(n)`, `isArrayOfBoundedLength(min, max)`\n  - Crypto types: `isAffinePoint2d`, `isComplexAffinePoint2d`, `isProjectivePoint`, `isComplexProjectivePoint`\n    - See [@nori-zk/proof-conversion-utils](https://www.npmjs.com/package/@nori-zk/proof-conversion-utils) for detailed type documentation (curve points, field extensions, pairings, proof structures, etc.)\n\n**Example usage with real proof schemas:**\n\n```typescript\nimport {\n  assertExactStructure,\n  isString,\n  isProjectivePoint,\n  isComplexProjectivePoint,\n  isArrayOfBoundedLength,\n  isBoundedNumberUnion,\n} from '@nori-zk/proof-conversion/validation';\n\n// Define schema for snarkjs Groth16 verification key\nconst snarkjsGroth16VKSchema = {\n  protocol: 'groth16' as const,  // Literal value - must be exactly \"groth16\"\n  curve: 'bn128' as const,       // Literal value - must be exactly \"bn128\"\n  nPublic: isBoundedNumberUnion({ min: 0, max: 6 }),  // Number between 0-6\n  vk_alpha_1: isProjectivePoint,         // [x, y, z] array of field element strings\n  vk_beta_2: isComplexProjectivePoint,   // [[x0,x1], [y0,y1], [z0,z1]] nested arrays\n  vk_gamma_2: isComplexProjectivePoint,\n  vk_delta_2: isComplexProjectivePoint,\n  IC: isArrayOfBoundedLength(isProjectivePoint, { minLength: 0, maxLength: 7 }),\n};\n\n// Validate untrusted input\nconst untrustedVK: unknown = JSON.parse(vkJsonString);\n\n// This throws ValidationError with detailed path-aware messages if invalid\nassertExactStructure(untrustedVK, snarkjsGroth16VKSchema, \"Snarkjs Groth16 VK\");\n\n// After validation, TypeScript knows the exact type\n// untrustedVK is now: { protocol: \"groth16\", curve: \"bn128\", nPublic: number, ... }\n```\n\n**Integration with API methods:**\n\nAll proof conversion functions (`performSp1Plonk`, `performRisc0Groth16`, etc.) are decorated with the `@ApiMethod` decorator, which:\n- Attaches the validation schema to the function (accessible via `.schema` property)\n- Enables runtime validation as shown in the [usage example](#usage-example-in-and-esm-nodejs-project) above: `performSp1Plonk.schema`\n- Provides CLI support by converting positional arguments to typed objects\n- Ensures type safety across the entire conversion pipeline\n\nSee `src/api/*/schema.ts` files for the actual schemas used by each conversion method.\n\n### Full package (Node.js only)\n\nThe main package export `@nori-zk/proof-conversion` includes everything from `/min` plus Node.js-specific functionality for running proof conversion plans. These plans spawn child processes to perform parallel proof conversion operations.\n\n**Additional Node.js-only exports:**\n\n```typescript\nimport {\n  performSp1Plonk,\n  performRisc0Groth16,\n  performSnarkjsGroth16,\n  performSp1Groth16,\n  ComputationalPlanExecutor,\n} from '@nori-zk/proof-conversion';\n```\n\n- `performSp1Plonk` - Convert SP1 PLONK proofs into verifiable o1js proofs for the **Mina Protocol**\n- `performSp1Groth16` - Convert SP1 Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**\n- `performRisc0Groth16` - Convert RISC Zero Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**\n- `performSnarkjsGroth16` - Convert snarkjs Groth16 proofs into verifiable o1js proofs for the **Mina Protocol**\n- `ComputationalPlanExecutor` - Executor for running conversion plans with parallel processing\n\nThese require Node.js because they spawn child processes and perform filesystem operations for intermediate proof data.\n\n--------------------------------------------------------------------------------------------\n\n## Numa\n\n```sh\nsudo apt install numactl\n```\n\nInstalling `numactl` if your system supports it is highly recommended. **Note** without it, it is expected that you will see crashes on `x86/x86_64` environments. If it is installed, this library will automatically use it.\n\n--------------------------------------------------------------------------------------------\n\n## Optional Kernel Tuning\n\n```\nsudo sysctl -w vm.zone_reclaim_mode=0\nsudo sysctl -w vm.overcommit_memory=1\nsudo sysctl -w vm.swappiness=10\nsudo cpupower frequency-set -g performance\n```\n\n--------------------------------------------------------------------------------------------\n\n## Computing a recursion tree root (`vk-tree`)\n\nEvery converted proof carries a `subtreeVkDigest` in its top-level public\noutput (`publicOutput[2]`) - a Poseidon commitment to every verification key\nused at every position of the recursion tree that produced it. The `vk-tree`\nscript recomputes that same digest directly from the compiled circuits,\nwithout needing a proof or witness:\n\n```sh\nnpm run vk-tree -- plonk\nnpm run vk-tree -- groth16 sp1\nnpm run vk-tree -- groth16 risc0\nnpm run vk-tree -- groth16 snarkjs <path/to/snarkjs_groth16_obj.json>\n```\n\nIt compiles the leaf circuits (`zkp0`-`zkp15` for Groth16, `zkp0`-`zkp23` for\nPLONK) plus the shared `layer1`/`node` compression circuits, then folds their\nverification-key hashes through the same tree hash the circuits use\ninternally, and prints the resulting digest.\n\nThe digest depends on the exact circuits, so it varies by path:\n\n- `plonk` is fixed - one digest, no arguments.\n- `groth16 sp1` and `groth16 risc0` are fixed per vendor and SP1/risc0\n  version - the underlying Groth16 verification key is a vendor constant, so\n  these take no arguments (the fixtures in `example-proofs/` supply it).\n- `groth16 snarkjs` differs per circuit - the circuit's own verification key\n  is baked into the leaf circuits - so it takes the path to a snarkjs\n  `{ proof, publicInputs, vk }` object (e.g. one produced by the snarkjs\n  example generator).\n\nBecause the fixed paths never change for a given version, their digests only\nneed to be computed once; the script is most useful for snarkjs, where the\nvalue is circuit-specific, and for regenerating the fixed constants on a\nversion bump.\n\n--------------------------------------------------------------------------------------------\n\n## Overview of o1js-blobstream by Geometry Research\n\nRefer to the **[Gitbook documentation](https://o1js-blobstream.gitbook.io/o1js-blobstream)** for details on **o1js-blobstream**.\n\n--------------------------------------------------------------------------------------------\n\n## Low level tinkering\n\nIf you wish to do additional research with this library, bash scripts exist which allow you interact with the lower level programs\nof the library. When doing this ensure you setup `numactl` and in addition you will need `parallel`.\n\n#### Install `parallel`\n\n```sh\nsudo apt install parallel\n```\n\nDepending on the CPU model, specificaly NUMA nodes setup, you may need to adjust values in\n`scrips/plonk_tree.sh`\n\n--------------------------------------------------------------------------------------------\n\n# License\n\nThis project is licensed under either:\n\n- **[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)** ([`LICENSE-APACHE`](LICENSE-APACHE))\n- **[MIT License](https://opensource.org/licenses/MIT)** ([`LICENSE-MIT`](LICENSE-MIT))\n\nat your option.\n\nThe **[SPDX](https://spdx.dev)** license identifier for this project is:  \n`MIT OR Apache-2.0`.\n","readmeFilename":"README.md"}