-
Notifications
You must be signed in to change notification settings - Fork 196
Support wasm with cairo1 #2216
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
base: main
Are you sure you want to change the base?
Support wasm with cairo1 #2216
Conversation
|
Benchmark Results for unmodified programs 🚀
|
74c759b
to
709abe8
Compare
03f6ebe
to
563201a
Compare
563201a
to
597ebac
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2216 +/- ##
=======================================
Coverage 96.68% 96.68%
=======================================
Files 104 104
Lines 44027 44027
=======================================
Hits 42566 42566
Misses 1461 1461 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
fc2da60
to
64604a6
Compare
d7daaad
to
0d40642
Compare
}; | ||
|
||
let sierra_program = { | ||
let program_str = include_str!("../../../cairo_programs/cairo-1-programs/bitwise.sierra"); |
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.
I think we are missing the bitwise.sierra
. I am running make test
and seeing the following error:
error: couldn't read `examples/wasm-demo-cairo1/src/../../../cairo_programs/cairo-1-programs/bitwise.sierra`: No such file or directory (os error 2)
--> examples/wasm-demo-cairo1/src/lib.rs:36:27
|
36 | let program_str = include_str!("../../../cairo_programs/cairo-1-programs/bitwise.sierra");
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.
Changed the Makefile so that it takes into account that file when testing.
Support wasm with cairo1
Description
This PR makes some changes so that a cairo 1 program can be run with wasm:
cairo1-run
depends on cairo-vm with thestd
feature set. Since wasm does not support std features, this PR creates anstd
feature forcairo1-run
, which was set as a default feature to maintain compatibility. When used with wasm, default-features are set tofalse
.std
implementations forHashMap
andPeekable
with theirno_std
ones.std
feature.cairo1-run/src/cairo-run.rs
to beu64
instead ofusize
. This was needed by wasm to be able to compile properly.Checklist