Being able to excute LLVM IR alone is not all that useful. As we want this effort to enable writing contracts, we have to determine how to expose the chain’s interface to the guest code. This will likely require a source-language specific effort, so for now we will focus on Rust.
This should expose basic chain operations to rust, as well as "host calls" to allow passing data back and forth between user-written (non-polyfill) Cairo and code compiled from LLVM.
Description
Being able to excute LLVM IR alone is not all that useful. As we want this effort to enable writing contracts, we have to determine how to expose the chain’s interface to the guest code. This will likely require a source-language specific effort, so for now we will focus on Rust.
This should expose basic chain operations to rust, as well as "host calls" to allow passing data back and forth between user-written (non-polyfill) Cairo and code compiled from LLVM.