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

[main] Add mina as a git submodule for o1js #1133

Merged
merged 43 commits into from
Dec 19, 2023
Merged

Conversation

MartinMinkov
Copy link
Contributor

@MartinMinkov MartinMinkov commented Sep 28, 2023

Description

Addresses #1096

🔗 Mina: MinaProtocol/mina#14461
🔗 o1js-bindings: o1-labs/o1js-bindings#159

This PR aims to add mina as a submodule of o1js and add support to build everything in the top level directory. To do so, the following changes were made:

  1. Add mina as a submodule, located under src/mina, and target the PR above
  2. Update the bindings submodule to the PR above
  3. Add details to README-dev.md to elaborate on how to build the bindings and give contextual information
  4. Some auxiliary updates, like updating package-lock.json, modifying some config files, etc.
  5. Add a top-level dune-project file to let dune build all OCaml dependencies in the current root context.

…prevent Jest from running tests in this directory
…t tests

This change is temporary until 'snarkyjs' is removed from the mina repo.
…om jest tests

This change was made because the 'snarkyjs' inside the mina repo has been removed, making the condition unnecessary.
…n and README-dev.md for better clarity and consistency
…directory structure, ensuring correct files are ignored by Prettier
…build scripts

- Replace opam with Dune in the list of required tools to reflect changes in the build process
- Add a new section about build scripts, explaining the role of update-snarkyjs-bindings.sh
- Expand on the OCaml bindings section, detailing the use of Dune and Js_of_ocaml in the build process
- Add information about the WebAssembly bindings build process, including the output files
- Introduce a section about generated constant types, explaining how they are created and their role in ensuring protocol consistency
Copy link
Collaborator

@mitschabaude mitschabaude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice how you updated the dev README!

README-dev.md Outdated Show resolved Hide resolved
README-dev.md Outdated Show resolved Hide resolved
README-dev.md Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
MartinMinkov and others added 9 commits December 13, 2023 09:30
Co-authored-by: Gregor Mitscha-Baude <gregor.mitscha-baude@gmx.at>
Co-authored-by: Gregor Mitscha-Baude <gregor.mitscha-baude@gmx.at>
Co-authored-by: Gregor Mitscha-Baude <gregor.mitscha-baude@gmx.at>
…lity and maintainability

feat(package.json): add new build commands for bindings, update-bindings, and wasm
chore(src/bindings): update subproject commit hash for latest changes
@MartinMinkov MartinMinkov changed the title Add mina as a git submodule for o1js [main] Add mina as a git submodule for o1js Dec 13, 2023
Copy link
Collaborator

@mitschabaude mitschabaude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-approving with a few more comments.

Tried it out locally, it works for me. Let's go 🚀

package.json Outdated Show resolved Hide resolved
run-jest-tests.sh Outdated Show resolved Hide resolved
@MartinMinkov MartinMinkov merged commit 769d4b3 into main Dec 19, 2023
13 checks passed
@MartinMinkov MartinMinkov deleted the feat/add-mina-submodule branch December 19, 2023 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants