| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat(guests): Add dvt-circuits cratedvt-circuits-port | Kamen Mladenov | 2025-04-15 | 12 | -0/+1954 |
| | | | | | | | This is a port of https://github.com/metacraft-labs/dvt-circuits Co-authored-by: Marto <martindobrev0@gmail.com> | ||||
| * | fix(zkvms/zkm): Use alloc::string in guest | Kamen Mladenov | 2025-04-15 | 1 | -2/+2 |
| | | |||||
| * | feat(guests/sha256): Add SP1 and RISC0 precompile usage | Kamen Mladenov | 2025-04-14 | 3 | -7/+39 |
| | | |||||
| * | feat(guests/keccak): Add SP1 and RISC0 precompile usage | Kamen Mladenov | 2025-04-14 | 3 | -6/+35 |
| | | |||||
| * | feat(guests/keccak): Add ZKM precompile function call | Kamen Mladenov | 2025-04-14 | 5 | -9/+169 |
| | | |||||
| * | fix(zkvmLib): Add zkVM feature on cargo add | Kamen Mladenov | 2025-04-14 | 1 | -1/+1 |
| | | | | | | `cargo add` modifies the Cargo.lock, and optional dependencies will be removed if the feature is not passed through | ||||
| * | feat(update-nix-dependencies): Use flake's nix-blockchain-development ↵ | Kamen Mladenov | 2025-04-14 | 2 | -18/+27 |
| | | | | | | | | | | | | instead of default To get the new Nix outPaths for all zkVMs, we used to execute a `nix run` command, which found the paths from the nix-blockchain-development repo, default branch on latest commit. Since that could differ from what repo our flake actually uses, we're updating the logic. | ||||
| * | feat(guests): Rename sha3 to keccak | Kamen Mladenov | 2025-04-14 | 6 | -1/+1 |
| | | |||||
| * | feat(guests): Rename sha2 to sha256 | Kamen Mladenov | 2025-04-14 | 6 | -1/+1 |
| | | |||||
| * | feat(guests): Add fibonacci implementation using matrix exponentiation | Kamen Mladenov | 2025-04-10 | 7 | -0/+340 |
| | | | | | | | Originally tried by Dimo Dimov Co-authored-by: Dimo99 <dimodimov1999@gmail.com> | ||||
| * | feat(guests): Add SHA3 program | Kamen Mladenov | 2025-04-10 | 6 | -0/+535 |
| | | |||||
| * | feat(guests): Add SHA2 program | Kamen Mladenov | 2025-04-09 | 6 | -0/+533 |
| | | | | | Simple program which tests the SHA256 hashing algorithm | ||||
| * | fix(zkvms): Fix non-braced usages of grouped methods | Kamen Mladenov | 2025-04-07 | 2 | -4/+4 |
| | | | | | | | Before grouping transformed vec![a,b,...] into "(a,b,...)", but with FunctionDefinition, grouping transforms vec![a,b,...] into "a,b,...". This change wasn't reflected in Nexus and ZKM | ||||
| * | feat(zkvms/zkwasm); Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 1 | -16/+6 |
| | | |||||
| * | feat(zkvms/zkm): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 1 | -21/+5 |
| | | |||||
| * | feat(zkvms/sp1): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 1 | -17/+17 |
| | | |||||
| * | feat(zkvms/risc0): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 1 | -20/+17 |
| | | |||||
| * | feat(zkvms/jolt): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 3 | -21/+417 |
| | | |||||
| * | feat(zkvms/nexus): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 2 | -14/+7 |
| | | |||||
| * | feat(zkvms_host_io): Update to use FunctionDefinition | Kamen Mladenov | 2025-04-07 | 1 | -77/+36 |
| | | |||||
| * | feat(guests_macro): Replace parse_fn mod with struct | Kamen Mladenov | 2025-04-07 | 3 | -229/+235 |
| | | | | | | | | | | | | The old method of having functions for every parsing action of a function definition produced messy results. We're replacing it with a struct which will hold a wide assortment of parsed values. This makes the interface much sleaker with only a minor increase in code. The downside is a lot of data gets repeated, however since this struct will only be used in macros, i.e. compile-time, that doesn't matter too much. | ||||
| * | fix(zkvms/zkm): Update SDK and remove hack | Kamen Mladenov | 2025-04-04 | 2 | -6/+4 |
| | | | | | | | | | | | Recently ZKM introduced a bug, where SNARK_SETUP would crash, but the witness would be generated. So we introduced a hack where we would run SNARK_SETUP, ignore the crash and rerun the program again, without SNARK_SETUP. Now they fixed it, so with SNARK_SETUP, the witnesses would be generated and the proving process will be done directly after. | ||||
| * | fix(guests/fibonacci): Update SEG_SIZE constant | Kamen Mladenov | 2025-04-04 | 1 | -1/+1 |
| | | |||||
| * | chore: Nix and Rust fmt | Kamen Mladenov | 2025-04-04 | 6 | -21/+32 |
| | | |||||
| * | feat(zkvms/zkm): Update SDK usage, add witness generation command | Kamen Mladenov | 2025-04-04 | 3 | -65/+105 |
| | | | | | | | | We first need to generate witnesses before proving. This is done by running the binary with SNARK_SETUP=true. Currently, the command crashes right after those witnesses are generated. As a workaround, we ignore the crash and just start it normally, using the generated witnesses. | ||||
| * | feat(zkvms/risc0): Implement elf encoding | Kamen Mladenov | 2025-04-04 | 4 | -1/+29 |
| | | | | | | | | | | Recently, RISC0 have added code to their SDK which adds magic bytes to the (already compiled) ELF. Since we're taking another route than intended, we'll need to replicate this step too. We're doing things in a different fashion, because their SDK normally compiles the guest, and doesn't allow you to supply a prebuilt ELF. | ||||
| * | feat(zkvms/risc0): Upper bound for bytemuck_derive | Kamen Mladenov | 2025-04-04 | 3 | -15/+17 |
| | | |||||
| * | 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 | ||||
