Skip to content
Snippets Groups Projects
  1. Apr 22, 2025
    • STEVAN Antoine's avatar
      Add ci command to make (!208) · 269463da
      STEVAN Antoine authored
      let's fully embrace the rust and use `make.rs` even in the CI with `make ci`
      
      ## changelog
      - move inner logic to functions, e.g. `clippy` and `test`
      - add `ci` command
        - runs all the CI stages by default
        - runs only the "fmt" stage with `--fmt`
        - runs only the "test" stage with `--test`
        - runs all the CI stages with `--fmt` and `--test`
      - remove useless `json` variable in `docker_images_to_table`
      - update the CI files to use `./make.rs ci ...`
      
      ## mirror
      | id                                                                             | head_sha                                 | status    | conclusion | run_started_at      |
      | ------------------------------------------------------------------------------ | ---------------------------------------- | --------- | ---------- | ------------------- |
      | [`14495015473`](https://github.com/dragoon-rs/komodo/actions/runs/14495015473) | b185b5b4 | completed | success    | 2025-04-16T14:18:13 |
      | [`14592505804`](https://github.com/dragoon-rs/komodo/actions/runs/14592505804) | cbce02c7 | completed | success    | 2025-04-22T10:24:17 |
      269463da
    • STEVAN Antoine's avatar
      finish the documentation (!198) · 8c61c2ce
      STEVAN Antoine authored
      this is an attempt at finishing the documentation for real.
      
      the convention is
      - start sentences with capital letter, speaks as 3rd person and end with period
      - specify non-trivial cases and returns in the doc, otherwise, leave that to the tests
      - use mathematical formulae to make things more clear
      
      > 💡 **Note**
      >
      > might supersede !184
      
      For now, i completely skipped FRI because i thought we could do that in a later MR, as it was added later and is not even part of a public release yet.
      
      I also went a bit faster on _aPlonK_ as it is so complex and we will likely never use it.
      
      ## changelog
      > - 🗞️ is for documentation changes
      > - ⚙️ is for code changes
      
      - (🗞️) moves the `RUSTDOCFLAGS` for Katex activation to `.cargo/config.toml`
      - (🗞️) adds `simple_mermaid` for Mermaid graphs
      - (🗞️) upgrades Katex from `0.10.0` to `0.16.21` for matrix support
      - documentation
        - [x] (🗞️) (⚙️) `algebra`: check the length for `algebra::powers_of`
        - [x] (🗞️) (⚙️) `algebra::linalg`: use exact matches in the error tests and use struct errors
        - [x] (🗞️) (⚙️) `error`: change some errors to struct errors
        - [x] (🗞️) (⚙️) `fs`: rename some arguments, e.g. `block_hashes` to `hashes` and `dump_dir` to `directory`
        - [x] (🗞️) (⚙️) `zk`: inline `check_degree_is_too_large`
        - [x] (🗞️)          `fec`
        - [x] (🗞️)          `semi_avid`
        - [x] (🗞️)          `kzg`
        - [x] (🗞️) (⚙️) `aplonk`: remove `Commitment` and `VerifierKey`
        - [ ] (🗞️)          `fri`
        - [x] (🗞️)          Komodo (`lib.rs`)
      8c61c2ce
  2. Apr 10, 2025
    • STEVAN Antoine's avatar
      update the readme (!206) · 6ebc8bbd
      STEVAN Antoine authored
      This MR explains the use of `make.rs` and `nob.rs` in the README for newcomers.
      6ebc8bbd
    • STEVAN Antoine's avatar
      add `container list` for Docker containers (!207) · 38fe0ff4
      STEVAN Antoine authored
      ## examples
      ```bash
      ./make.rs container list --json
          | from ndjson
          | into datetime CreatedAt
          | into filesize Size VirtualSize
          | reject CreatedSince
      ```
      or
      ```bash
      ./make.rs container list --json
          | from ndjson
          | into datetime CreatedAt
          | into filesize Size VirtualSize
          | reject CreatedSince
          | select ID Repository Tag CreatedAt VirtualSize
          | update Tag { str substring 0..<7 }
      ```
      
      ## changelog
      - transform options of `container` to sub-subcommands
        - `container` --> `container build`
        - `container --login` --> `container login`
        - `container --push` --> `container push`
      - add `container list` to print the local images for the GitLab and GitHub repositories
        - `container list` will print in a pretty table
        - `container list --json` will print as NDJSON, i.e. one image per line as JSON
      - use wrappers around `nob::run_cmd_as_vec_and_fail!`
        - `extend_and_run` to run a partial command with an extra vector of args
        - `extend_and_run_and_capture_silent` to run a partial command with an extra vector of args and silently capture the stdout into a string
        - this allows to get rid of the `#[rustfmt::skip]` _directive_ on `main` and format the code not too aggressively
      38fe0ff4
  3. Apr 08, 2025
  4. Apr 03, 2025
  5. Apr 02, 2025
    • STEVAN Antoine's avatar
      use gh-cli to pull mirror run information (!201) · 1519af49
      STEVAN Antoine authored
      This is to complete the `check-mirror.nu` script with information about the CI runs.
      
      The current output of
      ```bash
      nu scripts/check-mirror.nu ...[
          https://gitlab.isae-supaero.fr/dragoon/komodo
          https://github.com/dragoon-rs/komodo
          main
      ]
      ```
      is
      ```
      [INF] adding remotes
      [INF] fetching
      [INF] cleaning
      [ OK] mirror is up to date
      [INF] pulling mirror runs
      #─┬────id─────┬────────────────head_sha────────────────┬─status──┬conclusion┬run_started_at
      0 │11950217125│de4266c0│completed│success   │4 months ago
      1 │11950604920│202d8bcc│completed│success   │4 months ago
      2 │11950873603│702cd5eb│completed│success   │4 months ago
      3 │12028360471│57a96c02│completed│success   │4 months ago
      4 │12028432364│07602875│completed│success   │4 months ago
      5 │12028781541│f2a76fbb│completed│success   │4 months ago
      6 │12631165433│11a5b59d│completed│success   │2 months ago
      7 │13008608156│cc412625│completed│success   │2 months ago
      8 │13033206333│5511404f│completed│success   │2 months ago
      9 │13113244065│ab0d9a8b│completed│success   │2 months ago
      10│13679188387│3c8afac4│completed│success   │3 weeks ago
      11│14191103891│b5381fda│completed│success   │a day ago
      12│14214853530│b7e2d99d│completed│success   │an hour ago
      13│14215431531│0d7a5cd6│completed│success   │32 minutes ago
      ──┴───────────┴────────────────────────────────────────┴─────────┴──────────┴──────────────
      ```
      1519af49
    • STEVAN Antoine's avatar
      remove nushell from ci (!200) · 0d7a5cd6
      STEVAN Antoine authored
      this should close #17.
      
      SACLIN has been moved to [`gitlab.isae-supaero.fr:dragoon/komodo.nu`](https://gitlab.isae-supaero.fr/dragoon/komodo.nu).
      0d7a5cd6
    • STEVAN Antoine's avatar
      add a script to check the GitHub mirror (!199) · b7e2d99d
      STEVAN Antoine authored
      ## usage
      ```bash
      nu scripts/check-mirror.nu ...[
          https://gitlab.isae-supaero.fr/dragoon/komodo
          https://github.com/dragoon-rs/komodo
          main
      ]
      ```
      will
      - check the Nushell version and throw a warning if mismatch
      - add temporary remotes with random names
      - fetch the temporary remotes
      - get the revision of the `$branch` for both temporary remotes
      - clean the temporary remotes
      - show a message if the two revisions are not the same and how many commits they are different
      
      > **Note**
      >
      > this does not conflict with #17
      b7e2d99d
  6. Apr 01, 2025
    • HEME Clement's avatar
      Added Latex support for doc (!197) · b5381fda
      HEME Clement authored and STEVAN Antoine's avatar STEVAN Antoine committed
      Added a html header files, an added metadata line in Cargo.toml and some formatting changes in the doc to have Latex formulas in docs.rs. It works locally, should work online
      b5381fda
  7. Mar 05, 2025
    • STEVAN Antoine's avatar
      fix the Rust toolchain in the CI (!195) · 3c8afac4
      STEVAN Antoine authored
      this is to avoid having to change the toolchain in the CI everytime.
      
      `rust-toolchain.toml` and `.gitlab-ci.yml` will have to be updated in pairs when bumping / changing the Rust toolchain.
      3c8afac4
  8. Feb 03, 2025
    • STEVAN Antoine's avatar
      rework benchmarks: script and output format (!193) · ab0d9a8b
      STEVAN Antoine authored
      this is an attempt at making benchmarks easier to work with
      - `benchmarks run` will read benchmarks from NUON data and run them
      - `benchmarks plot` will plot benchmark results
      - the output format will be something 
        - a directory whose name is the hash of the CPU spec and the Komodo commit hash
        - contains `cpu.json` with the CPU info
        - contains `komodo.txt` with the Komodo commit hash
        - contains NDJSON result files
      
      > 💡 **Note**
      >
      > results will typically be uploaded to https://gitlab.isae-supaero.fr/dragoon/komodo-benchmark-results
      
      > 💡 **Note**
      >
      > this MR goes alongside the [`komodo-benchmark-results@restart`](https://gitlab.isae-supaero.fr/dragoon/komodo-benchmark-results/-/compare/main...restart) branch
      
      ## changelog
      - bump Nushell to 0.101.0
        - parallel `$in` => remove useless `let input = $in` when possible, e.g. still required when using the function's `$in` in a `for` loop
        - `group-by` changed => `group-by x --to-table` will now produce a table with columns `x` and `items` instead of `group` and `items` as in 0.95.0
      - add link to results repo
      - the Nushell benchmarks lib
        - rename `--force` to `--no-confirm (-y)`
        - add `--append` 
        - reject columns that GPLT will complain about, e.g. `$.points.k` for the FRI plots
        - add `--save` to the FRI plot
      - move the "field" and "curve group" benchmarks from `benchmarks/src/bin/operations/` to `benchmarks/src/bin/`
      - remove `benchmarks/params/fri.nu` because it's been uniformized with the other methods
      - rewrite the README
      - add main function to `benchmarks/` that runs the benchmarks from a NUON record specification
      - simplify the output of FRI run
      
      ## TODO
      - [x] fix "_atomic operations_" (done in 4f69a1d6)
      - [x] check that _plotting_ still works
      
      ## images
      
      ### Field
      ![complex_curve_group_operations](/uploads/57b36926cce041cf405a9b44f190b8b8/complex_curve_group_operations.png)
      ![complex_field_operations](/uploads/0747c85dbaff8980561aa9d922fcd5e7/complex_field_operations.png)
      ![simple_curve_group_operations](/uploads/974cf70fed68f8d8ac898d54be3f27be/simple_curve_group_operations.png)
      ![simple_field_operations](/uploads/a3d4d0dcdeb35d4c434eaa38fb51e7b5/simple_field_operations.png)
      
      ### Linear algebra
      ![linalg-inverse](/uploads/bc290ffa39459ce0f9bbd393b50b7b98/linalg-inverse.png)
      ![linalg-mul](/uploads/96d8c2a63ed48d6a0d3508b4a948153b/linalg-mul.png)
      ![linalg-transpose](/uploads/128e35eca91497d8aadb0130c05aeee3/linalg-transpose.png)
      
      ### FEC
      ![encoding](/uploads/405c4d3ef9ec5135ebdd7ce2e6c96bfe/encoding.png)
      ![decoding](/uploads/d793234d44e9fc6f34f0c2a9372863cd/decoding.png)
      ![recoding](/uploads/413021de997c86d45b1287fcfe7804c7/recoding.png)
      ![combined](/uploads/6d1c3ae6d3bf5547434ca29ae80b5536/combined.png)
      ![ratio](/uploads/6cebd7a0bcef57d1b1256bc3941c1b0a/ratio.png)
      
      ### ZK
      ![setup](/uploads/1feb169452aa3274dc924edf772c9a5b/setup.png)
      ![commit](/uploads/0a2775c2116ca7d3fa7b956b934d1565/commit.png)
      
      ### FRI
      ![commits_single](/uploads/4602725e551a025d42815183a61d11b2/commits_single.png)
      ![commits_single_normalized](/uploads/2ffebea940af1cbbe9bd64499343e0e9/commits_single_normalized.png)
      ![end_to_end](/uploads/46917abd2f5976dfa6d3039cc0ab2c0e/end_to_end.png)
      ![evaluating](/uploads/cf4dc496cd5144615bf5f9b06d27dccd/evaluating.png)
      ![proofs](/uploads/b0828bfa62c2226c8d63c9ecd387049f/proofs.png)
      ![proofs_normalized](/uploads/8fbf0d713884e2e147c62313a001f379/proofs_normalized.png)
      ![proving](/uploads/161539dc412330be1878cdda82c3d966/proving.png)
      ![verifying_single](/uploads/2df7e777481d7789478386f8e83e0783/verifying_single.png)
      ab0d9a8b
  9. Jan 29, 2025
    • STEVAN Antoine's avatar
      refactor CI and Makefile for Nushell installation (!192) · 5511404f
      STEVAN Antoine authored
      the idea is to make the installation of Nushell easier to maintain, especially regarding versions, currently pinned to `0.95.0`
      
      > successful run on GitHub: [13032726635](https://github.com/dragoon-rs/komodo/actions/runs/13032726635)
      
      this is also to allow easier testing locally with the same Nushell version as in the CI, e.g.
      ```bash
      # install in `~/.local/bin/` and have multiple versions
      make install-nu
      
      hash=$(/tmp/nu --no-config-file --commands 'version | get commit_hash')
      nu_bin=$"$HOME/.local/bin/nu-$hash"
      cp /tmp/nu $nu_bin
      
      make NU=$nu_bin show test
      ```
      or
      ```bash
      # install in the repo and overwrite each time
      make NU_DEST=. install-nu
      make NU=./nu show test
      ```
      
      # changelog
      - Makefile
        - split the global `.PHONY` rule into _atomic_ rules next to each _phony_ rule
        - define `NU` and `NU_FLAGS` to allow changing which and how Nushell runs
        - define `NU_ARCH`, `NU_VERSION`, `NU_BUILD` and `NU_DEST` for Nushell installation
        - tweak the output of `make show` a bit
        - add `print-%` rules to print `Makefile` variables, e.g. `make print-NU_FLAGS` would print `--no-config-file`
        - add `make install-nu` to replace the ones from the CIs
      - GitLab CI
        - use `make install-nu`
        - export `PATH` with `make print-NU_DEST`
      - GitHub CI 
        - use `make install-nu` instead of [github.com:hustcer/setup-nu](https://github.com/hustcer/setup-nu)
        - export `PATH` with `make print-NU_DEST` and `GITHUB_ENV`
      5511404f
  10. Jan 28, 2025
    • STEVAN Antoine's avatar
      fix typos and improve algebra/semi_avid tests (!189) · cc412625
      STEVAN Antoine authored
      mainly fixes a few typos and improves `algebra` and `semi_avid` tests
      
      ## changelog
      - fix some typos and notes in the documentation
      - test more cases for `algebra::split_data_into_field_elements` and `algebra::merge_elements_into_bytes`, more data lengths and more modulus respectively
      - remove a useless `::<Vec<_>>` on a `collect` in `fec`
      - `semi_avid::tests`
        - refactor `bls12-381` into a constant
        - write an "_attack_" function to alter a particular block, `attack<F, G>(block: Block<F, G>, c: usize, base: u128, pow: u64) -> Block<F, G>`
        - pass a list of attacks, i.e. `attacks: Vec<(usize, usize, u128, u64)>`, to `verify_with_errors_template`, use the same as the previous hardcoded one
        - pass a list of "_recodings_", i.e. `recodings: Vec<Vec<usize>>`, to `verify_recoding_template` and assert the number of blocks, e.g. `vec![vec![2, 3], vec![3, 5]]` means that recoding 2 and 3 together should verify, and same with 3 and 5, and also that there must be at least 6 blocks
        - pass a list of "_recodings_", i.e. `recodings: Vec<(Vec<Vec<usize>>, bool)>`, to `end_to_end_with_recoding_template` and assert the number of blocks and the number of source shards, e.g. `vec![(vec![vec![0, 1], vec![2], vec![3]], true)]` means that trying to decode with blocks 2, 3 and a recoded block from 0 and 1 should work, and also that there must be at least 4 blocks and at most 3 source shards
        - pass `k` and `n` to `run_template`
      cc412625
  11. Jan 06, 2025
    • STEVAN Antoine's avatar
      add rust-analyzer to the toolchain (!188) · 11a5b59d
      STEVAN Antoine authored
      this should avoid the following error when trying to rust the LSP in a toolchain which does not have the `rust-analyzer` component and without running `rustup component add rust-analyzer` manually:
      ```
      error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.
      ```
      11a5b59d
  12. Nov 26, 2024
    • STEVAN Antoine's avatar
      check Nushell files in the CI (!137) · f2a76fbb
      STEVAN Antoine authored
      in order to help catch issues with the various Nushell scripts and modules in the source base, i propose to add a CI script that will check them all.
      
      below is an example error, e.g. when introducing a syntax error in `.env.nu`:
      ```
      Error:   × Failed to parse content:
        │     file: .env.nu
        │     err:  Expected keyword.
      ```
      f2a76fbb
    • STEVAN Antoine's avatar
      update benchmarks readme (!176) · 07602875
      STEVAN Antoine authored
      ## changelog
      - add more snippets and instructions
      - add missing imports
      - update the "atomic operations" section
      - add a table of contents
      07602875
    • STEVAN Antoine's avatar
      check more args in the benchmarks (!187) · 57a96c02
      STEVAN Antoine authored
      this replaces the "_nothing to do_" messages from Nushell commands with more explicite errors.
      57a96c02
  13. Nov 21, 2024
    • DETCHART Jonathan's avatar
      Add fft and interpolation method for RS coding benchmarks (dragoon/komodo!185) · 702cd5eb
      DETCHART Jonathan authored and STEVAN Antoine's avatar STEVAN Antoine committed
      This MR adds an option to perform erasure coding using FFT rather than using a matrix. It also adds the field FP128 in the list of curves
      
      Note that there is a redundant function `random_loss` into benchmarks/bin/fec.rs and examples/fec.rs
      702cd5eb
    • STEVAN Antoine's avatar
      add FRI (!175) · 202d8bcc
      STEVAN Antoine authored
      FRI protocol from [`dragoon/fri`](https://gitlab.isae-supaero.fr/dragoon/fri)
      
      ## changelog
      - add binary assets to be used as inputs
      - add `fri` and `fri_test_utils` as local dependencies until [`dragoon/fri`](https://gitlab.isae-supaero.fr/dragoon/fri) becomes public
      - add `fri` feature and module (see section below for the public definitions)
      - fix bug in 32bd6566
      - bump Rust in e7a2c244
      - add a versatile example
      - add Nushell pipeline to run benchmarks and plot results
      - add some tests
      
      ## `fri` module API
      ```rust
      struct Block<F: PrimeField, H: Hasher>
      ```
      
      ```rust
      fn evaluate<F: PrimeField>(bytes: &[u8], k: usize, n: usize) -> Vec<Vec<F>>
      ```
      
      ```rust
      fn encode<F: PrimeField>(
          bytes: &[u8],
          evaluations: Vec<Vec<F>>,
          k: usize,
      ) -> Vec<fec::Shard<F>>
      ```
      
      ```rust
      fn prove<const N: usize, F: PrimeField, H: Hasher, P>(
          evaluations: Vec<Vec<F>>,
          shards: Vec<fec::Shard<F>>,
          blowup_factor: usize,
          remainder_plus_one: usize,
          nb_queries: usize,
      ) -> Result<Vec<Block<F, H>>, KomodoError>
      where
          P: DenseUVPolynomial<F>,
          for<'a, 'b> &'a P: Div<&'b P, Output = P>,
          <H as rs_merkle::Hasher>::Hash: AsRef<[u8]>,
      ```
      
      ```rust
      fn verify<const N: usize, F: PrimeField, H: Hasher, P>(
          block: Block<F, H>,
          domain_size: usize,
          nb_queries: usize,
      ) -> Result<(), KomodoError>
      where
          P: DenseUVPolynomial<F>,
          for<'a, 'b> &'a P: Div<&'b P, Output = P>,
          <H as rs_merkle::Hasher>::Hash: AsRef<[u8]>,
      ```
      
      ```rust
      fn decode<F: PrimeField, H: Hasher>(blocks: Vec<Block<F, H>>, n: usize) -> Vec<u8>
      ```
      
      ## results
      
      ### times
      
      ![evaluating](/uploads/69607a2f987e26c23dd172d469c682c5/evaluating.png)
      ![encoding](/uploads/540ac15c21ba7500ad34b068c5d9d7dc/encoding.png)
      ![proving](/uploads/a694525c7d1277fe0b53dd87b6443900/proving.png)
      ![verifying_single](/uploads/8f03a3a0abca329eea396f3ba8b76512/verifying_single.png)
      ![decoding](/uploads/ba2cb0aa54f2ecff16340333121f16ca/decoding.png)
      
      ### sizes
      
      ![commits_single](/uploads/59a96661482fb1d918efc098e060cd45/commits_single.png)
      ![commits_single_normalized](/uploads/11398ed3f37ab4917b717cb717c9070d/commits_single_normalized.png)
      ![proofs](/uploads/17da07f4ef4ee637236deba7835cc022/proofs.png)
      ![proofs_normalized](/uploads/b2aae9491c56767ad1bf5674cf980361/proofs_normalized.png)
      202d8bcc
    • STEVAN Antoine's avatar
  14. Nov 13, 2024
  15. Nov 06, 2024
  16. Nov 05, 2024
  17. Sep 23, 2024
  18. Aug 06, 2024
    • STEVAN Antoine's avatar
      refactor algebra module (!165) · 8c07220b
      STEVAN Antoine authored
      `algebra`, `field` and `linalg` were doing extremely similar things before...
      
      this MR merges them into a single module `algebra`
      - old `algebra` and `field` are at the root of the new `algebra`
      - old `linalg` is now `algebra::linalg`
      
      all references to these have been fixed in the rest of the codebase and the features have been tuned to work fine.
      8c07220b
    • STEVAN Antoine's avatar
      fix feature dependencies and imports (!164) · 15184312
      STEVAN Antoine authored
      in !162 and !163, i did only run `cargo ... --all-features` without checking the individual features...
      
      this MR adds some `cargo check --features ...` to the `Makefile` and makes sure the imports make sense when compiling a single feature.
      
      >  **Important**
      >
      > the other notable change here is that `kzg::commit` has been moved to `zk::ark_commit` and is re-exported from `kzg` as `kzg::commit`.
      15184312
    • STEVAN Antoine's avatar
      add aPlonK (!163) · 5782d4dc
      STEVAN Antoine authored
      this adds the aPlonK cryptographic method alongside Semi-AVID and KZG+.
      
      ## changelog
      - new feature `aplonk`:
        - the `algebra` module is compiled when either `kzg` or `aplonk` features are enabled
        - `algebra::scalar_product_polynomial` compiles only with `kzg`
        - the other `algebra::*` functions compile with `aplonk`
      - `u32_to_u8_vec` has been moved to new `conversions` module which compiles when either `kzg` or `aplonk` features are enabled
      - new `aplonk` module which compiles only when the `aplonk` feature is enabled
        - public structures
          - `Block`
          - `Commitment`
          - `SetupParams`
          - `VerifierKey`
        - public functions
          - `setup`
          - `commit`
          - `prove`
          - `verify`
        - internals
          - `ipa::Params`
          - `ipa::Proof`
          - `ipa::prove`
          - `ipa::verify`
          - `polynomial::compute_g`
          - `transcript::initialize`
          - `transcript::reset`
          - `transcript::hash`
      5782d4dc
    • STEVAN Antoine's avatar
      add KZG+ (!162) · 1d527542
      STEVAN Antoine authored
      this adds the KZG+ cryptographic method alongside Semi-AVID.
      
      ## changelog
      - the Makefile now uses `--all-features` to compile everything
      - a new module `algebra` has been added, with tests for all functions
        - `algebra::scalar_product_polynomial` computes a linear combination of polynomials $(P_i)$
        - `algebra::powers_of` computes $n$ successive powers of a number $r$
      - a new function `zk::trim` has been added from [`gitlab.isae-supaero.fr:a.stevan/poly-commit@19fc0d4a/src/kzg10/mod.rs#L513-L538`](https://gitlab.isae-supaero.fr/a.stevan/poly-commit/-/blob/19fc0d4ad2bcff7df030c952d09649918dba7ddb/src/kzg10/mod.rs#L513-L538)
      - a new feature `kzg` has been added, with an optional dependency on [`gitlab.isae-supaero.fr:a.stevan/poly-commit@19fc0d4a`](https://gitlab.isae-supaero.fr/a.stevan/poly-commit/-/tree/19fc0d4ad2bcff7df030c952d09649918dba7ddb)
      - a new module `kzg` has been added and exposes the following publicly
        - structures
            - `Block`
        - functions
          - `commit`
          - `prove`
          - `verify`
          - `batch_verify`
        - tests when block are left as-is and when one of them is corrupted
      1d527542
  19. Aug 01, 2024
    • STEVAN Antoine's avatar
      refactor repo architecture (dragoon/komodo!161) · 3608e95a
      STEVAN Antoine authored
      ## changelog
      - `src/main.rs` has been moved to a new crate: `bins/saclin` which stands for **S**emi-**A**VID **CLI** in **N**ushell
      - dependencies of `komodo` have been fixed
      - Nushell and Rust tests have been split in the Makefile: by default, only Rust tests will run locally and Nushell tests and examples can be run manually if desired. The CI will still run everything.
      - the README has been updated
      - test images have been moved to `assets/`
      - the majority of the old `./nu-utils/` module have been moved to internals of `./benchmarks/` and imports have been fixed
      - `cargo.nu` has been moved to `./bins/` and a new `./bins/README.md` mentions it
      - `./bins/saclin/` has been created and should be a self-contained Rust crate + Nushell module
      3608e95a
    • STEVAN Antoine's avatar
      isolate Semi-AVID (!160) · 0977677f
      STEVAN Antoine authored
      this is a refactor to prepare the addition of other cryptographic methods.
      
      ## changelog
      - moves Semi-AVID code from `lib.rs` to `semi_avid.rs`
      0977677f
Loading