Module types

Source

Re-exports§

pub use heap::*;

Modules§

heap
system_proxy

Structs§

AnnotatedEgldPayment
AsyncCallPromisesDeprecated
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.
ContractCallNoPaymentDeprecated
Holds metadata for calling another contract, without payments.
ContractCallWithAnyPaymentDeprecated
Holds data for calling another contract, with any type of payment: none, EGLD, Multi-ESDT.
ContractCallWithEgldDeprecated
Holds data for calling another contract, with EGLD payment only.
ContractCallWithEgldOrSingleEsdtDeprecated
Holds data for calling another contract, with a single payment, either EGLD or a single ESDT token.
ContractCallWithMultiEsdtDeprecated
ContractDeployDeprecated
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.
TypedFunctionCallDeprecated
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.

Enums§

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.
SCResultDeprecated
Default way to optionally return an error from a smart contract endpoint.
Sign

Traits§

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.
ContractCallBaseDeprecated
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.

Functions§

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.

Type Aliases§

AsyncCallDeprecated
Kept as alias for backwards compatibility.
EgldPayment
EllipticCurveComponents
EsdtTokenPaymentMultiArgDeprecated
IgnoreVarArgsDeprecated
Structure that allows taking a variable number of arguments, but does nothing with them, not even deserialization.
ManagedBufferCachedBuilderDeprecated
ManagedBufferImplDefault
ManagedCountedMultiResultVecDeprecated
ManagedCountedVarArgsDeprecated
ManagedMultiResultVecDeprecated
ManagedMultiResultVecEagerDeprecated
ManagedVarArgsDeprecated
ManagedVarArgsEagerDeprecated
MultiArg2Deprecated
MultiArg3Deprecated
MultiArg4Deprecated
MultiArg5Deprecated
MultiArg6Deprecated
MultiArg7Deprecated
MultiArg8Deprecated
MultiArg9Deprecated
MultiArg10Deprecated
MultiArg11Deprecated
MultiArg12Deprecated
MultiArg13Deprecated
MultiArg14Deprecated
MultiArg15Deprecated
MultiArg16Deprecated
MultiArgVecDeprecated
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.
MultiResult2Deprecated
MultiResult3Deprecated
MultiResult4Deprecated
MultiResult5Deprecated
MultiResult6Deprecated
MultiResult7Deprecated
MultiResult8Deprecated
MultiResult9Deprecated
MultiResult10Deprecated
MultiResult11Deprecated
MultiResult12Deprecated
MultiResult13Deprecated
MultiResult14Deprecated
MultiResult15Deprecated
MultiResult16Deprecated
MultiResultVecDeprecated
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.
OptionalArgDeprecated
A smart contract argument or result that can be missing.
OptionalResultDeprecated
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.
VarArgsDeprecated
Used for taking a variable number of arguments in an endpoint, it is synonymous with MultiResultVec/MultiArgVec.