#environment #soroban #object #host #val #env #contract

no-std soroban-env-common-zephyr

Soroban contract environment common types and functionality

4 stable releases

new 21.2.2 Aug 31, 2024
21.2.0 Aug 10, 2024
21.0.3 Jul 7, 2024

#10 in #val

Download history 113/week @ 2024-07-05 10/week @ 2024-07-12 1/week @ 2024-08-02 138/week @ 2024-08-09 18/week @ 2024-08-16 5/week @ 2024-08-23

162 downloads per month
Used in 4 crates (via soroban-env-host-zephyr)

Apache-2.0

195KB
4K SLoC

rs-soroban-env

Warning: this fork of the soroban host environment is not SDF-maintained, hasn't been audited, doesn't enforce correct resources metering and should not be used to execute contracts in a Soroban production environment. This is a fork that enables Soroban to be hardwired into Zephyr.

Rust contract-environment interface and (optional) host implementation for Soroban.

The soroban-env-common crate contains elements of the shared environment-interface between smart contract guest and host: the Env trait that defines the set of available environment functions as well as the Val type that can pass back and forth through the WASM calling convention. Additionally small wrappers around subtypes of Val are included: Object, Symbol, Error, etc.

The soroban-env-guest crate contains the guest-side stub implementation of the environment interface called Guest dependent on extern fns provided by the host implementation. This can be used in a WASM runtime that provides the extern fns.

The soroban-env-host crate contains the host-side full implementation of the environment interface called Host. This can be used either in the real blockchain host, or for local testing in the SDK.

Dependencies

~8–36MB
~540K SLoC