Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: noir-lang/noir
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: noir-lang/noir
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.3.0
Choose a head ref

Commits on Feb 16, 2023

  1. chore(ci): only run spellcheck job on push (#858)

    * chore(ci): only run spellcheck job on push
    
    * chore(ci): split spellcheck off into its own workflow
    TomAFrench authored Feb 16, 2023
    Copy the full SHA
    595e3c3 View commit details
  2. feat!: Allow impls on primitive types (#847)

    * Allow impls on primitives
    
    * Update extra tests
    
    * Fix pedersen calls
    
    * Fix remaining test errors
    
    * Turn hash methods back into functions
    
    * Fix stdlib
    
    * Revert nargo tests
    
    * Format and update stdlib syntax
    
    * Remove 'if true'
    jfecher authored Feb 16, 2023
    Copy the full SHA
    479da0e View commit details
  3. feat(abi)!: add an explicit mapping from ABI params to witness indices (

    #851)
    
    * feat: track all parameter witnesses in evaluator
    
    * chore: use explicit witness map for encoding/decoding witness map
    
    * chore: move `param_witnesses` to be stored within ABI
    
    * feat: create separate methods for encoding to a witness vs verifier inputs
    
    * chore: move encode_value and decode_value back inside Abi's impl
    
    * chore: remove clone from `encode_to_witness`
    
    * chore: use try_btree_map instead of unwrapping
    
    * feat: check for unexpected inputs when encoding a witness
    
    * chore: use InputMap and WitnessMap types in ABI
    
    * chore: update stale comment
    
    * chore: apply input validation checks on new encoding method
    
    * chore: clippy
    
    * chore: remove unnecessary clone
    
    * feat: add smoke test for abi encoding and decoding
    
    * chore: remove todo
    
    * chore: return abi from compile_circuit
    
    * chore: simplify returning `CompiledProgram`
    
    * chore: clippy
    
    * feat: return AbiError if witness value can't be found
    
    * chore: add documentation for Abi fields
    
    * fix: re-add `public_inputs` field to `Evaluator`
    
    * chore: remove stale code from BTreeSet experiment
    
    * chore: fix merge issues
    
    * fix: re-add deleted `num_witnesses_abi_len` init
    TomAFrench authored Feb 16, 2023
    Copy the full SHA
    5bd4bd5 View commit details

Commits on Feb 17, 2023

  1. chore(nargo): migrate to clap 4 and use derived interface (#842)

    * chore: update clap to 4.1.4
    
    * chore: switch to using the derived clap interface
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    4d3d35b View commit details
  2. feat(abi)!: merge both abi encoding/decoding methods (#862)

    * feat(abi)!: merge both abi encoding/decoding methods
    
    feat: deduplicate public inputs in evaluator
    
    * chore: fmt
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    fecd32c View commit details
  3. fix: properly initialise Evaluator in test (#863)

    fix: properly initialise Evaluator in test
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    bbb70bd View commit details
  4. Copy the full SHA
    ddb7730 View commit details
  5. chore: remove support for InputValue::Undefined (#867)

    * feat: remove support for undefined `InputValues`
    
    * chore: add quick test for parsing empty strings
    
    * chore: remove unused imports
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    2918f33 View commit details
  6. chore: remove abi decoding from execute_program (#868)

    * chore: remove abi decoding from `execute_program`
    
    * chore: clippy
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    5eddaf7 View commit details
  7. fix: Optimize parser (#869)

    * Clone expression parser instead of using exponential recursion
    
    * Remove redundant clone
    jfecher authored Feb 17, 2023
    Copy the full SHA
    e927a39 View commit details
  8. feat(abi)!: add explicit return type field to ABI. (#865)

    * feat: add an explicit `return_type` field to ABI
    
    * chore: inline `check_for_unexpected_inputs`
    
    * chore: inline `self.return_witnesses` and remove borrow
    
    * chore: add necessary errors
    
    * chore: replace `matches` with `match` statement!
    
    * chore: clippy
    
    * chore: remove filtering of return dummy parameter
    
    * chore: use `MAIN_RETURN_NAME` instead of "return"
    
    * chore: add proper error variants for return value issues
    
    * chore: improve comment
    TomAFrench authored Feb 17, 2023
    Copy the full SHA
    8ca5676 View commit details

Commits on Feb 18, 2023

  1. Copy the full SHA
    5186ab9 View commit details

Commits on Feb 20, 2023

  1. chore: remove clone when using preprocessed keys (#876)

    * chore: remove clone when using preprocessed keys
    
    * chore: clippy
    TomAFrench authored Feb 20, 2023
    Copy the full SHA
    83bb75f View commit details
  2. chore: remove witness flag from nargo compile (#878)

    * chore: make preprocess_with_path private
    
    * chore: remove option to generate a witness in `nargo compile`
    TomAFrench authored Feb 20, 2023
    Copy the full SHA
    f304afc View commit details
  3. fix!: prevent inconsistent language usage in Driver (#881)

    fix: prevent inconsistent language usage in `Driver`
    TomAFrench authored Feb 20, 2023
    Copy the full SHA
    48cda7a View commit details

Commits on Feb 21, 2023

  1. Copy the full SHA
    adba24c View commit details
  2. fix: compute witness when println evaluated before input (#891)

    * compute witness when var from var_cache is not const during println evaluation
    
    * move regression test for std::println to merkle_insert
    
    * include comment pointing to regression test PR
    vezenovm authored Feb 21, 2023
    Copy the full SHA
    2727b34 View commit details
  3. chore: encapsulate IO logic in IO functions (#885)

    * chore: encapsulate IO logic in IO functions
    
    * chore: replace if-let with match
    
    * chore: add comment explaining serialisation logic
    
    * chore: add doc comment for read_inputs_from_file
    
    * chore: update comment
    TomAFrench authored Feb 21, 2023
    Copy the full SHA
    db5c588 View commit details
  4. fix(nargo): Switch order of writing acir file and acir checksum file (#…

    …895)
    
    switch order of writing acir file and acir checksum file
    vezenovm authored Feb 21, 2023
    Copy the full SHA
    4fc94dc View commit details

Commits on Feb 22, 2023

  1. fix: correct type checking to handle false bools (#893)

    * fix: correct type checking to handle `false` bools
    
    * chore: replace abi type match check for bools with explicit equality check
    TomAFrench authored Feb 22, 2023
    Copy the full SHA
    6c7aa2f View commit details
  2. feat: Silence output of prove and verify (#892)

    * Silence output of prove and verify
    
    * Cleanup output
    jfecher authored Feb 22, 2023
    Copy the full SHA
    811b346 View commit details
  3. chore: move nargo I/O into separate module (#896)

    * chore: move IO logic into separate module
    
    * chore: remove preprocessing from io module
    
    * chore: replace if-lets with match
    TomAFrench authored Feb 22, 2023
    Copy the full SHA
    8cafa34 View commit details
  4. fix(noir_wasm): Update wasm ACIR serialization (#898)

    * switch wasm acir serialization methods to use write and read instead of to_bytes and from_bytes
    
    * add deprecated flag to acir_from_bytes and acir_to_bytes
    vezenovm authored Feb 22, 2023
    Copy the full SHA
    575436f View commit details

Commits on Feb 23, 2023

  1. fix: allow parsing strings from toml into booleans (#894)

    * fix: allow parsing strings from toml into booleans
    
    * chore: remove catch-all arm from match
    TomAFrench authored Feb 23, 2023
    Copy the full SHA
    f729a00 View commit details
  2. Copy the full SHA
    93d83bf View commit details

Commits on Feb 24, 2023

  1. Copy the full SHA
    269269c View commit details
  2. fix(ssa): fix the compile-time check for equality in acir-gen (#904)

    constant folding before comparing in acir-gen
    guipublic authored Feb 24, 2023
    Copy the full SHA
    161e4fb View commit details
  3. chore: new() to default (#875)

    * new() to default
    
    * fix clippy
    
    * remove new()
    
    * fix clippy
    
    * remove ssacontext new
    
    * new to default
    
    * Update lib.rs
    
    * move comment back into context
    
    * fix fmt
    
    ---------
    
    Co-authored-by: kevaundray <kevtheappdev@gmail.com>
    Ethan-000 and kevaundray authored Feb 24, 2023
    Copy the full SHA
    440f778 View commit details
  4. fix: evaluate constant division (#909)

    evaluate constant division
    guipublic authored Feb 24, 2023
    Copy the full SHA
    b91307b View commit details
  5. feat: update to ACVM 0.5.0 (#902)

    * feat: update to ACVM 0.5.0
    
    * chore: update dictionary
    
    * chore: update to use ACVM from crates.io
    
    * chore: bump aztec_backend commit to pull from master
    TomAFrench authored Feb 24, 2023
    Copy the full SHA
    9b58da4 View commit details
  6. chore(nargo)!: restrict CliError visibility to crate (#911)

    * chore: restrict CliError visibility to crate
    
    * chore!: remove check_from_path from crate's  interface.
    
    * chore: clippy
    TomAFrench authored Feb 24, 2023
    Copy the full SHA
    ed0e1ab View commit details

Commits on Feb 27, 2023

  1. Copy the full SHA
    d3e2aa7 View commit details
  2. Copy the full SHA
    ab0029e View commit details
  3. chore: restrict function visibility where overly broad (#920)

    * chore: throw warning on unreachable pub items
    
    * chore: make restricted visibility explicit
    TomAFrench authored Feb 27, 2023
    Copy the full SHA
    2c30f64 View commit details
  4. chore: add warnings for crates with unused dependencies (#917)

    * chore: warn on unused dependencies
    
    * chore: remove unused dependencies
    
    * chore: remove unused extern crate
    
    * chore: remove unused dependencies from `wasm`
    TomAFrench authored Feb 27, 2023
    Copy the full SHA
    c730329 View commit details
  5. feat(nargo)!: save program ABI alongside ACIR (#922)

    * feat!(nargo): save program ABI alongside ACIR
    
    * chore: clippy fix
    
    * fix: update extension for reading program hash
    
    * chore: add some error handling to `read_program_from_file`
    
    * chore: replace `.sha256` extension with `.checksum`
    TomAFrench authored Feb 27, 2023
    Copy the full SHA
    ddaf305 View commit details
  6. chore: Document name resolution (#925)

    * Document name resolution
    
    * Reword note on CompTime::Maybe
    
    ---------
    
    Co-authored-by: TomAFrench <tom@tomfren.ch>
    jfecher and TomAFrench authored Feb 27, 2023
    Copy the full SHA
    007ab75 View commit details

Commits on Feb 28, 2023

  1. chore(nargo): report bubbled up errors using eyre (#907)

    * chore(nargo): report errors using anyhow
    
    * chore: replace anyhow with eyre
    TomAFrench authored Feb 28, 2023
    Copy the full SHA
    e87ce66 View commit details
  2. chore(nargo): create a specific error variant for compilation (#923)

    chore(nargo): create a specifc error variant for compilation
    TomAFrench authored Feb 28, 2023
    Copy the full SHA
    4a0145f View commit details
  3. chore: Add some docs to the frontend (#903)

    * Add some docs
    
    * s -> z
    
    * Update crates/noirc_frontend/src/lexer/mod.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Update crates/noirc_frontend/src/hir_def/mod.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Update crates/noirc_frontend/src/hir_def/mod.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Add link to chumsky docs
    
    * Update crates/noirc_frontend/src/lexer/token.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Fix warning
    
    * Ammend docs on Token::Invalid
    
    ---------
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    jfecher and TomAFrench authored Feb 28, 2023
    Copy the full SHA
    a92d12e View commit details
  4. chore: debug_assert to assert (#924)

    debug_assert to assert
    supernovahs authored Feb 28, 2023
    Copy the full SHA
    96328e4 View commit details

Commits on Mar 1, 2023

  1. feat: Implement endianness specified versions of to_bytes `to_radix…

    …` and `to_bits` (#914)
    
    * initial commit
    
    * rename
    
    * little
    
    * change constrain of to_radix
    
    * test index
    
    * refactor
    
    * remove to_radix
    
    * reverse result
    
    * remove to_bytes integration test
    
    * set is_little_endian to true
    
    * add constrains
    Ethan-000 authored Mar 1, 2023
    Copy the full SHA
    43abc6b View commit details
  2. chore!: replace dummy ABIs with FunctionSignature type alias (#930)

    * chore:replace dummy ABIs with `FunctionSignature` type
    
    * chore: rename `build_empty_map` to `build_placeholder_input_map`
    TomAFrench authored Mar 1, 2023
    Copy the full SHA
    156125b View commit details
  3. fix: generate valid toml when outputting nested structs (#936)

    * chore: add regression test for #934
    
    * fix: properly order nested toml tables
    
    * chore: remove unnecessary `to_owned()`
    TomAFrench authored Mar 1, 2023
    Copy the full SHA
    ba947a7 View commit details

Commits on Mar 2, 2023

  1. chore: optimize mul for constant expressions (#932)

    * chore: optimize `mul` for constant expressions
    
    * chore: optimize another instance
    
    * chore: add early returns to `add` for const inputs
    TomAFrench authored Mar 2, 2023
    Copy the full SHA
    cfa9701 View commit details
  2. chore: Replace markdown issue templates with forms (#938)

    * chore: Replace markdown issue templates with forms
    
    * Update .github/ISSUE_TEMPLATE/bug_report.yml
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    phated and TomAFrench authored Mar 2, 2023
    Copy the full SHA
    e51ff01 View commit details

Commits on Mar 6, 2023

  1. chore(github): Separate doc needed Checkbox in PR Template (#947)

    Separate `doc needed` Checkbox
    Savio-Sou authored Mar 6, 2023
    Copy the full SHA
    c75d0c5 View commit details
  2. Copy the full SHA
    2829af1 View commit details
  3. chore: Add docs to monomorphization pass (#928)

    * Add docs to monomorphization pass
    
    * Remove doc test, it is noir not rust
    
    * Update crates/noirc_frontend/src/monomorphization/ast.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Update crates/noirc_frontend/src/monomorphization/mod.rs
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    
    * Address PR feedback
    
    ---------
    
    Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
    jfecher and TomAFrench authored Mar 6, 2023
    Copy the full SHA
    e4d89a9 View commit details
  4. chore: serialize circuit as hex string in build artifact file (#950)

    chore: serialize circuit as hex string
    TomAFrench authored Mar 6, 2023
    Copy the full SHA
    03a2088 View commit details
Showing with 4,091 additions and 2,609 deletions.
  1. +0 −2 .gitattribute
  2. +0 −4 .github/FUNDING.yml
  3. +0 −49 .github/ISSUE_TEMPLATE/bug_report.md
  4. +91 −0 .github/ISSUE_TEMPLATE/bug_report.yml
  5. +0 −23 .github/ISSUE_TEMPLATE/feature_request.md
  6. +33 −0 .github/ISSUE_TEMPLATE/feature_request.yml
  7. +2 −0 .github/pull_request_template.md
  8. +15 −0 .github/workflows/release.yml
  9. +1 −5 .github/workflows/rust.yml
  10. +13 −0 .github/workflows/spellcheck.yml
  11. +66 −0 CHANGELOG.md
  12. +506 −154 Cargo.lock
  13. +4 −3 Cargo.toml
  14. +2 −2 LICENSE-MIT
  15. +0 −1 bors.toml
  16. +3 −0 crates/arena/src/lib.rs
  17. +1 −0 crates/fm/Cargo.toml
  18. +1 −5 crates/fm/src/file_map.rs
  19. +34 −6 crates/fm/src/file_reader.rs
  20. +7 −18 crates/fm/src/lib.rs
  21. +3 −0 crates/iter-extended/src/lib.rs
  22. +7 −4 crates/nargo/Cargo.toml
  23. +1 −51 crates/nargo/build.rs
  24. +3 −3 crates/nargo/src/backends.rs
  25. +57 −27 crates/nargo/src/cli/check_cmd.rs
  26. +14 −12 crates/nargo/src/cli/{contract_cmd.rs → codegen_verifier_cmd.rs}
  27. +117 −112 crates/nargo/src/cli/compile_cmd.rs
  28. +35 −107 crates/nargo/src/cli/execute_cmd.rs
  29. +75 −0 crates/nargo/src/cli/fs/inputs.rs
  30. +68 −0 crates/nargo/src/cli/fs/keys.rs
  31. +47 −0 crates/nargo/src/cli/fs/mod.rs
  32. +39 −0 crates/nargo/src/cli/fs/program.rs
  33. +19 −0 crates/nargo/src/cli/fs/proof.rs
  34. +23 −0 crates/nargo/src/cli/fs/witness.rs
  35. +17 −14 crates/nargo/src/cli/gates_cmd.rs
  36. +55 −311 crates/nargo/src/cli/mod.rs
  37. +14 −9 crates/nargo/src/cli/new_cmd.rs
  38. +76 −73 crates/nargo/src/cli/prove_cmd.rs
  39. +23 −29 crates/nargo/src/cli/test_cmd.rs
  40. +72 −82 crates/nargo/src/cli/verify_cmd.rs
  41. +0 −2 crates/nargo/src/constants.rs
  42. +8 −19 crates/nargo/src/errors.rs
  43. +2 −2 crates/nargo/src/git.rs
  44. +6 −0 crates/nargo/src/lib.rs
  45. +4 −4 crates/nargo/src/main.rs
  46. +3 −3 crates/nargo/src/resolver.rs
  47. +13 −11 crates/nargo/src/toml.rs
  48. +1 −3 crates/nargo/tests/target_tests_data/pass/import/src/main.nr
  49. +1 −1 crates/nargo/tests/test_data/7_function/src/main.nr
  50. +2 −3 crates/nargo/tests/test_data/9_conditional/src/main.nr
  51. +4 −4 crates/nargo/tests/test_data/array_len/src/main.nr
  52. +5 −0 crates/nargo/tests/test_data/contracts/Nargo.toml
  53. +2 −0 crates/nargo/tests/test_data/contracts/Prover.toml
  54. +8 −0 crates/nargo/tests/test_data/contracts/src/main.nr
  55. +1 −1 crates/nargo/tests/test_data/hash_to_field/src/main.nr
  56. +5 −5 crates/nargo/tests/test_data/higher-order-functions/src/main.nr
  57. +1 −0 crates/nargo/tests/test_data/main_bool_arg/Prover.toml
  58. +3 −1 crates/nargo/tests/test_data/main_bool_arg/src/main.nr
  59. +2 −0 crates/nargo/tests/test_data/merkle_insert/src/main.nr
  60. +1 −1 crates/nargo/tests/test_data/strings/src/main.nr
  61. +2 −0 crates/nargo/tests/test_data/struct_inputs/Prover.toml
  62. +2 −1 crates/nargo/tests/test_data/struct_inputs/src/foo.nr
  63. +2 −2 crates/nargo/tests/test_data/struct_inputs/src/main.nr
  64. +5 −0 crates/nargo/tests/test_data/to_be_bytes/Nargo.toml
  65. +1 −0 crates/nargo/tests/test_data/to_be_bytes/Prover.toml
  66. +14 −0 crates/nargo/tests/test_data/to_be_bytes/src/main.nr
  67. +5 −0 crates/nargo/tests/test_data/to_bytes_integration/Nargo.toml
  68. +1 −0 crates/nargo/tests/test_data/to_bytes_integration/Prover.toml
  69. +14 −0 crates/nargo/tests/test_data/to_bytes_integration/src/main.nr
  70. +2 −2 crates/nargo/tests/test_data/to_le_bytes/src/main.nr
  71. +13 −4 crates/noirc_abi/src/errors.rs
  72. +4 −4 crates/noirc_abi/src/input_parser/mod.rs
  73. +71 −34 crates/noirc_abi/src/input_parser/toml.rs
  74. +216 −64 crates/noirc_abi/src/lib.rs
  75. +2 −2 crates/noirc_abi/src/serialization.rs
  76. +1 −1 crates/noirc_driver/Cargo.toml
  77. +95 −55 crates/noirc_driver/src/lib.rs
  78. +2 −2 crates/noirc_driver/src/main.rs
  79. +29 −0 crates/noirc_driver/src/program.rs
  80. +1 −0 crates/noirc_errors/Cargo.toml
  81. +5 −1 crates/noirc_errors/src/lib.rs
  82. +3 −3 crates/noirc_errors/src/reporter.rs
  83. +1 −2 crates/noirc_evaluator/Cargo.toml
  84. +9 −0 crates/noirc_evaluator/src/errors.rs
  85. +54 −60 crates/noirc_evaluator/src/lib.rs
  86. +14 −111 crates/noirc_evaluator/src/ssa/acir_gen.rs
  87. +38 −34 crates/noirc_evaluator/src/ssa/acir_gen/constraints.rs
  88. +6 −13 crates/noirc_evaluator/src/ssa/acir_gen/internal_var.rs
  89. +24 −17 crates/noirc_evaluator/src/ssa/acir_gen/operations/binary.rs
  90. +22 −15 crates/noirc_evaluator/src/ssa/acir_gen/operations/cmp.rs
  91. +21 −16 crates/noirc_evaluator/src/ssa/acir_gen/operations/intrinsics.rs
  92. +14 −7 crates/noirc_evaluator/src/ssa/acir_gen/operations/load.rs
  93. +7 −1 crates/noirc_evaluator/src/ssa/acir_gen/operations/return.rs
  94. +8 −22 crates/noirc_evaluator/src/ssa/acir_gen/operations/sort.rs
  95. +1 −1 crates/noirc_evaluator/src/ssa/acir_gen/operations/store.rs
  96. +3 −3 crates/noirc_evaluator/src/ssa/anchor.rs
  97. +37 −9 crates/noirc_evaluator/src/ssa/builtin.rs
  98. +83 −48 crates/noirc_evaluator/src/ssa/conditional.rs
  99. +43 −17 crates/noirc_evaluator/src/ssa/context.rs
  100. +2 −2 crates/noirc_evaluator/src/ssa/flatten.rs
  101. +2 −2 crates/noirc_evaluator/src/ssa/function.rs
  102. +5 −4 crates/noirc_evaluator/src/ssa/inline.rs
  103. +11 −11 crates/noirc_evaluator/src/ssa/integer.rs
  104. +60 −45 crates/noirc_evaluator/src/ssa/node.rs
  105. +94 −19 crates/noirc_evaluator/src/ssa/optimizations.rs
  106. +1 −0 crates/noirc_evaluator/src/ssa/ssa_form.rs
  107. +95 −79 crates/noirc_evaluator/src/ssa/ssa_gen.rs
  108. +4 −0 crates/noirc_frontend/Cargo.toml
  109. +6 −2 crates/noirc_frontend/src/ast/mod.rs
  110. +106 −104 crates/noirc_frontend/src/ast/statement.rs
  111. +1 −1 crates/noirc_frontend/src/graph/mod.rs
  112. +5 −2 crates/noirc_frontend/src/hir/def_collector/dc_crate.rs
  113. +18 −14 crates/noirc_frontend/src/hir/def_collector/dc_mod.rs
  114. +19 −0 crates/noirc_frontend/src/hir/def_collector/mod.rs
  115. +60 −4 crates/noirc_frontend/src/hir/def_map/mod.rs
  116. +22 −1 crates/noirc_frontend/src/hir/def_map/module_data.rs
  117. +1 −0 crates/noirc_frontend/src/hir/def_map/module_def.rs
  118. +4 −12 crates/noirc_frontend/src/hir/mod.rs
  119. +18 −1 crates/noirc_frontend/src/hir/resolution/errors.rs
  120. +7 −0 crates/noirc_frontend/src/hir/resolution/mod.rs
  121. +31 −9 crates/noirc_frontend/src/hir/resolution/resolver.rs
  122. +6 −18 crates/noirc_frontend/src/hir/scope/mod.rs
  123. +8 −1 crates/noirc_frontend/src/hir/type_check/errors.rs
  124. +29 −13 crates/noirc_frontend/src/hir/type_check/expr.rs
  125. +20 −12 crates/noirc_frontend/src/hir/type_check/mod.rs
  126. +9 −1 crates/noirc_frontend/src/hir/type_check/stmt.rs
  127. +10 −0 crates/noirc_frontend/src/hir_def/expr.rs
  128. +23 −18 crates/noirc_frontend/src/hir_def/function.rs
  129. +17 −0 crates/noirc_frontend/src/hir_def/mod.rs
  130. +21 −18 crates/noirc_frontend/src/hir_def/stmt.rs
  131. +147 −67 crates/noirc_frontend/src/hir_def/types.rs
  132. +28 −36 crates/noirc_frontend/src/lexer/lexer.rs
  133. +3 −0 crates/noirc_frontend/src/lexer/mod.rs
  134. +122 −94 crates/noirc_frontend/src/lexer/token.rs
  135. +10 −0 crates/noirc_frontend/src/lib.rs
  136. +8 −1 crates/noirc_frontend/src/main.rs
  137. +38 −7 crates/noirc_frontend/src/monomorphization/ast.rs
  138. +48 −10 crates/noirc_frontend/src/monomorphization/mod.rs
  139. +3 −4 crates/noirc_frontend/src/monomorphization/printer.rs
  140. +116 −57 crates/noirc_frontend/src/node_interner.rs
  141. +24 −12 crates/noirc_frontend/src/parser/mod.rs
  142. +76 −16 crates/noirc_frontend/src/parser/parser.rs
  143. +2 −3 crates/wasm/Cargo.toml
  144. +91 −5 crates/wasm/src/lib.rs
  145. +2 −0 cspell.json
  146. +47 −44 noir_stdlib/src/array.nr
  147. +34 −10 noir_stdlib/src/field.nr
  148. +15 −14 noir_stdlib/src/hash.nr
  149. +0 −16 noir_stdlib/src/lib.nr
  150. +2 −2 noir_stdlib/src/merkle.nr
  151. +33 −49 noir_stdlib/src/sha256.nr
  152. +36 −52 noir_stdlib/src/sha512.nr
2 changes: 0 additions & 2 deletions .gitattribute

This file was deleted.

4 changes: 0 additions & 4 deletions .github/FUNDING.yml

This file was deleted.

49 changes: 0 additions & 49 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

91 changes: 91 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Bug Report
description: File a bug report to help us improve.
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## Description
Thanks for taking the time to fill out this bug report to help us improve Noir!
- type: textarea
id: aim
attributes:
label: Aim
description: Describe what you tried to achieve.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: Describe what you expected to happen.
validations:
required: true
- type: textarea
id: bug
attributes:
label: Bug
description: Describe the bug. Supply error codes / terminal logs if applicable.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: To reproduce
description: Describe the steps to reproduce the behavior.
value: |
1.
2.
3.
4.
- type: markdown
attributes:
value: |
## Environment
Specify your versions of Noir releases used.
- type: markdown
attributes:
value: |
### Using Nargo?
- type: dropdown
id: nargo-install
attributes:
label: Installation method
description: How did you install Nargo?
multiple: false
options:
- Binary
- Compiled from source
- type: input
id: nargo-version
attributes:
label: Nargo version
description: What is the output of the `nargo --version` command?
placeholder: "nargo 0.2.0 (git version hash: e927a39dc3d6517f233509b8349dfd9c7f79471d, is dirty: false)"
- type: markdown
attributes:
value: |
### Using TypeScript?
- type: input
id: noir_wasm-version
attributes:
label: "@noir-lang/noir_wasm version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "0.2.0-ca986a4"
- type: input
id: barretenberg-version
attributes:
label: "@noir-lang/barretenberg version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "2.19.0"
- type: input
id: aztec_backend-version
attributes:
label: "@noir-lang/aztec_backend version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "0.12.0"
- type: textarea
id: additional
attributes:
label: Additional context
description: Please provide any additional context that may be applicable.
23 changes: 0 additions & 23 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Feature request
description: Suggest an idea for this project.
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
## Description
Thanks for taking the time to fill out this feature request to help us improve Noir!
- type: textarea
id: problem
attributes:
label: Problem
description: Describe the problem your suggestion sets out to solve.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed solution
description: Describe your proposed solution.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Describe any alternative solutions you have considered.
- type: textarea
id: additional
attributes:
label: Additional context
description: Please provide any additional context that may be applicable.
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -25,6 +25,8 @@ Resolves # <!-- link to issue -->
- [ ] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this PR to the issue(s) that it resolves.
- [ ] I have reviewed the changes on GitHub, line by line.
- [ ] I have ensured all changes are covered in the description.

## Documentation needs
- [ ] This PR requires documentation updates when merged.

# Additional context
15 changes: 15 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -100,3 +100,18 @@ jobs:
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'

publish-wasm:
name: Publish noir_wasm package
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to noir_wasm
uses: benc-uk/workflow-dispatch@v1
with:
workflow: update.yml
repo: noir-lang/noir_wasm
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'
6 changes: 1 addition & 5 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -18,8 +18,4 @@ jobs:

format:
name: Cargo fmt
uses: noir-lang/.github/.github/workflows/rust-format.yml@main

spellcheck:
name: Spellcheck
uses: noir-lang/.github/.github/workflows/spellcheck.yml@main
uses: noir-lang/.github/.github/workflows/rust-format.yml@main
13 changes: 13 additions & 0 deletions .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Spellcheck

on: [push]

# This will cancel previous runs when a branch or PR is updated
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref || github.run_id }}
cancel-in-progress: true

jobs:
spellcheck:
name: Spellcheck
uses: noir-lang/.github/.github/workflows/spellcheck.yml@main
66 changes: 66 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,71 @@
# Changelog

## [0.3.0](https://github.com/noir-lang/noir/compare/v0.2.0...v0.3.0) (2023-03-13)


### ⚠ BREAKING CHANGES

* **nargo:** rename `contract` command to `codegen-verifier` ([#959](https://github.com/noir-lang/noir/issues/959))
* replace dummy ABIs with `FunctionSignature` type alias ([#930](https://github.com/noir-lang/noir/issues/930))
* **nargo:** save program ABI alongside ACIR ([#922](https://github.com/noir-lang/noir/issues/922))
* **nargo:** restrict `CliError` visibility to crate ([#911](https://github.com/noir-lang/noir/issues/911))
* prevent inconsistent language usage in `Driver` ([#881](https://github.com/noir-lang/noir/issues/881))
* **abi:** add explicit return type field to ABI. ([#865](https://github.com/noir-lang/noir/issues/865))
* **abi:** merge both abi encoding/decoding methods ([#862](https://github.com/noir-lang/noir/issues/862))
* **abi:** add an explicit mapping from ABI params to witness indices ([#851](https://github.com/noir-lang/noir/issues/851))
* Allow impls on primitive types ([#847](https://github.com/noir-lang/noir/issues/847))

### Features

* **abi:** add an explicit mapping from ABI params to witness indices ([#851](https://github.com/noir-lang/noir/issues/851)) ([5bd4bd5](https://github.com/noir-lang/noir/commit/5bd4bd5047e4bc9a67bd79ab2a2519dc0c92da42))
* **abi:** add explicit return type field to ABI. ([#865](https://github.com/noir-lang/noir/issues/865)) ([8ca5676](https://github.com/noir-lang/noir/commit/8ca5676ba68403fff8bd953fe7c2d2f7c8e62a09))
* **abi:** merge both abi encoding/decoding methods ([#862](https://github.com/noir-lang/noir/issues/862)) ([fecd32c](https://github.com/noir-lang/noir/commit/fecd32cc27b552eb47681618ba44894c635c7f8c))
* add support for reading boolean arrays from toml ([#900](https://github.com/noir-lang/noir/issues/900)) ([93d83bf](https://github.com/noir-lang/noir/commit/93d83bf24d9ee340de54bda3d3df80e48855ae66))
* Allow impls on primitive types ([#847](https://github.com/noir-lang/noir/issues/847)) ([479da0e](https://github.com/noir-lang/noir/commit/479da0e724dc34667baaabd8e37ce143193bf97e))
* **ci:** Publish noir_wasm when we cut a release ([#871](https://github.com/noir-lang/noir/issues/871)) ([5186ab9](https://github.com/noir-lang/noir/commit/5186ab97a0fc087413f6d217b87c77f693c574ac))
* **compile:** compile w/dependencies and options ([#965](https://github.com/noir-lang/noir/issues/965)) ([3f897f6](https://github.com/noir-lang/noir/commit/3f897f623d81ec31f0ed0495da45586ff88850b9))
* **compile:** Noir std lib embedded ([#973](https://github.com/noir-lang/noir/issues/973)) ([13b9069](https://github.com/noir-lang/noir/commit/13b906909ad1cbfed5608dd7d5ef2809d31324d8))
* Implement basic contracts ([#944](https://github.com/noir-lang/noir/issues/944)) ([8ba3ab2](https://github.com/noir-lang/noir/commit/8ba3ab2f3570870bf8528eaf6dd1377d9a52d546))
* Implement endianness specified versions of `to_bytes` `to_radix` and `to_bits` ([#914](https://github.com/noir-lang/noir/issues/914)) ([43abc6b](https://github.com/noir-lang/noir/commit/43abc6b5b9014135ea93d9007d634025e59e1d30))
* **nargo:** save program ABI alongside ACIR ([#922](https://github.com/noir-lang/noir/issues/922)) ([ddaf305](https://github.com/noir-lang/noir/commit/ddaf305634cf0d0f1b6046ab68e84268eb1fa088))
* separate contract/program compilation from IO ([#967](https://github.com/noir-lang/noir/issues/967)) ([c60f545](https://github.com/noir-lang/noir/commit/c60f5457a62ec52ec6240e6f7188e3f8fe81e44c))
* Silence output of prove and verify ([#892](https://github.com/noir-lang/noir/issues/892)) ([811b346](https://github.com/noir-lang/noir/commit/811b346a5a65f8ad061ebc88c9095dedd5eaa0bc))
* **ssa:** add location to ssa instructions ([#931](https://github.com/noir-lang/noir/issues/931)) ([356858b](https://github.com/noir-lang/noir/commit/356858b185e4e6500bbe45c27dddf15b125aaaae))
* update to ACVM 0.5.0 ([#902](https://github.com/noir-lang/noir/issues/902)) ([9b58da4](https://github.com/noir-lang/noir/commit/9b58da45ae7b1542f7e9c258d748ceae3f1960c2))


### Bug Fixes

* **abi:** ensure that return value is loaded from toml ([#883](https://github.com/noir-lang/noir/issues/883)) ([adba24c](https://github.com/noir-lang/noir/commit/adba24c7db27a30c9443811339e4eedbf12e4470))
* add more readable error for missing argument in toml ([#971](https://github.com/noir-lang/noir/issues/971)) ([e31f41f](https://github.com/noir-lang/noir/commit/e31f41f65cb264c95b84740f02b687140ee0a050))
* allow parsing strings from toml into booleans ([#894](https://github.com/noir-lang/noir/issues/894)) ([f729a00](https://github.com/noir-lang/noir/commit/f729a00e45f37e2cbb4654b48e8bab986e164423))
* check the argument count of generic types ([#970](https://github.com/noir-lang/noir/issues/970)) ([2688dc4](https://github.com/noir-lang/noir/commit/2688dc405968dcd9b7a9486cc9cabffd9698dce8))
* compute witness when println evaluated before input ([#891](https://github.com/noir-lang/noir/issues/891)) ([2727b34](https://github.com/noir-lang/noir/commit/2727b34f29d032b3d26ed41e538e7cc8d7d07770))
* correct type checking to handle `false` bools ([#893](https://github.com/noir-lang/noir/issues/893)) ([6c7aa2f](https://github.com/noir-lang/noir/commit/6c7aa2fc39c7caff1fee94888287f17101101e43))
* display command description in CLI for `nargo prove` ([#949](https://github.com/noir-lang/noir/issues/949)) ([2829af1](https://github.com/noir-lang/noir/commit/2829af1b9778f1b54bef18ae5d9748b7289ecb9c))
* evaluate constant division ([#909](https://github.com/noir-lang/noir/issues/909)) ([b91307b](https://github.com/noir-lang/noir/commit/b91307b43a5ecc6fea0edf59dee06d7e93b8f324))
* Fix multiple call of `to_le_bytes` ([#941](https://github.com/noir-lang/noir/issues/941)) ([2ee0119](https://github.com/noir-lang/noir/commit/2ee0119ac9b28ddbad560016c8151e29970bdfc5))
* generate valid toml when outputting nested structs ([#936](https://github.com/noir-lang/noir/issues/936)) ([ba947a7](https://github.com/noir-lang/noir/commit/ba947a7c22720d90676422f9c29bd55f047e9edb))
* Improve member access error ([#940](https://github.com/noir-lang/noir/issues/940)) ([9b5b5f6](https://github.com/noir-lang/noir/commit/9b5b5f6ba8830f1c7d0eb46b0888f15f9fe6b5d7))
* **nargo:** Switch order of writing acir file and acir checksum file ([#895](https://github.com/noir-lang/noir/issues/895)) ([4fc94dc](https://github.com/noir-lang/noir/commit/4fc94dc010fda5496501991664c0853e5a8f6707))
* **nargo:** Use yml extension for bug report link presented upon panic ([#960](https://github.com/noir-lang/noir/issues/960)) ([f7b3711](https://github.com/noir-lang/noir/commit/f7b3711603536b1b1ad5246afa749087de688464))
* **nargo:** Use yml extension on the bug report link presented upon panic ([f7b3711](https://github.com/noir-lang/noir/commit/f7b3711603536b1b1ad5246afa749087de688464))
* **noir_wasm:** Update wasm ACIR serialization ([#898](https://github.com/noir-lang/noir/issues/898)) ([575436f](https://github.com/noir-lang/noir/commit/575436faacc75a945456748f252ac731107e5564))
* Optimize parser ([#869](https://github.com/noir-lang/noir/issues/869)) ([e927a39](https://github.com/noir-lang/noir/commit/e927a39dc3d6517f233509b8349dfd9c7f79471d))
* prevent inconsistent language usage in `Driver` ([48cda7a](https://github.com/noir-lang/noir/commit/48cda7a08b22afdde9f904632b502c53fb491ee6))
* prevent inconsistent language usage in `Driver` ([#881](https://github.com/noir-lang/noir/issues/881)) ([48cda7a](https://github.com/noir-lang/noir/commit/48cda7a08b22afdde9f904632b502c53fb491ee6))
* properly initialise `Evaluator` in test ([#863](https://github.com/noir-lang/noir/issues/863)) ([bbb70bd](https://github.com/noir-lang/noir/commit/bbb70bdcc78041f5db9b74657cdcc92ad34c035b))
* properly initialise Evaluator in test ([bbb70bd](https://github.com/noir-lang/noir/commit/bbb70bdcc78041f5db9b74657cdcc92ad34c035b))
* Remove uses of std::process::exit ([#963](https://github.com/noir-lang/noir/issues/963)) ([870ea46](https://github.com/noir-lang/noir/commit/870ea463583502db106d4c8b05ad5c02fb6f8428))
* **ssa:** fix the compile-time check for equality in acir-gen ([#904](https://github.com/noir-lang/noir/issues/904)) ([161e4fb](https://github.com/noir-lang/noir/commit/161e4fbfe17ef9ed6c237d6ea812a866fee2c74a))


### Miscellaneous Chores

* **nargo:** rename `contract` command to `codegen-verifier` ([#959](https://github.com/noir-lang/noir/issues/959)) ([2e63492](https://github.com/noir-lang/noir/commit/2e63492aadf17bda2906f22e10476834f497f664))
* **nargo:** restrict `CliError` visibility to crate ([#911](https://github.com/noir-lang/noir/issues/911)) ([ed0e1ab](https://github.com/noir-lang/noir/commit/ed0e1ab4c7a3461da1a3fd500335d146ce43176c))
* replace dummy ABIs with `FunctionSignature` type alias ([#930](https://github.com/noir-lang/noir/issues/930)) ([156125b](https://github.com/noir-lang/noir/commit/156125ba6b1c01804ea15305ba13eb9cc3203273))

## [0.2.0](https://github.com/noir-lang/noir/compare/v0.1.1...v0.2.0) (2023-02-16)


Loading