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

Initial Rust implementation #174

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Initial Rust implementation #174

wants to merge 13 commits into from

Commits on May 24, 2024

  1. [DRAFT]

    ebfull committed May 24, 2024
    Configuration menu
    Copy the full SHA
    5b6bc86 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

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

Commits on Oct 15, 2024

  1. Rearrange Rust impl to match C++ more closely

    The only changes here other than moving chunks of code around are
    - moving `evaluate` out of `impl Script`, which required changing
     `&self` to `script: &Script`; and
    - unifying `ExecutionOptions` with `VerificationFlags`.
    sellout committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d2763f9 View commit details
    Browse the repository at this point in the history
  2. Rename Rust identifiers to match C++

    For easier side-by-side comparison.
    sellout committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3d71aef View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Configuration menu
    Copy the full SHA
    336d0fe View commit details
    Browse the repository at this point in the history
  2. Existing unit tests succeed

    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    bd168e1 View commit details
    Browse the repository at this point in the history
  3. The rest of the owl

    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    571836d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1b57460 View commit details
    Browse the repository at this point in the history
  5. Appease Clippy

    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    0329117 View commit details
    Browse the repository at this point in the history
  6. Replace ScriptNum panics with error case

    The C++ impl uses exceptions for `ScriptNum`, but catches them.
    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    ebca981 View commit details
    Browse the repository at this point in the history
  7. Add some shallow property tests

    These tests run both the C++ and Rust impls. One uses completely
    arbitrary inputs, and the other limits script_sig to data pushes.
    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    d9d46cd View commit details
    Browse the repository at this point in the history
  8. Add shallow fuzz testing

    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    a16d6ad View commit details
    Browse the repository at this point in the history
  9. Preserve richer errors on the Rust side

    For now, the underlying errors are discarded when comparing against the
    C++ results, but there are corresponding changes on the C++ side in a
    separate branch.
    sellout committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    4c34b3e View commit details
    Browse the repository at this point in the history