Mopro wasm refactor 2 - #641
Merged
Merged
Conversation
- Added new `wasm_setup!` macro for WebAssembly initialization in `lib.rs`. - Introduced a new `web` module in `app_config` for WebAssembly-specific build logic. - Updated `Cargo.toml` files to include necessary dependencies for WebAssembly. - Removed unused binaries and streamlined workspace members in `Cargo.toml`. - Added new test binaries for Android, iOS, Flutter, React Native, and Web platforms. - Improved error handling in the WebAssembly build process. This update enhances the overall support for WebAssembly in the project, allowing for better integration and functionality.
- Updated the WebPlatform builder to include the `--features wasm` flag for enhanced WebAssembly support. - Modified the `mopro_wasm_hello_world` function to conditionally compile with `wasm_bindgen` for better integration with WebAssembly targets. This change improves the build process for WebAssembly, ensuring that the necessary features are enabled during compilation.
- Removed unnecessary dependencies from `Cargo.toml` for the tests. - Updated `lib.rs` to conditionally expose WebAssembly-related features based on the target architecture. - Enhanced the `wasm_setup!` macro to improve WebAssembly initialization. This refactor simplifies the project structure and improves the handling of WebAssembly features.
- Added new dependencies for WebAssembly features in `Cargo.lock`. - Updated build scripts to conditionally compile WebAssembly-related functions. - Removed obsolete `write_toml` module and streamlined project structure. - Introduced new test cases for Halo2 proof generation and verification in WebAssembly. - Improved error handling and build configuration for WebAssembly targets. This update significantly enhances the WebAssembly capabilities of the project, ensuring better integration and functionality.
Deploying mopro with
|
| Latest commit: |
75ead97
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://48acb991.mopro.pages.dev |
| Branch Preview URL: | https://mopro-wasm-refactor-2.mopro.pages.dev |
- Changed the `wasm-pack test` command in the build workflow to use `--features wasm` instead of `--all-features` for better control over feature selection during testing. - Updated the `.cargo/config.toml` to specify the unstable build standard for WebAssembly, ensuring compatibility with the latest Rust features. This update enhances the testing process for WebAssembly, allowing for more targeted feature testing and improved build configuration.
vivianjeng
force-pushed
the
mopro-wasm-refactor-2
branch
from
December 18, 2025 08:44
a20de85 to
0ee9425
Compare
…ting - Added `rustup default stable` command to ensure the stable Rust toolchain is used during the build process. - Modified the `wasm-pack test` command to use `--all-features` for comprehensive feature testing in the WebAssembly environment. These changes enhance the build and testing workflow, ensuring compatibility with the latest Rust features and improving the testing process for WebAssembly.
- Removed the `rustup default stable` command from the build workflow to streamline the setup. - Updated the `install_uniffi_bindgen_react_native` function to use the current working directory for cloning and installing the `uniffi-bindgen-react-native` repository, enhancing path handling and clarity. - Simplified the removal of the cloned directory by using the current path. These changes improve the installation process for React Native bindings, ensuring better path management and reducing potential errors during setup.
…nfiguration - Modified the configuration to specify the unstable build standard for WebAssembly. - Updated the `wasm32-unknown-unknown` target to include a runner command for testing with `wasm-pack`. - Enhanced rustflags for better performance and memory management in WebAssembly builds. These changes streamline the build process for WebAssembly, ensuring better compatibility and testing capabilities.
- Replaced manual command execution for the Web platform with a dedicated function call to `build_from_str_arch`. - Improved code clarity and maintainability by utilizing the new `WebPlatform` constant. These changes enhance the build process for the Web platform, ensuring a more efficient and organized approach.
- Changed the workflow to run exclusively on `ubuntu-latest`, removing the matrix strategy for OS. - This simplifies the build process and ensures consistent testing across environments. These changes enhance the reliability of the build and test process by standardizing the operating system used.
…obsolete wasm components - Changed the build mode from debug to release for the Web platform in the GitHub Actions workflow. - Removed the mopro-wasm library and its associated files, including README, configuration, and source code, to streamline the project. - Updated the mopro-ffi README to include information about compiling wasm code for supported proving systems. These changes enhance the build process for the Web platform and simplify the project structure by eliminating unused components.
… related components - Updated several dependencies in `Cargo.lock` to their latest versions, including `addr2line`, `backtrace`, `gimli`, `indexmap`, and `object`, ensuring improved performance and security. - Removed obsolete references to `mopro-wasm` in the README and updated sections to clarify the focus on `mopro-ffi`. - Streamlined the testing instructions and improved clarity in the documentation for various platforms, including iOS, Android, Flutter, and React Native. - Adjusted the build-and-test workflow by removing the `test-ffi-all` job to simplify the CI process. These changes enhance the overall project structure, improve dependency management, and provide clearer documentation for users.
…ebAssembly setup - Removed the `mopro-wasm` entry from the sidebars and deleted the associated `mopro-wasm.mdx` file to streamline documentation. - Updated the `web-wasm-setup.md` to reflect changes in the build process, including the removal of `mopro-wasm-lib` and adjustments to the instructions for user-defined circuit implementations. - Clarified the usage of `mopro-ffi` and modified code examples to enhance clarity for users. These changes simplify the documentation and improve the focus on the current project structure, enhancing user experience.
vivianjeng
marked this pull request as ready for review
December 22, 2025 09:55
…ing usage - Updated the `web-wasm-setup.md` to include detailed instructions on enabling multithreading with `wasm-bindgen-rayon` for Halo2. - Added a new section on usage with WebAssembly, explaining the default behavior of Rayon and its impact on performance. - Expanded the `mopro-ffi` README to reflect support for additional FFI tools, including `uniffi-bindgen-react-native`, and provided clearer instructions for building across various platforms. These changes improve the clarity and usability of the documentation, ensuring users have the necessary information for effective WebAssembly integration.
…ncies - Bumped the version of `mopro` and `mopro-ffi` to 0.3.3 in their respective `Cargo.toml` files. - Updated the `Cargo.lock` to reflect the new version and adjusted dependencies accordingly. - Enhanced the CLI README to clarify automation features and support for additional FFI tools. - Modified dependency specifications in the `write_toml.rs` file to use versioning instead of git references for `mopro-ffi`. These changes ensure consistency across the project and improve the clarity of documentation for users.
- Changed the dependency path for `mopro-ffi` in `cli/Cargo.toml` to point to the local path instead of a version. - Updated `Cargo.lock` to remove versioning for `mopro-ffi`, ensuring consistency with the new local path specification. These changes streamline the dependency management for the project, facilitating local development.
This was referenced Dec 22, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
close #575