├── .circleci └── config.yml ├── .gitignore ├── Changelog.md ├── LICENSE ├── Makefile ├── README.md ├── cpp ├── .clang-format ├── CMakeLists.txt ├── build │ └── .keep ├── deps.sh ├── e2e_demo.sh ├── flatbuffers │ ├── LICENSE.txt │ ├── base.h │ ├── flatbuffers.h │ └── stl_emulation.h ├── gadget_cli.cpp ├── gadgetlib.cpp ├── gadgetlib.h ├── gadgetlib_alu.cpp ├── gadgetlib_alu.hpp ├── gadgetlib_example.cpp ├── gadgetlib_example.hpp ├── gadgetlib_sha256.cpp ├── libsnark-rust │ ├── Cargo.lock │ ├── Cargo.toml │ ├── build.rs │ ├── local │ │ └── .keep │ └── src │ │ ├── gadgetlib.rs │ │ ├── lib.rs │ │ └── test.rs ├── libsnark_converters.cpp ├── libsnark_converters.hpp ├── libsnark_importer.cpp ├── libsnark_importer.hpp ├── snark_cli.cpp ├── zkinterface_generated.h ├── zkinterface_utils.cpp └── zkinterface_utils.hpp ├── ecosystem └── README.md ├── examples ├── example.json └── example.zkif ├── js ├── .gitignore ├── README.md ├── example.js ├── package-lock.json ├── package.json ├── zkinterface.js └── zkinterface_generated.js ├── rust ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs └── src │ ├── bin │ └── zkif.rs │ ├── cli.rs │ ├── consumers │ ├── mod.rs │ ├── reader.rs │ ├── simulator.rs │ ├── stats.rs │ ├── validator.rs │ └── workspace.rs │ ├── lib.rs │ ├── producers │ ├── builder.rs │ ├── circuit_generator.rs │ ├── examples.rs │ ├── gadget_caller.rs │ ├── mod.rs │ └── workspace.rs │ ├── structs │ ├── command.rs │ ├── constraints.rs │ ├── header.rs │ ├── keyvalue.rs │ ├── message.rs │ ├── messages.rs │ ├── mod.rs │ ├── variables.rs │ └── witness.rs │ └── zkinterface_generated.rs ├── spec ├── .gitignore ├── Makefile ├── design.tex ├── execution.tex ├── graphics │ ├── call_flow.png │ ├── call_flow_drawio.xml │ ├── interop.png │ ├── interop_drawio.xml │ ├── program_components.png │ ├── program_components_drawio.xml │ ├── program_proving.png │ └── program_proving_drawio.xml ├── lib │ ├── dtrt.sty │ ├── lang.sty │ └── style.sty ├── r1cs-def.tex ├── references.bib └── zkinterop.tex ├── zkInterface.pdf └── zkinterface.fbs /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | build/ 3 | dist/ 4 | libsnark 5 | *.a 6 | local/ 7 | .idea/ 8 | -------------------------------------------------------------------------------- /Changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/Changelog.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ci: 2 | cd rust && cargo test 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/README.md -------------------------------------------------------------------------------- /cpp/.clang-format: -------------------------------------------------------------------------------- 1 | BreakBeforeBraces: Attach -------------------------------------------------------------------------------- /cpp/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/CMakeLists.txt -------------------------------------------------------------------------------- /cpp/build/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cpp/deps.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/deps.sh -------------------------------------------------------------------------------- /cpp/e2e_demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/e2e_demo.sh -------------------------------------------------------------------------------- /cpp/flatbuffers/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/flatbuffers/LICENSE.txt -------------------------------------------------------------------------------- /cpp/flatbuffers/base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/flatbuffers/base.h -------------------------------------------------------------------------------- /cpp/flatbuffers/flatbuffers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/flatbuffers/flatbuffers.h -------------------------------------------------------------------------------- /cpp/flatbuffers/stl_emulation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/flatbuffers/stl_emulation.h -------------------------------------------------------------------------------- /cpp/gadget_cli.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadget_cli.cpp -------------------------------------------------------------------------------- /cpp/gadgetlib.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib.cpp -------------------------------------------------------------------------------- /cpp/gadgetlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib.h -------------------------------------------------------------------------------- /cpp/gadgetlib_alu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib_alu.cpp -------------------------------------------------------------------------------- /cpp/gadgetlib_alu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib_alu.hpp -------------------------------------------------------------------------------- /cpp/gadgetlib_example.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib_example.cpp -------------------------------------------------------------------------------- /cpp/gadgetlib_example.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib_example.hpp -------------------------------------------------------------------------------- /cpp/gadgetlib_sha256.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/gadgetlib_sha256.cpp -------------------------------------------------------------------------------- /cpp/libsnark-rust/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/Cargo.lock -------------------------------------------------------------------------------- /cpp/libsnark-rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/Cargo.toml -------------------------------------------------------------------------------- /cpp/libsnark-rust/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/build.rs -------------------------------------------------------------------------------- /cpp/libsnark-rust/local/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cpp/libsnark-rust/src/gadgetlib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/src/gadgetlib.rs -------------------------------------------------------------------------------- /cpp/libsnark-rust/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/src/lib.rs -------------------------------------------------------------------------------- /cpp/libsnark-rust/src/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark-rust/src/test.rs -------------------------------------------------------------------------------- /cpp/libsnark_converters.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark_converters.cpp -------------------------------------------------------------------------------- /cpp/libsnark_converters.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark_converters.hpp -------------------------------------------------------------------------------- /cpp/libsnark_importer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark_importer.cpp -------------------------------------------------------------------------------- /cpp/libsnark_importer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/libsnark_importer.hpp -------------------------------------------------------------------------------- /cpp/snark_cli.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/snark_cli.cpp -------------------------------------------------------------------------------- /cpp/zkinterface_generated.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/zkinterface_generated.h -------------------------------------------------------------------------------- /cpp/zkinterface_utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/zkinterface_utils.cpp -------------------------------------------------------------------------------- /cpp/zkinterface_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/cpp/zkinterface_utils.hpp -------------------------------------------------------------------------------- /ecosystem/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/ecosystem/README.md -------------------------------------------------------------------------------- /examples/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/examples/example.json -------------------------------------------------------------------------------- /examples/example.zkif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/examples/example.zkif -------------------------------------------------------------------------------- /js/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /js/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/README.md -------------------------------------------------------------------------------- /js/example.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/example.js -------------------------------------------------------------------------------- /js/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/package-lock.json -------------------------------------------------------------------------------- /js/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/package.json -------------------------------------------------------------------------------- /js/zkinterface.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/zkinterface.js -------------------------------------------------------------------------------- /js/zkinterface_generated.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/js/zkinterface_generated.js -------------------------------------------------------------------------------- /rust/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | -------------------------------------------------------------------------------- /rust/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/Cargo.lock -------------------------------------------------------------------------------- /rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/Cargo.toml -------------------------------------------------------------------------------- /rust/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/build.rs -------------------------------------------------------------------------------- /rust/src/bin/zkif.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/bin/zkif.rs -------------------------------------------------------------------------------- /rust/src/cli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/cli.rs -------------------------------------------------------------------------------- /rust/src/consumers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/mod.rs -------------------------------------------------------------------------------- /rust/src/consumers/reader.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/reader.rs -------------------------------------------------------------------------------- /rust/src/consumers/simulator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/simulator.rs -------------------------------------------------------------------------------- /rust/src/consumers/stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/stats.rs -------------------------------------------------------------------------------- /rust/src/consumers/validator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/validator.rs -------------------------------------------------------------------------------- /rust/src/consumers/workspace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/consumers/workspace.rs -------------------------------------------------------------------------------- /rust/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/lib.rs -------------------------------------------------------------------------------- /rust/src/producers/builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/builder.rs -------------------------------------------------------------------------------- /rust/src/producers/circuit_generator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/circuit_generator.rs -------------------------------------------------------------------------------- /rust/src/producers/examples.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/examples.rs -------------------------------------------------------------------------------- /rust/src/producers/gadget_caller.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/gadget_caller.rs -------------------------------------------------------------------------------- /rust/src/producers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/mod.rs -------------------------------------------------------------------------------- /rust/src/producers/workspace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/producers/workspace.rs -------------------------------------------------------------------------------- /rust/src/structs/command.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/command.rs -------------------------------------------------------------------------------- /rust/src/structs/constraints.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/constraints.rs -------------------------------------------------------------------------------- /rust/src/structs/header.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/header.rs -------------------------------------------------------------------------------- /rust/src/structs/keyvalue.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/keyvalue.rs -------------------------------------------------------------------------------- /rust/src/structs/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/message.rs -------------------------------------------------------------------------------- /rust/src/structs/messages.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/messages.rs -------------------------------------------------------------------------------- /rust/src/structs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/mod.rs -------------------------------------------------------------------------------- /rust/src/structs/variables.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/variables.rs -------------------------------------------------------------------------------- /rust/src/structs/witness.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/structs/witness.rs -------------------------------------------------------------------------------- /rust/src/zkinterface_generated.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/rust/src/zkinterface_generated.rs -------------------------------------------------------------------------------- /spec/.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | -------------------------------------------------------------------------------- /spec/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/Makefile -------------------------------------------------------------------------------- /spec/design.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/design.tex -------------------------------------------------------------------------------- /spec/execution.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/execution.tex -------------------------------------------------------------------------------- /spec/graphics/call_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/call_flow.png -------------------------------------------------------------------------------- /spec/graphics/call_flow_drawio.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/call_flow_drawio.xml -------------------------------------------------------------------------------- /spec/graphics/interop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/interop.png -------------------------------------------------------------------------------- /spec/graphics/interop_drawio.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/interop_drawio.xml -------------------------------------------------------------------------------- /spec/graphics/program_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/program_components.png -------------------------------------------------------------------------------- /spec/graphics/program_components_drawio.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/program_components_drawio.xml -------------------------------------------------------------------------------- /spec/graphics/program_proving.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/program_proving.png -------------------------------------------------------------------------------- /spec/graphics/program_proving_drawio.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/graphics/program_proving_drawio.xml -------------------------------------------------------------------------------- /spec/lib/dtrt.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/lib/dtrt.sty -------------------------------------------------------------------------------- /spec/lib/lang.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/lib/lang.sty -------------------------------------------------------------------------------- /spec/lib/style.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/lib/style.sty -------------------------------------------------------------------------------- /spec/r1cs-def.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/r1cs-def.tex -------------------------------------------------------------------------------- /spec/references.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/references.bib -------------------------------------------------------------------------------- /spec/zkinterop.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/spec/zkinterop.tex -------------------------------------------------------------------------------- /zkInterface.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/zkInterface.pdf -------------------------------------------------------------------------------- /zkinterface.fbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QED-it/zkinterface/HEAD/zkinterface.fbs --------------------------------------------------------------------------------