[][src]Crate elrond_wasm

Re-exports

pub use elrond_codec;
pub use io::*;
pub use storage::storage_get;
pub use storage::storage_set;
pub use storage::BorrowedMutStorage;
pub use finish::SCResult;
pub use call_data::*;

Modules

call_data
err_msg
h256
io
non_zero_util
queue
storage

Macros

contract_proxy

Handy way of casting to a contract proxy trait. Would make more sense to be in elrond-wasm-derive, but Rust "cannot export macro_rules! macros from a proc-macro crate type currently".

imports

Getting all imports needed for a smart contract.

mut_storage

Compact way to represent the BorrowedMutStorage type.

non_zero_usize

Converts usize to NonZeroUsize or returns SCError.

only_owner

Very compact way of not allowing anyone but the owner to call a function.

require

Allows us to write Solidity style require!(<condition>, <error_msg>) and avoid if statements.

sc_error

Compact way of returning a static error message.

sc_try

Equivalent of the ? operator for SCResult.

Structs

Box

A pointer type for heap allocation.

H256
OtherContractHandle
Queue

A simple queue struct that is able to push and pop without moving elements. New items are pushed at the end, just like for a regular Vec. When popping, instead of performing a regular Vec remove that would shift items, a start index is moved up 1 position. When serializing, items before the start index are ignored.

String

A UTF-8 encoded, growable string.

Vec

A contiguous growable array type, written Vec<T> but pronounced 'vector'.

Enums

Sign

Traits

BigIntApi

Definition of the BigInt type required by the API.

BigUintApi

Definition of the BigUint type required by the API. The API doesn't care about the actual BigInt implementation. The Arwen VM provides an implementation directly in the protocol. For debugging we use a different implementation, based on Rust's BigInt.

CallableContract

CallableContract is the means by which the debugger calls methods in the contract.

ContractHookApi

Interface to be used by the actual smart contract code.

ContractIOApi

Interface to only be used by code generated by the macros. The smart contract code doesn't have access to these methods directly.

Type Definitions

Address