11 stable releases

new 21.0.1 Apr 23, 2024
20.3.0 Mar 15, 2024
20.0.2 Dec 20, 2023
20.0.0-rc2 Sep 18, 2023
0.0.3 Jul 29, 2022

#1015 in Magic Beans

Download history 197/week @ 2024-01-01 860/week @ 2024-01-08 1512/week @ 2024-01-15 496/week @ 2024-01-22 358/week @ 2024-01-29 965/week @ 2024-02-05 722/week @ 2024-02-12 785/week @ 2024-02-19 1209/week @ 2024-02-26 690/week @ 2024-03-04 1177/week @ 2024-03-11 1070/week @ 2024-03-18 750/week @ 2024-03-25 1173/week @ 2024-04-01 1637/week @ 2024-04-08 1922/week @ 2024-04-15

5,754 downloads per month
Used in 40 crates (via soroban-sdk)

Apache-2.0

205KB
4K SLoC

rs-soroban-env

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.


lib.rs:

This crate provides the [Guest] type, the "stub" implementation of the [Env] interface used for communicating between a contract guest and its host. It is only defined for cfg(target_family = "wasm").

It also re-exports all of the content of the [soroban_env_common] crate for use by guest code. Most of the type and module definitions visible here are actually defined in the common crate.

Dependencies

~6.5MB
~149K SLoC