Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Introduce a proof-of-concept field Writer for writing to "native field" as well as "foreign field" transcripts #340

Closed
wants to merge 4 commits into from

Commits on Feb 25, 2024

  1. feat: Introduce field operations with a new transcript module

    - Created `src/transcript.rs` with concepts and traits for field operations.
    - Defined a new `Limbable` trait for encoding translation between fields.
    - Implemented `FieldWriter` and `FieldWritable` traits for respectively writing and producing field elements.
    - Presented `FieldWritableExt` extension trait to accommodate different target field types.
    - Added `FieldEncodingWriter` structure, a translating field writer.
    - Integrated `smallvec` library with `const_generics` feature to implement it efficiently.
    - Added tests for the `src/transcript.rs` module and its functionalities.
    huitseeker committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    f075338 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4cff4f5 View commit details
    Browse the repository at this point in the history
  3. feat: Improve Writer handling and testing in transcript.rs

    - Introduced a new `FieldEquippedWriter` struct in `transcript.rs` for efficient handling of "native" fields for digests.
    - Implemented the ability to perform conversions from a writer, write field elements, and flush the writer using the new `FieldEquippedWriter` struct.
    - Renamed the function `it_works` with `test_limbing_works` to improve test naming conventions.
    - Implemented a new test, `test_keccak_works`, that verifies the Keccak256 hash of field elements implementation via `FieldEquippedWriter`.
    huitseeker committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    de9f873 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Configuration menu
    Copy the full SHA
    3f516aa View commit details
    Browse the repository at this point in the history