Expand description
Conveniently groups all framework imports required by a smart contract form the framework.
Re-exports§
pub use crate::abi::TypeAbi;
pub use crate::api::ErrorApiImpl;
pub use crate::api::ManagedTypeApi;
pub use crate::api::VMApi;
pub use crate::contract_base::ContractBase;
pub use crate::contract_base::ProxyObjBase;
pub use crate::contract_base::ProxyObjNew;
pub use crate::err_msg;
pub use crate::io::*;
pub use crate::non_zero_util::*;
pub use crate::storage::mappers::*;
pub use crate::types::*;
Macros§
- Converts usize to NonZeroUsize or returns SCError.
- Allows us to write Solidity style
require!(<condition>, <error_msg>)
and avoid if statements.
Structs§
- A vector with a fixed capacity.
- Proxy for the ESDT system smart contract.
- Method container of the ESDT system smart contract proxy.
- ESDT
System Smart Contract Proxy Deprecated Proxy for the ESDT system smart contract. Unlike other contract proxies, this one has a fixed address, so the proxy object doesn’t really contain any data, it is more of a placeholder. - Empty structure with an empty bytes representation. Equivalent to
false
,0
or[u8; 0]
, but more explicit. - Structure that allows taking a variable number of arguments, but does nothing with them, not even deserialization.
- Structure that allows taking a variable number of arguments or returning a variable number of results in a smart contract endpoint.
- Temporary value used for any kind of templates.
- Temporary value used for any kind of templates.
- Represents property arguments to be sent to the system SC.
- Proxy describing the user builtin function signatures.
Enums§
- A smart contract argument or result that can be missing.
Traits§
- The addition operator
+
. - The addition assignment operator
+=
. - The bitwise AND operator
&
. - The bitwise AND assignment operator
&=
. - The bitwise OR operator
|
. - The bitwise OR assignment operator
|=
. - The bitwise XOR operator
^
. - The bitwise XOR assignment operator
^=
. - The division operator
/
. - The division assignment operator
/=
. - Defines conversion of a type to its multi-value representation.
- The multiplication operator
*
. - The multiplication assignment operator
*=
. - Trait that allows zero-copy read of value-references from slices in LE format.
- Trait that allows zero-copy write of value-references to slices in LE format.
- The remainder operator
%
. - The remainder assignment operator
%=
. - The left shift operator
<<
. Note that because this trait is implemented for all integer types with multiple right-hand-side types, Rust’s type checker has special handling for_ << _
, setting the result type for integer operations to the type of the left-hand-side operand. This means that thougha << b
anda.shl(b)
are one and the same from an evaluation standpoint, they are different when it comes to type inference. - The left shift assignment operator
<<=
. - The right shift operator
>>
. Note that because this trait is implemented for all integer types with multiple right-hand-side types, Rust’s type checker has special handling for_ >> _
, setting the result type for integer operations to the type of the left-hand-side operand. This means that thougha >> b
anda.shr(b)
are one and the same from an evaluation standpoint, they are different when it comes to type inference. - The right shift assignment operator
>>=
. - The subtraction operator
-
. - The subtraction assignment operator
-=
. - Trait that allows zero-copy read of values from an underlying API in big endian format.
Type Aliases§
- The specific
Tx
type produces by the issue operations of the ESDTSystemSCProxy.