Module types Copy item path Source pub use heap ::*;
heap system_proxy AnnotatedEgldPayment AsyncCallPromises Deprecated Will be renamed to AsyncCall
and AsyncCall
to AsyncCallLegacy
when the promises end up on the mainnet. BackTransfers Holding back-transfer data, as retrieved from the VM. BigFloat BigInt BigUint CallbackClosure Object that encodes full async callback data. CallbackClosureForDeser Similar object to CallbackClosure
, but only used for deserializing from storage
the callback data with the old async call mechanism. CallbackClosureMatcher Helps the callback macro expansion to perform callback name matching more efficiently.
The current implementation hashes by callback name length,
but in principle further optimizations are possible. Code Contains code for a deploy or upgrade. CodeMetadata ConsNoRet Handlers that return nothing. ConsRet ConstDecimals Zero-sized constant number of decimals. ContractCallNoPayment Deprecated Holds metadata for calling another contract, without payments. ContractCallWithAnyPayment Deprecated Holds data for calling another contract, with any type of payment: none, EGLD, Multi-ESDT. ContractCallWithEgld Deprecated Holds data for calling another contract, with EGLD payment only. ContractCallWithEgldOrSingleEsdt Deprecated Holds data for calling another contract, with a single payment, either EGLD or a single ESDT token. ContractCallWithMultiEsdt Deprecated ContractDeploy Deprecated DeployCall Holds deploy data: code, code metadata, and arguments. DeployRawResult ESDTSystemSCAddress Indicates the system SC address, which is the same on any MultiversX blockchain. Egld Indicates the EGLD payment in a transaction. EgldOrEsdtTokenIdentifier Specialized type for handling either EGLD or ESDT token identifiers. EgldOrEsdtTokenPayment EgldOrEsdtTokenPaymentMultiValue Thin wrapper around EgldOrEsdtTokenPayment, which has different I/O behaviour: EgldOrEsdtTokenPaymentRefs Similar to EgldOrEsdtTokenPayment
, but only contains references. EllipticCurve EsdtLocalRoleFlags EsdtTokenData EsdtTokenPayment EsdtTokenPaymentMultiValue Thin wrapper around EsdtTokenPayment, which has different I/O behaviour: EsdtTokenPaymentRefs The version of EsdtTokenPayment
that contains referrences instead of owned fields. ExplicitGas FromSource Indicates the source of a “deploy from source” or “upgrade from source”. FullPaymentData FunctionCall Encodes a function call on the blockchain, composed of a function name and its encoded arguments. GasLeft Indicates that all remaining gas should be sent to a transaction. LockableStaticBuffer ManagedAddress ManagedArgBuffer ManagedAsyncCallError ManagedBuffer A byte buffer managed by an external API. ManagedBufferBuilder ManagedBufferBuilderImplBasic Basic implementation of a ManagedBuffer builder, no caching. ManagedBufferBuilderImplCached A ManagedBuffer builder implementation that caches data to the static cache locally in the contract. ManagedBufferNestedDecodeInput Nested decode buffer based on a managed buffer.
Uses the load/copy slice API to extract pieces of the managed buffer for deserialization. ManagedBufferReadToEnd A wrapper over a ManagedBuffer with different decode properties. It reads until the end of the buffer. ManagedByteArray A list of items that lives inside a managed buffer.
Items can be either stored there in full (e.g. u32
),
or just via handle (e.g. BigUint<M>
). ManagedDecimal Fixed-point decimal numbers that accept either a constant or variable number of decimals. ManagedDecimalSigned Fixed-point decimal numbers that accept either a constant or variable number of decimals. ManagedMap A byte buffer managed by an external API. ManagedMapEncoded A managed map that works with any serializable key and value types. ManagedOption A very efficient optional managed type. ManagedRef A very efficient reference to a managed type, with copy semantics. ManagedRefMut A very efficient mutable reference to a managed type. ManagedSCError Smart contract error that can concatenate multiple message pieces.
The message is kept as a managed buffer in the VM. ManagedVec A list of items that lives inside a managed buffer.
Items can be either stored there in full (e.g. u32
),
or just via handle (e.g. BigUint<M>
). ManagedVecItemEmptyPayload Empty ManagedVecItem. ManagedVecItemPayloadBuffer The main ManagedVecItemPayload implementation. Uses an array in its implementation. ManagedVecOwnedIterator ManagedVecPayloadIterator ManagedVecRef ManagedVecRefIterator ManagedVecRefMut MultiValueEncoded A multi-value container, that keeps raw values as ManagedBuffer
It allows encoding and decoding of multi-values. MultiValueEncodedCounted A multi-value container, that keeps raw values as ManagedBuffer, and which encodes and decodes its length explicitly. MultiValueEncodedIterator Iterator for MultiValueEncoded
and MultiValueEncodedCounted
. MultiValueManagedVec MultiValueManagedVecCounted Argument or result that is made up of the argument count, followed by the arguments themselves.
Think of it as a VarArgs
preceded by the count.
Unlike MultiValueManagedVec
it deserializes eagerly. NotPayable Transaction marker, which indicates that a transaction should never have any payment added to it. OriginalResultMarker Contains no data. PassValue Simply passes a value to the result. RandomnessSource ReturnsBackTransfers Indicates that back-transfers will be returned. ReturnsBackTransfersEGLD Indicates that back-transfers will be returned. ReturnsBackTransfersMultiESDT Indicates that back-transfers will be returned. ReturnsBackTransfersSingleESDT Indicates that back-transfers will be returned. ReturnsNewAddress Indicates that the newly deployed address will be returned after a deploy. ReturnsNewManagedAddress Indicates that the newly deployed address will be returned after a deploy as a ManagedAddress. ReturnsRawResult Indicates that the raw result data will be returned. ReturnsResult Indicates that result will be returned. ReturnsResultAs Indicates that result will be returned. ReturnsResultUnmanaged Indicates that the unmanaged version of the result will be returned. SparseArray A special type of array that initially holds the values from 0 to N
If array[i] == i, then the default value (0) is stored instead SparseArrayIterator StaticBufferRef StaticSCError Contains a smart contract execution error message. SyncCallRawResult TestAddress Encodes a dummy address, to be used for tests. TestEsdtTransfer Syntactic sugar for quickly writing ESDT transfers in tests. TestSCAddress Encodes a dummy SC address, to be used for tests. TestTokenIdentifier Encodes a dummy address, to be used for tests. ToCaller Indicates that transaction should be sent to the caller (the sender of the current transaction). ToSelf Indicates that transaction should be sent to itself. TokenIdentifier Specialized type for handling token identifiers.
It wraps a BoxedBytes with the full ASCII name of the token.
EGLD is stored as an empty name. Tx Universal representation of a blockchain transaction. TxScEnv The transaction environment used in calls launched from a SC. TypedFunctionCall Deprecated Old attempt at grouping FunctionCall + OriginalTypeMarker. UpgradeCall Holds deploy data: code, code metadata, and arguments. WithNewAddress Defines a lambda function to be called on the newly deployed address, after a deploy. WithRawResult Defines a lambda function to be called on the raw result of the transaction. WithResult Defines a lambda function to be called on the decoded result. WithResultAs Defines a lambda function to be called on the decoded result. CallbackSelectorResult Used internally between the callback
and callback_selector
methods.
It is likely to be removed in the future. EgldOrMultiEsdtPayment Encodes any type of payment, which either: EgldOrMultiEsdtPaymentRefs The version of EgldOrMultiEsdtPayment
that contains referrences instead of owned fields. EsdtLocalRole EsdtTokenType ManagedAsyncCallResult MessageHashType Message hash type for the verifyCustomSecp256k1
CryptoApi function OperationCompletionStatus Standard way of signalling that an operation was interrupted early, before running out of gas.
An endpoint that performs a longer operation can check from time to time if it is running low
on gas and can decide to save its state and exit, so that it can continue the same operation later. SCResult Deprecated Default way to optionally return an error from a smart contract endpoint. Sign AnnotatedValue Describes a value can also have a custom representation in a mandos scenario. ContractCall Defines a contract call object, which is the basis for all calls to other contracts. ContractCallBase Deprecated Converts into a legacy contract call. Decimals Implemented by all decimal types usable in ManagedDecimal
. ExternallyMergeable Used when merging is done through an external SC call.
Generally, these only need to have the same token ID, with different nonces. FixedSupplyToken ManagedBufferBuilderImpl ManagedType Commonalities between all managed types. ManagedVecItem Types that implement this trait can be items inside a ManagedVec
.
All these types need a payload, i.e a representation that gets stored
in the underlying managed buffer.
Not all data needs to be stored as payload, for instance for most managed types
the payload is just the handle, whereas the mai ndata is kept by the VM. ManagedVecItemNestedTuple Syntactic sugar, that allows us to more easily represent composite payloads as nested tuples. ManagedVecItemPayload Describes the binary represetnation of a ManagedVecItem. ManagedVecItemPayloadAdd Describes concatantion of smaller payloads into a larger one. Mergeable Used for types that can be merged locally. ProxyArg Trait that is automatically implemented for all types that are allowed as proxy inputs. RHList RHListAppendNoRet RHListAppendRet RHListExec Indicates how result processing will undergo for an ensemble of result handlers. RHListItem Result handler list item. RHListItemExec Indicates how result processing will undergo for one specific result handler. SCError Any type that implements this trait can be used to signal errors
when returning from a SC endpoint. TxAsyncCallCallback TxCodeSource TxCodeSourceSpecified TxCodeValue TxData Marks the data field of a transaction in Tx
. TxDataFunctionCall TxEgldValue TxEmptyResultHandler Indicates that given result handler is empty, i.e. doesn’t cause any side effects and returns nothing. TxEnv TxEnvMockDeployAddress TxEnvWithTxHash TxFrom Marks the sender of any transaction. TxFromSourceValue TxFromSpecified Marks the non-empty sender of a transaction. TxGas All typed that populate the gas field of a transaction need to implement this trait. TxGasValue TxNoPayment Marker trait that indicates that payment field contains no payment. TxPayment Describes a payment that is part of a transaction. TxPaymentEgldOnly Marks a payment object that only contains EGLD or nothing at all. TxPaymentMultiEsdt Indicates that a payment object contains a multi-ESDT payment. TxPromisesCallback TxProxyTrait Defines a proxy object for a smart contract. TxResultHandler Marks a general result handler, to be used in the transaction unified syntax. TxTo Marks the recipient of any transaction. TxToSpecified Marks the non-empty recipient of a transaction. managed_vec_item_read_from_payload_index ⚠ Used by the ManagedVecItem derive. managed_vec_item_save_to_payload_index ⚠ Used by the ManagedVecItem derive. new_callback_call Syntactical sugar to help macros to generate code easier.
Unlike calling CallbackClosure::<SA, R>::new
, here types can be inferred from the context. new_contract_deploy Syntactical sugar to help macros to generate code easier.
Unlike calling ContractDeploy::<SA>::new
, here types can be inferred from the context. AsyncCall Deprecated Kept as alias for backwards compatibility. EgldPayment EllipticCurveComponents EsdtTokenPaymentMultiArg Deprecated IgnoreVarArgs Deprecated Structure that allows taking a variable number of arguments,
but does nothing with them, not even deserialization. ManagedBufferCachedBuilder Deprecated ManagedBufferImplDefault ManagedCountedMultiResultVec Deprecated ManagedCountedVarArgs Deprecated ManagedMultiResultVec Deprecated ManagedMultiResultVecEager Deprecated ManagedVarArgs Deprecated ManagedVarArgsEager Deprecated MultiArg2 Deprecated MultiArg3 Deprecated MultiArg4 Deprecated MultiArg5 Deprecated MultiArg6 Deprecated MultiArg7 Deprecated MultiArg8 Deprecated MultiArg9 Deprecated MultiArg10 Deprecated MultiArg11 Deprecated MultiArg12 Deprecated MultiArg13 Deprecated MultiArg14 Deprecated MultiArg15 Deprecated MultiArg16 Deprecated MultiArgVec Deprecated Structure that allows taking a variable number of arguments
or returning a variable number of results in a smart contract endpoint. MultiEgldOrEsdtPayment Alias for a list of payments of EGLD or ESDT tokens. MultiEsdtPayment Alias for a list of payments. MultiResult2 Deprecated MultiResult3 Deprecated MultiResult4 Deprecated MultiResult5 Deprecated MultiResult6 Deprecated MultiResult7 Deprecated MultiResult8 Deprecated MultiResult9 Deprecated MultiResult10 Deprecated MultiResult11 Deprecated MultiResult12 Deprecated MultiResult13 Deprecated MultiResult14 Deprecated MultiResult15 Deprecated MultiResult16 Deprecated MultiResultVec Deprecated Used for returning a variable number of results from an endpoint,
it is synonymous with MultiResult
. NumDecimals Decimals are represented as usize. This type is also used as variable decimals. OptionalArg Deprecated A smart contract argument or result that can be missing. OptionalResult Deprecated It is just an alias for OptionalArg
.
In general we use OptionalArg
for arguments and OptionalResult
for results,
but it is the same implementation for both. TxBaseWithEnv TxProxyCall Alias for a Tx
generated from a proxy, in an endpoint. TxProxyDeploy Alias for a Tx
generated from a proxy, in init
. TxProxyUpgrade Alias for a Tx
generated from a proxy, in upgrade
. TxScBase TxTypedCall Alias for a Tx
generated from a proxy, in an endpoint. TxTypedDeploy Alias for a Tx
generated from a proxy, in init
. TxTypedUpgrade Alias for a Tx
generated from a proxy, in upgrade
. VarArgs Deprecated Used for taking a variable number of arguments in an endpoint,
it is synonymous with MultiResultVec
/MultiArgVec
.