| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat(zkvms/nexus): Update SDK usage | Kamen Mladenov | 2025-04-04 | 6 | -67/+30 |
| | | | | | Update according to their new methods. | ||||
| * | feat(zkvms_host_io): Add the "Return" type, which only contains the function ↵ | Kamen Mladenov | 2025-04-04 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | return type Currently we create an "Output" type, which contains a tuple with all public inputs and the function return type. In most zkVMs, public and private inputs are not distinguished from the start, public inputs are returned by the guest program and private are not. Thus, most of the time we need a more complicated return type. However, sometimes this is not the case, and the public/private distinction is done upfront (and we don't need to output inputs). So we need to add the appropriate type. | ||||
| * | feat(zkvms/zkm): Remove SDK override, Go lib build, update SDK usage | Kamen Mladenov | 2025-04-04 | 4 | -84/+12 |
| | | | | | | | | Update SDK usage, according to their new methods. ZKM moved their Go library to the zkVM repo. Their updated SDK also don't require the patch. | ||||
| * | feat(zkvms/jolt): Add libcxx and openssl dependencies, upper bound for ↵ | Kamen Mladenov | 2025-04-04 | 4 | -7/+8 |
| | | | | | bytemuck_derive | ||||
| * | chore: Update flake.lock and Cargo.lock | Kamen Mladenov | 2025-04-04 | 22 | -4501/+2618 |
| | | |||||
| * | chore(flake.nix): Replace rust-overlay with fenix | Kamen Mladenov | 2025-04-04 | 3 | -8/+16 |
| | | | | | This follows the same change which was made in mcl-blockchain | ||||
| * | feat(flake.nix): Add script for updating all zkVM package dependencies | Kamen Mladenov | 2025-04-04 | 2 | -0/+38 |
| | | | | | | | | | | All crates use the zkVM packages (from nix-blockchain-development) as cargo path dependencies. For each zkVM, they're found in the host, guest and wrapper crates. Since there are a lot of places to update, we're introducing a script which automates this. | ||||
| * | fix(metrics): Do not remove leading zeros | Aristotelis Papanis | 2025-03-13 | 1 | -2/+2 |
| | | | | | | | | With the commit for improving the metrics output we introduced a bug for the milliseconds where we would lose information about leading zeros. This has been now fixed. | ||||
| * | chore(metrics): Change output format of metrics | Aristotelis Papanis | 2025-03-13 | 1 | -17/+44 |
| | | | | | | | | | | | | | | | | | We have improved the format of the benchmarking output. Now the metrics follow a more standard CSV style. Example: ``` name,guest,total duration,repeats,average jolt,fibonacci,1.33,2,0.516 nexus,fibonacci,177.388,2,88.694 risc0,fibonacci,3.828,2,1.914 sp1,fibonacci,13.330,2,6.665 zkm,fibonacci,279.394,2,139.697 zkwasm,fibonacci,106.161,2,53.80 ``` | ||||
| * | feat(guests): Add program which test array iteration, modulo arithmetic and ↵ | Kamen Mladenov | 2025-03-10 | 7 | -0/+255 |
| | | | | | | | early return This test should be pretty difficult for Noir, but less so for the zkVMs | ||||
| * | chore(zkvms_guest_io): Code style improvements | Kamen Mladenov | 2025-03-10 | 1 | -8/+15 |
| | | |||||
| * | feat(zkvms_guest_io): Make execution linear, instead of parallel | Kamen Mladenov | 2025-03-10 | 1 | -36/+24 |
| | | | | | | zkVMs are multithreaded, so having parallel execution will result in inconsistent results, as every zkVM is fighting for resources | ||||
| * | fix(zkvms_guest_io): Remove unnecessary panicking on failed command | Kamen Mladenov | 2025-03-10 | 1 | -5/+0 |
| | | |||||
| * | fix(zkvms_guest_io): Improve option error messages | Kamen Mladenov | 2025-03-10 | 1 | -2/+2 |
| | | |||||
| * | feat(README): Add information about single guest command | Kamen Mladenov | 2025-03-10 | 1 | -1/+22 |
| | | |||||
| * | feat(zkvms_guest_io): Add the ability to fail all commands on a single failure | Kamen Mladenov | 2025-03-10 | 1 | -1/+21 |
| | | |||||
| * | feat: Replace guest script with a fully-fledged Rust program | Kamen Mladenov | 2025-03-10 | 6 | -19/+338 |
| | | |||||
| * | feat(guests/zk_dungeon): Remove zkwasm block | Kamen Mladenov | 2025-03-05 | 1 | -1/+0 |
| | | |||||
| * | feat(zkvms/zkwasm): Support non-numeric types as guest function output | Kamen Mladenov | 2025-03-05 | 3 | -25/+34 |
| | | |||||
| * | feat(zkvms/zkwasm): Export macro which converts to bytes vector as a library | Kamen Mladenov | 2025-03-05 | 5 | -112/+130 |
| | | |||||
| * | feat(guest): Add zk_dungeon program | Kamen Mladenov | 2025-03-04 | 8 | -0/+130 |
| | | | | | | | | Ported from https://github.com/blocksense-network/noir/tree/6a4f172c0cbee1e2baea7d4c0684121d5921c09a/test_programs/plonky2_prove_success/zk_dungeon Co-authored-by: Stan Manilov <stanislav.manilov@gmail.com> | ||||
| * | fix(zkvms/jolt/host): Replace default formatting with debug formatting in print | Kamen Mladenov | 2025-03-04 | 1 | -2/+2 |
| | | |||||
| * | fix(guests_macro/parse_fn): Return unit ret type when main doesn't return ↵ | Kamen Mladenov | 2025-03-04 | 1 | -0/+3 |
| | | | | | anything | ||||
| * | chore: Rust fmt | Kamen Mladenov | 2025-02-27 | 23 | -320/+459 |
| | | |||||
| * | chore: Nix fmt | Kamen Mladenov | 2025-02-27 | 10 | -525/+443 |
| | | |||||
| * | feat(flake): Add nixfmt formatter | Kamen Mladenov | 2025-02-27 | 1 | -0/+2 |
| | | |||||
| * | feat: Add script for formatting all rust files in a directory | Kamen Mladenov | 2025-02-27 | 2 | -1/+23 |
| | | | | | This is meant to be used in our codebase, especially in CI pipelines | ||||
| * | docs(guest): Explain blacklisting feature | Kamen Mladenov | 2025-02-26 | 1 | -0/+12 |
| | | |||||
| * | fix(guest.nix): Make order of zkVM runs alphabetic | Kamen Mladenov | 2025-02-26 | 2 | -3/+3 |
| | | |||||
| * | feat(zkvmLib): Add ability to stop compilation and execution of certain ↵ | Kamen Mladenov | 2025-02-26 | 1 | -108/+127 |
| | | | | | | | | | zkVMs with guests You need to add a ".no_zkvm" file in the guests/guest/ directory for your guest and zkvm. You may add details on why the zkVM is not supported inside the file itself, but it is not mandatory. | ||||
| * | feat: Add zkvm cargo features | Kamen Mladenov | 2025-02-26 | 5 | -4/+23 |
| | | | | | So you can make code modifications compile-time, based on the zkVM | ||||
| * | fix(zkvms/zkm): Downgrade host toolchain | Kamen Mladenov | 2025-02-26 | 3 | -1/+1438 |
| | | | | | | | | The newest toolchain causes errors, an issue has been filed upstream: https://github.com/zkMIPS/toolchain/issues/4 However, it is not certain when it will be resolved, so for now this workaround will be used. | ||||
| * | fix(zkvms/zkm): Override zkm SDK | Kamen Mladenov | 2025-02-26 | 2 | -0/+52 |
| | | | | | | | | The SDK is out of date. A PR is opened: https://github.com/zkMIPS/zkm-project-template/pull/54 However, its not certain it will be merged soon, so for now this workaround will have to do. | ||||
| * | chore: Update zkVM packages | Kamen Mladenov | 2025-02-26 | 27 | -2071/+1362 |
| | | | | | | | | | This includes: - Updating flake.lock - Updating all host and guest Cargo.toml and Cargo.lock files - Making zkvm default.nix file modifications to account for toolchain and setup changes | ||||
| * | feat(zkvmLib): Attribute for specifying a guest or host specific Rust toolchains | Kamen Mladenov | 2025-02-26 | 1 | -0/+9 |
| | | | | | | Allows the host and guest program toolchains to differ. Generally, you should only need to set one. | ||||
| * | feat(zkvmLib): Ability to add an extra Cargo.lock | Kamen Mladenov | 2025-02-26 | 1 | -0/+6 |
| | | | | | | | | | | | Adds the ability to specify an `extraLockfile` attribute in args. Its value should evaluate to a string path. It's included in the beginning, so it overshadows dependencies, which are specified in the other Cargo.lock files. Must be added to commonArgs (i.e. to both `buildDepsOnly` and `buildPackage` args). | ||||
| * | feat(zkvmLib): Add the ability to override dependencies | Kamen Mladenov | 2025-02-26 | 1 | -5/+15 |
| | | | | | | | | | | Allows you to add `overrideVendorCargoPackage` and `overrideVendorGitCheckout` to args, which allow the overriding of vendored dependencies, as is implemented in crane.lib. The respective attribute must be added to commonArgs (i.e. to both `buildDepsOnly` and `buildPackage` args). | ||||
| * | fix(zkvms_host_io): Reduce version constraint for clap | Kamen Mladenov | 2025-02-26 | 1 | -1/+1 |
| | | | | | | | Certain zkVMs may use clap with versions lower than 4.5 (e.g. 4.5.9). Here we do not really care about the version, so this change will fix compatibility issues. | ||||
| * | feat(zkvmLib): Show cargo version in host build | Kamen Mladenov | 2025-02-26 | 1 | -0/+1 |
| | | |||||
| * | docs(guests/README): Remove requirement for package name to be the same as ↵ | Kamen Mladenov | 2025-02-18 | 1 | -2/+0 |
| | | | | | dir name | ||||
| * | feat(zkvmLib): Use generated Cargo.lock in guest phases and add guest dep ↵ | Kamen Mladenov | 2025-02-18 | 1 | -4/+4 |
| | | | | | | | | properly Adding the zkp dependency with a command allows us to ignore the package's original name | ||||
| * | feat(zkvmLib): Reorganize and rename linkGuest phase | Kamen Mladenov | 2025-02-18 | 1 | -5/+8 |
| | | |||||
| * | feat(zkvmLib): Handle duplicate entries in generated Cargo.lock file | Kamen Mladenov | 2025-02-18 | 1 | -4/+62 |
| | | |||||
| * | feat(zkvmLib): Use generated Cargo.lock in dependencies package | Kamen Mladenov | 2025-02-18 | 1 | -2/+3 |
| | | |||||
| * | feat: Add CONTRIBUTING | Kamen Mladenov | 2025-02-13 | 1 | -0/+111 |
| | | |||||
| * | fix(README): Wording update | Kamen Mladenov | 2025-02-13 | 1 | -1/+1 |
| | | |||||
| * | fix(zkvms/README): Squash typos | Kamen Mladenov | 2025-02-13 | 1 | -1/+1 |
| | | |||||
| * | fix(README): Squash typos | Kamen Mladenov | 2025-02-13 | 1 | -4/+4 |
| | | |||||
| * | feat(README): Add details on the available nix packages | Kamen Mladenov | 2025-02-13 | 1 | -2/+16 |
| | | |||||
| * | feat(guests/README): More specific link to zkvms README | Kamen Mladenov | 2025-02-13 | 1 | -1/+1 |
| | | |||||
