-
Notifications
You must be signed in to change notification settings - Fork 219
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: add noirc_abi_wasm
crate for ABI encoding in JS
#1945
Conversation
@kobyhallx I forgot to mention, I'm using this PR for developing the abi encoding package. |
@TomAFrench what is the status of this and does it have a corresponding issue? |
@kevaundray I've added an issue for this. This PR is ongoing as time allows. |
* master: (75 commits) fix: Mutating a variable no longer mutates its copy (#2057) fix: Implement `.len()` in Acir-Gen (#2077) chore: clippy fixes (#2101) chore: Update `noir-source-resolver` to v1.1.3 (#1912) chore: Document `GeneratedAcir::more_than_eq_comparison` (#2085) chore: refresh ACIR test artifacts (#2091) feat: Add `deprecated` attribute (#2041) chore(ssa refactor): Implement `acir_gen` errors (#2071) chore: use witnesses from the generated acir in the ABI (#2095) fix: Fix methods not mutating fields (#2087) chore(nargo): Use Display impl for InputValue (#1990) feat: Make arrays and slices polymorphic over each other (#2070) feat: Remove an unnecessary witness in `mul_with_witness` (#2078) chore: document truncate (#2082) fix: avoid potential panic in `two_complement` (#2081) chore: Cleanup integration tests (#2074) chore: replace `Type::TypeVariable`, `Type::PolymorphicInteger`, and … (#2065) chore!: Require package names in `Nargo.toml` files (#2056) fix: Avoid non-determinism in defunctionalization (#2069) chore: change 'unnecessary pub' error to a warning (#2064) ...
* master: (80 commits) fix: properly capture lvalues in closure environments (#2120) (#2257) fix: Optimize contracts built by `nargo info` (#2259) chore: impl Display for DebugType (#2258) chore: update `noir_wasm` build process to match `acvm_js` (#2067) feat: Implement traits - parser support #2094 (#2230) chore: Refactor DefCollector duplicate errors (#2231) chore: Address clippy warnings (#2246) feat: Support `contract` package type in `nargo info` command (#2249) feat: Add slice append (#2241) chore: Bump `async-lsp` to v0.0.5 (#2186) chore: Move the remaining `nargo_cli` lib funcs into `nargo` crate (#2225) chore: Add test for eddsa (#2237) chore: Split `Nargo.toml` operations into separate package (#2224) fix(stdlib): correct `tecurve::contains` formula (#1821) feat: Remove `comptime` and warn upon usage (#2178) fix: Remove last vestige of array of structs to struct of arrays conversion (#2217) fix: Add foreign impl error (#2216) feat(nargo)!: Replace `--contracts` flag with `contract` package type (#2204) feat: Optimize `x < 0` for unsigned `x` to false (#2206) fix: Initialize numeric generics' type to a polymorphic integer when used in an expression (#2179) ...
New dependencies detected. Learn more about Socket for GitHub ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine, some small nits
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯
This got merged while CI is failing and now causes failures in master: https://github.com/noir-lang/noir/actions/runs/6085386587/job/16509862802 @kobyhallx Can you fix this? |
* master: chore: Replace hashers of hashmaps in dfg with fxhashes (#2490) chore: remove duplicate span from FunctionReturnType (#2546) feat: Add support for brillig call stacks in runtime errors (#2549) feat: add `noirc_abi_wasm` crate for ABI encoding in JS (#1945) chore: move CRS files into their own directory (#2558) chore: Cleanup `rebuild.sh` script (#2470) chore(ci): add mocked backend binary to improve `compile_success_empty` tests (#2554) chore: add noir-source-resolver (#2485) chore: fix double verify proof (#2556) feat: add `nargo backend ls` and `nargo backend use` command to switch between backends (#2552) chore(ci): bump checkout action to v4 (#2551) feat: Support for optional assertion messages (#2491) fix: allow usage of decimal string encoding for fields larger than a `i128` (#2547) feat(nargo): add hidden option to produce JSON output from `nargo info` (#2542) chore(stdlib)!: Rename `fixed_base_scalar_mul` to be more descriptive (#2488) chore: Document requirement for range opcode on `r_witness` in `GeneratedAcir::euclidean_division` (#2437) chore!: ACVM 0.24 (#2504) fix(aztec_noir): generalise loop to not always inject a hasher instance (#2529) chore: create helper functions for writing programs and contracts to file (#2526)
Is this meant to be used by Noir devs? (If yes, we probably need to doc it.) |
Best to document this PR as a part of Noir.js after packaging this |
Description
Problem*
Resolves
Summary*
Draft PR for tracking development of the Noir ABI encoding wasm package.
Documentation
This PR requires documentation updates when merged.
Additional Context
PR Checklist*
cargo fmt
on default settings.