abidock_mvx library

MultiversX SDK for Dart and Flutter applications.

Provides complete functionality for blockchain interaction including smart contracts, transactions, wallets, and network communication.

Classes

AbiDeserializer
Deserializes smart contract query responses.
AbiEndpoint
Smart contract endpoint (function) in the ABI.
AbiEndpoints
Collection of smart contract endpoints.
AbiParameter
Smart contract function parameter definition.
AbiRegistry
Registry for loading and managing multiple contract ABIs.
AbiType
Base class for all ABI types.
AbiTypeFactory
Factory for creating AbiType instances from type strings and formulas.
Account
Account on the network with local signing. Can be created from PEM, mnemonic, keystore, or secret key. Implements IAccount interface for signing transactions and messages.
AccountAwaiter
Waits for account state changes on the blockchain with polling. Provides async waiting for nonce increments, balance changes, and custom conditions.
AccountAwaitingOptions
Configuration options for account polling and waiting.
AccountController
Controller for account management operations.
AccountGuardian
Guardian information for account security. Guardians add an extra signature requirement for transactions, enhancing security.
AccountOnNetwork
Account state snapshot from the blockchain. Contains balance, nonce, smart contract data, guardians, and other on-chain state.
AccountStorage
Smart contract account storage with key-value pairs. Each entry is a key-value pair stored in the contract's state.
AccountStorageEntry
Smart contract storage key-value pair entry. Both key and value are stored as hex strings exactly as returned by the network; use decodedValue to get the UTF-8 interpretation of the raw storage bytes.
AccountTransactionsConfig
Configuration for account management transactions. Defines gas limits for key-value storage and guardian operations.
AccountTransactionsFactory
Factory for creating account management transactions.
AddNodesInput
Input for adding validator nodes to delegation contract.
AddQuantityResult
Result of add quantity operation.
Address
MultiversX blockchain address.
AddressBinaryCodec
Codec for Address values (32 bytes).
AddressComputer
Helper for computing smart contract addresses.
AddressType
MultiversX address type (32 bytes for accounts or smart contracts).
AddressValue
MultiversX address value (32 bytes).
ApiNetworkProvider
API Network Provider for MultiversX REST API.
ArgSerializer
Argument serializer for ABI encoding/decoding.
ArgSerializerOptions
Options for argument serializer.
ArgumentEncoder
Encodes arguments for smart contract calls with type validation.
ArgumentsCardinality
Describes the argument count constraints for an endpoint.
ArrayBinaryCodec
Binary codec for Array type (fixed-length, no length prefix).
ArrayType
Fixed-length array type with N elements of type T.
ArrayValue
Fixed-length array value with typed elements.
Balance
EGLD balance. Provides conversion between attoEGLD (atomic units) and EGLD (human-readable). Supports arithmetic operations with overflow protection.
BaseController
Base controller providing common transaction setup functionality.
BaseControllerInput
Base options for controller methods with optional overrides.
BaseFactory
Base factory helper exposing gas-limit resolution with an optional estimator.
BaseInput
Input for metadata operations.
BaseNetworkProvider
Base class for MultiversX network providers.
BatchConfig
Batch operation configuration. Configures concurrency limits, error handling, timeouts, and delays with preset options.
BatchHelper
Executes batch operations with concurrency control. Manages parallel execution with configurable limits, error handling, and progress tracking.
BatchItemResult<T>
Batch processing results and statistics. Container classes for batch operation results with successes, failures, and metrics. Batch item result (success or failure). Represents outcome of a single batch item with data or error.
BatchQuerySpec
Specification for a batch query operation.
BatchResult<T>
Batch operation result with all item results. Aggregates results from batch operation with successes, failures, and statistics.
Bech32Encoder
Bech32 encoder for MultiversX addresses (BIP-0173).
BigFloatType
Arbitrary precision floating-point type.
BigFloatValue
Native value wrapper for BigFloatType.
BigIntNumericalValue
Base for BigInt-storage numerical values (U64, I64).
BigIntType
Arbitrary precision signed integer type.
BigIntValue
Arbitrary precision signed integer value.
BigUIntType
Arbitrary precision unsigned integer type.
BigUIntValue
Arbitrary precision unsigned integer value.
BinaryBuilder
Efficient binary buffer builder with dynamic growth.
BinaryCodec
Main binary codec orchestrator delegating to specialized codecs by type.
BinaryCodecConstraints
Constraints for binary codec operations to prevent resource exhaustion.
BinaryCodecUtils
Utility functions for binary codec operations.
BlockOnNetwork
Block metadata as observed on the MultiversX network.
BooleanBinaryCodec
Codec for Boolean values.
BooleanType
Boolean type encoded as a single byte (0x00 or 0x01).
BooleanValue
Boolean value (true or false).
BurnQuantityResult
Result of burn quantity operation.
BurnRoleGloballyInput
Input for setting burn role globally.
BytesBinaryCodec
Codec for Bytes values.
BytesType
Bytes type for variable-length binary data.
BytesValue
Bytes value for arbitrary binary data.
CacheConfig
Cache configuration for endpoints. Defines cache behavior including TTL, size limits, and error caching.
CacheEntry<T>
LRU cache implementation with TTL expiration. Automatically evicts oldest entries when at capacity and removes expired entries.
CacheManager
Manages API response caching.
ChainId
Chain ID for a transaction. Prevents transactions from being replayed on different networks. Values: '1' (Mainnet), 'D' (Devnet), 'T' (Testnet).
ChainTimestamp
Unit-agnostic reader for chain timestamps whose unit is not stable.
ChangeConfigInput
Input for changeConfig.
ChangeServiceFeeInput
Input for changing service fee.
ChangeToDynamicResult
Result of change token to dynamic operation.
ChangeTokenToDynamicInput
Input for changing token to dynamic.
ChangingRewardsAddressInput
Input for changeRewardAddress.
ChangingValidatorKeysInput
Input for changeValidatorKeys.
CircuitBreaker
Circuit breaker pattern for protecting external service calls from cascading failures. Prevents repeated calls to failing services using closed, open, and half-open states.
ClaimDeveloperRewards
A ClaimDeveloperRewards call.
CleanRegisteredDataOutcome
Outcome of a cleanRegisteredData transaction.
ClearEndedProposalsInput
Input for clearEndedProposals.
CloseProposalInput
Input for closeProposal.
CloseProposalOutcome
Result of a closeProposal event. Carries the commit hash and the boolean pass/fail status of the proposal at closing time.
CodeMetadata
Smart-contract code metadata flags as returned by Gateway / API.
CodeMetadataBinaryCodec
Codec for CodeMetadata (2-byte flags) values.
CodeMetadataType
CodeMetadata type for smart contract metadata flags.
CodeMetadataValue
CodeMetadata value.
CollectionUtils
Static utility class for collection operations.
CompositeType
Composite type for legacy multi-value encoding (multi<T1, T2, ...>).
CompositeValue
Composite value with multiple fields encoded as separate arguments.
ConsoleLogger
Console logger with formatted, colorized output and optional borders. Supports ANSI colors, pretty-printed JSON context, timestamps, and error formatting.
ContractCall
A plain contract call (no token transfer prefix).
ContractChangeOwner
A ChangeOwnerAddress@<newOwner> call.
ContractDeploy
A contract deployment (receiver is the zero address, data starts with the WASM bytecode, then VM type, then code metadata, then constructor args).
ContractUpgrade
An upgradeContract@... call.
CreateDelegationContractResult
Result of creating delegation contract. Contains the address of the newly deployed delegation smart contract.
CustomType
Base class for custom/user-defined types.
DecodedContractCall
The data-field-level view of <function>@<argHex>....
DecodedTransaction
Decoded interpretation of a Transaction's data field.
Decryptor
Decrypts wallet keystores using password-based decryption with Scrypt and AES-128-CTR. Handles key derivation, MAC verification, and AES-CTR decryption.
DelegateInput
Input for delegating funds.
DelegateVoteOutcome
Result of a delegateVote event. Carries the delegated voter address alongside the standard vote payload (nonce, choice, user stake, voting power).
DelegationController
Controller for delegation and staking operations. Extends BaseController for gas estimation and signing.
DelegationOutcomeParser
Parser for delegation transaction outcomes. Extracts structured results from delegation transactions by analyzing logs and events.
DelegationTransactionsConfig
Configuration for delegation transactions. Defines gas limits for delegation and staking operations.
DelegationTransactionsFactory
Factory for creating delegation and staking transactions.
DeployedContract
Information about deployed contract. Contains contract address, owner address, and code hash from SCDeploy event.
DevnetEntrypoint
Devnet-flavoured NetworkEntrypoint.
DevnetNetworkConfiguration
Network configuration for devnet. Chain ID is 'D' with development defaults.
DevnetProxyEntrypoint
Devnet-flavoured ProxyNetworkEntrypoint.
Ed25519Crypto
Ed25519 cryptographic operations with automatic memory zeroing. Wraps cryptography package for secure key material handling.
EgldOrEsdtTokenIdentifier
Typed wrapper that holds either an ESDT identifier or the EGLD sentinel.
EgldOrEsdtTokenIdentifierType
EgldOrEsdtTokenIdentifier type for EGLD or ESDT tokens.
EgldOrEsdtTokenIdentifierValue
EgldOrEsdtTokenIdentifier value.
EgldOrEsdtTokenPayment
Payment that may carry either EGLD or an ESDT.
EgldOrEsdtTokenPaymentType
ABI struct type for EgldOrEsdtTokenPayment, whose fields encode in the on-wire order (identifier, nonce, amount).
EncryptedData
Encrypted wallet data container for password-based encryption. Stores ciphertext, KDF parameters, and authentication MAC in keystore format.
Encryptor
Encrypts wallet data using password-based encryption with Scrypt and AES-128-CTR. Provides methods for key derivation, encryption, and MAC computation.
EndpointDefinition
Defines a smart contract endpoint with input and output parameters.
EndpointParameterDefinition
Defines a smart contract endpoint parameter with name, description, and type.
EndpointResolver
Resolves and validates endpoints from ABI.
EntrypointUrls
Public REST endpoints for the official MultiversX networks.
EnumBinaryCodec
Binary codec for Enum type (1-byte discriminant + optional fields).
EnumBuilder
Builder for creating EnumType instances with discriminated variants. Provides a chainable API for building enum types with variants that can have fields.
EnumType
Enum type with named variants and discriminants.
EnumValue
Enum value representing a selected variant with optional fields.
EnumVariantDefinition
Variant definition for enum types with name, discriminant, and optional fields.
EsdtTokenIdentifierType
EsdtTokenIdentifier type — the EsdtTokenIdentifier spelling of a token identifier as it appears in ABI JSON.
EsdtTokenIdentifierValue
EsdtTokenIdentifier value.
EsdtTokenPayment
Payment of an ESDT token (identifier + nonce + amount).
EsdtTokenPaymentType
ABI struct type for EsdtTokenPayment, whose fields encode in the on-wire order (identifier, nonce, amount).
EsdtTransfer
Single ESDT (fungible) transfer via the built-in ESDTTransfer function.
EventConversionResult<T>
Event conversion result with success or failure state.
EventConverter
Event converter utility for typed event model conversion.
EventDeduplicator
EventDefinition
Smart contract event definition from ABI.
EventDefinitions
Collection of event definitions for smart contract.
EventTopicDefinition
Event topic (field) definition.
ExplicitEnumBinaryCodec
Binary codec for ExplicitEnum type (uses variant name strings).
ExplicitEnumType
Explicit enum type with arbitrary discriminant values.
ExplicitEnumTypeRegistry
Minimal registry interface for ExplicitEnumType.fromRegistry.
ExplicitEnumValue
ExplicitEnum value representing a selected variant.
ExplicitEnumVariantDefinition
Variant definition for explicit enum types with arbitrary discriminants.
Field
Field with name and typed value.
FieldDefinition
Definition of a field in a struct or tuple with name and type.
Fields
Collection of fields for structs and tuples.
FreezeResult
Result of freeze operation.
FungibleSpecialRoleInput
Input for setting special role on fungible token.
GasEstimationResult
Gas estimation result with confidence scoring. Confidence score (0.0-1.0) indicates estimation reliability.
GasEstimator
Estimates gas limits for smart contract transactions using network simulation.
GasLimit
Gas limit for transaction execution with validation.
GasPrice
Gas price for transaction fee calculation. Represents price per gas unit in smallest denomination (10^-18 EGLD). Gas price specification with validation.
GasPriceModifier
Gas price modifier for transaction fee calculations. Used to compute the effective gas price for processing gas.
GatewayEconomics
Chain-level economics metrics served by the Gateway's GET /network/economics.
GatewayNetworkProvider
Gateway Network Provider for MultiversX Gateway (Proxy).
GovernanceController
Controller for governance system-contract operations.
GovernanceOutcomeParser
Parser for governance transaction outcomes.
GovernanceTransactionsConfig
Configuration for the governance factory.
GovernanceTransactionsFactory
Builds governance system-SC transactions.
Guardian
Single guardian entry exposed by getGuardianData.
GuardianData
Full response payload of the getGuardianData endpoint.
H256BinaryCodec
Codec for H256 (32-byte hash) values.
H256Type
H256 type for 256-bit hashes (32 bytes).
H256Value
H256 value for 256-bit hash.
HexUtils
Utility functions for hex encoding and decoding. Static utility class for converting between hex strings, byte arrays, and UTF-8 strings.
HyperblockOnNetwork
Hyperblock — a cross-shard finalized block.
I16Type
16-bit signed integer type (-32,768 to 32,767).
I16Value
16-bit signed integer value.
I32Type
32-bit signed integer type (-2,147,483,648 to 2,147,483,647).
I32Value
32-bit signed integer value.
I64Type
64-bit signed integer type.
I64Value
64-bit signed integer value.
I8Type
8-bit signed integer type (-128 to 127).
I8Value
8-bit signed integer value.
IAccount
Account abstraction for signing transactions and messages. Interface for signing transactions and messages. Implementations include Account (local signing with private key) and remote signers (hardware wallets, custodial services).
IBinaryCodec
Forward declaration interface for BinaryCodec.
ICodec
Interface for binary codec operations.
IGasLimitEstimator
Interface for gas limit estimation.
InputParameters
Collection of input parameters for smart contract function.
IntNumericalValue
Base for int-storage numerical values (U8, U16, U32, I8, I16, I32).
IssueFungibleInput
Input for issuing fungible tokens.
IssueFungibleResult
Result of issuing fungible token. Contains the token identifier assigned by the ESDT system contract.
IssueInput
Input for token issuance.
IssueNonFungibleInput
Input for issuing non-fungible tokens.
IssueNonFungibleResult
Result of issuing non-fungible token collection.
IssueSemiFungibleResult
Result of issuing semi-fungible token collection.
JsonUtils
Utilities for JSON parsing. Static utility class for parsing loose JSON types from wallet providers.
ListBinaryCodec
Binary codec for List type (4-byte length prefix + items).
ListType
Variable-length list type for elements of type T.
ListValue
Variable-length list value with typed elements.
LocalBurnInput
Input for local burn.
LocalBurnResult
Result of local burn operation.
LocalMintInput
Input for local mint.
LocalMintResult
Result of local mint operation.
Logger
Abstract logger interface for MultiversX SDK. Defines logging contract with severity levels and structured context.
LRUCache<K, V>
LRU cache with TTL support.
MainnetEntrypoint
Mainnet-flavoured NetworkEntrypoint.
MainnetNetworkConfiguration
Network configuration for mainnet. Chain ID is '1' with production defaults.
MainnetProxyEntrypoint
Mainnet-flavoured ProxyNetworkEntrypoint.
ManagedByteArrayBinaryCodec
Codec for ManagedByteArray<N> values.
ManagedByteArrayType
ManagedByteArray type for arbitrary fixed-length byte arrays.
ManagedByteArrayValue
ManagedByteArray value wrapping a Uint8List of the type's exact length.
ManagedDecimalBinaryCodec
Codec for ManagedDecimal values.
ManagedDecimalSignedType
Convenience type for signed ManagedDecimal.
ManagedDecimalSignedValue
Convenience value for signed ManagedDecimal.
ManagedDecimalType
ManagedDecimal type for fixed-point decimals with scale metadata.
ManagedDecimalValue
ManagedDecimal value representing a fixed-point decimal.
ManageDelegationContractInput
Input for managing delegation contract settings.
ManagementInput
Input for management operations.
ManageMetadataInput
Input for managing metadata.
ManageNodesInput
Input for managing nodes (remove, stake, unstake, unbond).
Message
Message in the MultiversX ecosystem. Used for authentication, proof of ownership, or other non-transaction signatures. Messages are signed with the standard messagePrefix.
MessageComputer
Computes the canonical byte payload that MultiversX signs and verifies for arbitrary off-chain messages.
MetadataRecreateResult
Result of metadata recreate operation.
MintInput
Input for creating NFT.
Mnemonic
BIP39 mnemonic phrase for hierarchical deterministic key derivation. Uses BIP44 path m/44'/508'/0'/0'/index' for MultiversX addresses with secure memory handling.
ModifyCreatorResult
Result of modify creator operation.
ModifyDelegationCapInput
Input for modifying delegation cap.
ModifyRoyaltiesInput
Input for modifying royalties.
ModifyRoyaltiesResult
Result of modify royalties operation.
MultisigActionOutcome
Outcome of a multisig sign / unsign / discard transaction.
MultisigController
Controller for multisig system-contract operations.
MultisigPerformActionOutcome
Outcome of a multisig performAction transaction.
MultisigProposalOutcome
Outcome of a multisig propose* transaction.
MultisigTransactionsConfig
Configuration for MultisigTransactionsFactory.
MultisigTransactionsFactory
Builds unsigned multisig system-contract transactions.
MultiTransfer
Multiple ESDT/NFT/MetaESDT transfers in one call via MultiESDTNFTTransfer.
MultiTransferItem
A single leg of a MultiESDTNFTTransfer.
MultiValueBinaryCodec
Codec for MultiValue<...> typed values.
MultiValueType
Multi-value grouping of independent top-level arguments.
MultiValueValue
Value matching a MultiValueType — N independent typed values.
NativeEgldTransfer
Native EGLD transfer — no ESDT, no contract call.
NativeSerializer
Serializer that converts native Dart values to ABI typed values.
NativeTransferInput
Input for native EGLD transfer.
NetworkConfig
NetworkConfiguration
Network configuration for MultiversX blockchain. Contains gas limits, gas prices, chain ID, and transaction version. Use factory constructors for mainnet/testnet/devnet. Sealed class ensures all configurations inherit from this base.
NetworkEconomics
Represents the economics data of the MultiversX network.
NetworkEntrypoint
Top-level façade over the SDK.
NetworkProvider
Network provider interface for interacting with MultiversX blockchain. Implementations include ApiNetworkProvider and GatewayNetworkProvider.
NetworkProviderConfig
Configuration options forwarded into a BaseNetworkProvider.
NetworkStatus
Network status representing current blockchain state. Provides current epoch, round numbers, and block height information.
NewDelegationContractInput
Input for creating a new delegation contract.
NewProposalInput
Input for proposal.
NewProposalOutcome
Result of a proposal event emitted when a new governance proposal is created. Carries the proposal nonce, the commit hash that identifies the proposal text, and the start/end voting epochs.
NftCreateResult
Result of NFT creation.
NftTransfer
Single NFT / SFT / MetaESDT transfer via ESDTNFTTransfer.
Nonce
Nonce for cryptographic operations. Each transaction from an account must have a unique, incrementing nonce.
NonceManager
Stateful nonce allocator for a single address.
NothingBinaryCodec
Codec for Nothing values (empty/void type).
NothingType
Nothing type for void/empty values.
NothingValue
Nothing value for void/empty.
NullLogger
Null logger that silently discards all log messages.
NumericalBinaryCodec
Binary codec for numerical types.
NumericalType
Base type for all numerical ABI types.
NumericalValue
Base value for all numerical ABI values.
OptionalBinaryCodec
Codec for Optional values (function arguments that can be omitted).
OptionalType
Algebraic optional type for function arguments that can be omitted.
OptionalValue
Algebraic optional value representing provided or missing argument.
OptionBinaryCodec
Binary codec for Option type (0x00 for None, 0x01+value for Some).
OptionType
Optional type that can contain a value or be empty.
OptionValue
Optional value representing Some(value) or None.
OutputParameters
Collection of output parameters for smart contract function.
PagedResult<T>
Container for paginated data with metadata and navigation. Wraps page items with pagination information and navigation helpers.
PaginationParams
Parameters for pagination requests.
Paginator<T>
Helper for managing paginated data fetching with caching and prefetching. Provides automatic page caching, navigation helpers, and streaming across pages.
PaginatorConfig
Configuration options for Paginator behavior.
ParameterDefinition
Parameter definition for endpoint functions.
ParsedEvent
Parsed event with raw event data, ABI definition, and decoded typed values. Provides access to event data and decoded parameter values by name.
ParsedSmartContractCallOutcome
Result of smart contract execution. Contains execution status and decoded return values based on ABI or raw buffers.
PauseResult
Result of pause operation.
PausingInput
Input for pause operations.
PemEntry
PEM entry with label and key data for import and export.
PrimitiveBinaryCodec
Orchestrator codec for all primitive types.
PrimitiveType
Base class for all primitive types.
ProposeAddBoardMemberInput
Input for proposing a new board member.
ProposeAddProposerInput
Input for proposing a new proposer.
ProposeAsyncCallInput
Input for proposing an async-call.
ProposeChangeQuorumInput
Input for proposing a quorum change.
ProposeRemoveUserInput
Input for proposing a user removal.
ProposeTransferExecuteInput
Input for proposing a transfer-execute call.
ProtoSerializer
Protocol Buffer serializer for transactions. Encodes transactions to protobuf format for MultiversX blockchain nodes.
ProxyNetworkEntrypoint
Gateway (Proxy) variant of NetworkEntrypoint.
PubkeyDecryptor
Public key decryptor using X25519-XSalsa20-Poly1305 authenticated decryption. Verifies sender signature before decrypting with ECDH shared secret.
PubkeyEncryptor
Public key encryptor using X25519-XSalsa20-Poly1305 authenticated encryption. Combines ECDH key exchange with XSalsa20 cipher and Poly1305 MAC.
QueryResult
Result of a smart contract query containing both raw and typed data.
Randomness
Cryptographically secure random values for encryption operations. Provides salt, IV, and unique identifiers using Random.secure().
RawQueryResult
Result of a smart contract query without ABI parsing.
RegisterAndSetAllRolesResult
Result of register and set all roles operation.
RegisterDynamicResult
Result of register dynamic token operation.
RegisteringDynamicTokenInput
Input for registering dynamic token.
RegisterMetaESDTInput
Input for registering Meta-ESDT.
RegisterMetaEsdtResult
Result of registering meta-ESDT token.
RegisterRolesInput
Input for registering and setting all roles.
RelayedTransactionsConfig
Gas / chain-ID configuration for the relayer factory.
RelayedTransactionsFactory
Turns a user transaction into a relayed-v3 transaction by attaching the relayer that pays its fee.
RequestThrottle
Token-bucket throttle for outbound HTTP traffic.
ResponseCachePolicy
Policy controlling in-process caching of GET responses inside BaseNetworkProvider.doGetGeneric.
ResponseParser
Parses smart contract responses with ABI-based type safety.
RestakeUnstakedNodesInput
Input for restake-unstaked-nodes.
RestakeUnstakedOutcome
Outcome of a reStakeUnStakedNodes transaction.
RetryConfig
Configuration for retry logic with exponential backoff.
RetryHelper
Helper for executing operations with automatic retry and exponential backoff. Retries failed operations with configurable backoff strategy and timeout per attempt.
RetryPolicy
Policy controlling automatic retry of transient HTTP failures inside BaseNetworkProvider.doGetGeneric / doPostGeneric (M2-15).
ReturnCode
Smart contract execution return codes with categorization.
SaveKeyValueInput
Input for saving key-value pairs to account storage.
ScryptKeyDerivationParams
Scrypt key derivation function parameters per RFC 7914.
SemiFungibleSpecialRoleInput
Input for setting special role on semi-fungible token.
SendTransactionsResult
Result of broadcasting multiple transactions in one call.
SendTxFailure
Failed broadcast: the node rejected the transaction.
SendTxOutcome
Outcome for a single tx inside a bulk send.
SendTxSuccess
Successful broadcast: the node accepted the transaction and returned hash.
SetGuardianInput
Input for setting guardian (2FA protection).
SetMetadataInput
Input for setting metadata.
SetNewUriInput
Input for setting new URIs.
SetNewUrisResult
Result of set new URIs operation.
SetSpecialRoleResult
Result of setting special roles.
SignActionInput
Input for sign / unsign / performAction / discardAction.
Signature
Cryptographic signature. Used for transaction signing, message signing, and signature verification.
SignedValidatorPublicKey
A BLS validator public key paired with the BLS signature proving key ownership. Both halves must be produced externally; this SDK only shuttles them into the staking tx data field.
SmartContractAbi
Complete ABI of a smart contract with endpoints, events, and custom types.
SmartContractCallFactory
Factory for creating unsigned smart contract call transactions.
SmartContractController
Smart contract controller providing query and call functionality.
SmartContractDeployOutcome
Result of smart contract deployment. Contains deployment status and list of deployed contracts with addresses, owners, and code hashes.
SmartContractEventRunner
Runner for smart contract event operations.
SmartContractFunction
Smart contract function with name and arguments.
SmartContractOutcomeParser
Parser for smart contract transaction outcomes. Extracts and decodes results from transaction logs with optional ABI support.
SmartContractQuery
Complete smart contract query combining input and execution.
SmartContractQueryInput
Input parameters for smart contract queries with optional ABI validation.
SmartContractQueryResponse
Smart contract query response containing results or errors.
SmartContractQueryRunner
Executes smart contract queries with a single unified API.
SmartContractResult
Cross-shard / asynchronous execution output generated by the VM.
SmartContractTransactionsConfig
Configuration constants for the SC lifecycle factory.
SmartContractTransactionsFactory
Builds deploy / upgrade / change-owner / claim-developer-rewards transactions. Gas floors are additive over a caller-supplied processing allowance; pass an explicit gasLimit or accept the default which covers the move-balance portion only.
SpecialRoleInput
Input for setting special role on non-fungible token.
StakeOutcome
Outcome of a stake transaction.
StakeValidatorsInput
Input for staking validator nodes.
StakingTransactionsConfig
Gas + per-op defaults for the staking factory.
StakingTransactionsFactory
Builds transactions against the direct-staking system SC.
StringBinaryCodec
Codec for String values.
StringType
UTF-8 string type for variable-length encoded strings.
StringUtils
String utility functions for text comparison and manipulation. Static utility class for string operations.
StringValue
UTF-8 string value.
StructBinaryCodec
Binary codec for Struct type (concatenated field encodings).
StructBuilder
Builder for creating StructType instances.
StructType
Struct type with named fields and specific types.
StructValue
Struct value with named fields and actual values.
TestnetEntrypoint
Testnet-flavoured NetworkEntrypoint.
TestnetNetworkConfiguration
Network configuration for testnet. Chain ID is 'T' with testing defaults.
TestnetProxyEntrypoint
Testnet-flavoured ProxyNetworkEntrypoint.
ThrottlePolicy
Policy controlling client-side request throttling inside BaseNetworkProvider.
Token
Plain DTO describing a token instance: its identifier and (optional) nonce.
TokenComputer
Helper for slicing / composing extended token identifiers (TICKER-randomseq[-noncehex]) and inspecting Token properties.
TokenIdentifier
Typed wrapper over an ESDT/NFT/SFT/META token identifier string.
TokenIdentifierBinaryCodec
Codec for TokenIdentifier values.
TokenIdentifierType
TokenIdentifier type for ESDT token identifiers.
TokenIdentifierValue
TokenIdentifier value.
TokenManagementConfig
Configuration for token management transactions. Defines gas limits and costs for ESDT token operations.
TokenManagementController
Controller for token management operations.
TokenManagementOutcomeParser
Parser for token management transaction outcomes.
TokenManagementTransactionsFactory
Factory for creating token management transactions.
TokenOnNetwork
TokenProperties
Token properties for issuance.
TokenTransfer
Represents token transfer. Encapsulates single token transfer with identifier, amount, and optional nonce.
TokenTransferInput
Input for ESDT token transfers (single or multiple).
TokenTransfersDataBuilder
Builds transaction data parts for ESDT token transfers. Encodes token transfers according to MultiversX protocol specifications.
TokenTransferType
ABI type for token transfers.
TokenTransferValue
Token transfer as ABI type.
ToppingUpInput
Input for topUp (stake additional EGLD without registering nodes).
Transaction
Smart contract transaction with type-safe argument encoding. Use copyWith to create modified versions (e.g., after signing).
TransactionAwaitingOptions
Configuration for transaction polling behavior. Defines timeout, polling interval, and patience period for transaction watching.
TransactionComputer
Utility for transaction serialization, signing, and hashing. Handles protocol serialization.
TransactionDecoder
Parser that turns a Transaction into a typed DecodedTransaction.
TransactionEvent
Represents an event emitted by a smart contract transaction. Contains indexed parameters, non-indexed parameters, and data payload.
TransactionEventParser
Event parser with full ABI codec integration for type-safe decoding. Provides strongly-typed values for event parameters.
TransactionLogs
Logs emitted by a transaction containing all execution events. Provides methods to search, filter, and analyze events including error detection.
TransactionOnNetwork
Transaction on the MultiversX network. Contains original transaction data plus execution metadata: status, block info, results, logs, and gas usage.
TransactionsFactoryConfig
Aggregate configuration consumed by every transactions factory.
TransactionStatus
Transaction execution status on the blockchain. Represents transaction state: pending, executed, success, failed, or invalid.
TransactionVersion
Transaction version identifier for protocol versioning. Transaction version identifier. Represents transaction protocol version as a positive integer.
TransactionWatcher
Polls blockchain to monitor transaction status until completion. Queries blockchain API at regular intervals until condition is met or timeout occurs.
TransfersController
Controller for transfer operations.
TransferTransactionsConfig
Configuration for transfer transactions. Defines gas limits for different transfer types based on data length and token complexity.
TransferTransactionsFactory
Factory for creating token transfer transactions. Low-level factory for building unsigned transfer transactions. Automatically selects appropriate transfer protocol based on token type and count.
TupleBinaryCodec
Binary codec for Tuple type (delegates to StructBinaryCodec).
TupleType
Tuple type with ordered, unnamed fields accessed by index.
TupleValue
Tuple value with ordered element values accessed by index.
TypeBinaryCodec<T extends TypedValue>
Base interface for type-specific binary codecs.
TypedValue
Base class for all typed values (instances of types).
TypeFormula
Type formula for smart contract ABI types.
TypeFormulaLexer
Lexical analyzer for type formula strings.
TypeFormulaParser
Parser for type formula expressions using recursive descent.
TypeMatchCallbacks<T>
Callbacks for type pattern matching.
U16Type
16-bit unsigned integer type (0 to 65,535).
U16Value
16-bit unsigned integer value.
U32Type
32-bit unsigned integer type (0 to 4,294,967,295).
U32Value
32-bit unsigned integer value.
U64Type
64-bit unsigned integer type (0 to 18,446,744,073,709,551,615).
U64Value
64-bit unsigned integer value.
U8Type
8-bit unsigned integer type (0 to 255).
U8Value
8-bit unsigned integer value.
UnBondTokensOutcome
Outcome of an unBondTokens transaction.
UndelegateInput
Input for undelegating funds.
UnfreezeResult
Result of unfreeze operation.
UnjailingInput
Input for unJail.
UnjailingNodesInput
Input for unjailing nodes.
UnknownTransaction
Fallback when the data field is not recognized as any known pattern.
UnpauseResult
Result of unpause operation.
UnsetFungibleSpecialRoleInput
Input for unsetting special role on fungible token.
UnsetSemiFungibleSpecialRoleInput
Input for unsetting special role on semi-fungible token.
UnsetSpecialRoleInput
Input for unsetting special role on non-fungible token.
UnstakeOrUnbondTokensInput
Input for unstake-tokens and unbond-tokens.
UnstakeTokensOutcome
Outcome of an unStakeTokens transaction.
UpdateAttributesInput
Input for updating attributes.
UpdateAttributesResult
Result of update attributes operation.
UpdateInput
Input for update operations.
UpdateMetadataResult
Result of update metadata operation.
UpdateQuantityInput
Input for updating quantity.
UpdateTokenIDInput
Input for updating token ID.
UserAgent
Builds the User-Agent header sent with every network request.
UserPublicKey
Ed25519 public key for address derivation and signature verification.
UserSecretKey
Ed25519 secret key for signing transactions and messages with automatic memory zeroing. Never exposed in logs or toString(), zeros memory when garbage collected or explicitly disposed.
UserSigner
Signs transactions and messages using Ed25519 private keys.
UserVerifier
Ed25519 signature verification for transactions, messages, and arbitrary data. Provides constant-time signature validation using Ed25519 public keys.
UserWallet
Encrypted wallet container for secure key storage. Use static methods to create from keys or load from files.
ValidatorPublicKey
BLS public key used by validators for signature verification. Used in consensus and block signing operations.
ValidatorsController
Controller for validator system-contract operations.
ValidatorSecretKey
BLS secret key used by validators with automatic memory zeroing. Never exposed in logs, zeros memory when garbage collected or explicitly disposed.
ValidatorSigner
Signs messages on behalf of a single BLS validator key.
ValidatorsTransactionsConfig
Configuration for ValidatorsTransactionsFactory.
ValidatorsTransactionsFactory
Builds unsigned validator system-contract transactions.
ValueMatchCallbacks<T>
Callbacks for value pattern matching.
ValuesToStringResult
Result of values to string conversion.
VariadicBinaryCodec
Codec for Variadic values (variable number of items).
VariadicBuilder<T extends AbiType>
Builder for VariadicValue with type-safe value addition.
VariadicType
Variadic type for multi-value arguments.
VariadicValue
Variadic value for multiple values of same type.
VoteInput
Input for vote.
VoteOutcome
Result of a vote event. Carries the proposal nonce, the encoded vote choice (e.g. yes/no/abstain), the total stake bound to the vote, and the effective voting power.
WebSocketEventError
Error information for WebSocket failures.
WebSocketEventResult
Result of a WebSocket event with raw and parsed data.
WebSocketEventStream
MultiversX WebSocket event streaming client with auto-reconnection.
WebSocketEventStreamConfig
Configuration for WebSocket event streaming with connection options.
WebSocketStatusChange
Status change event.
WipeResult
Result of wipe operation.
WithdrawInput
Input for withdrawing/claiming from delegation contract.
X25519EncryptedData
Encrypted data container for X25519-XSalsa20-Poly1305 encryption. Stores ciphertext, MAC, nonce, and identity information for serialization.
X25519Identities
Identity information for X25519 encryption with recipient, originator, and ephemeral keys. Stores hex-encoded Ed25519 public keys for all parties involved in encryption.

Enums

CircuitState
Circuit breaker states for fault tolerance management. Controls request flow through closed, open, and half-open states.
EncryptorVersion
Keystore encryption version.
EndpointType
Types of smart contract endpoints.
LogLevel
Log level enum for categorizing log messages by severity. Levels from least to most severe: debug, info, warning, error, critical.
SortOrder
Sort order for pagination.
TransferType
Transfer type based on tokens.
UserWalletKind
VoteType
Vote option on a governance proposal.
WebSocketEventType
Type of events to receive from MultiversX WebSocket notifier.
WebSocketStatus
Status of the WebSocket connection.

Mixins

ValidationMixin
Validation methods for binary codec buffer operations.

Extensions

AbiDeserializerExtensions on AbiDeserializer
Extension methods for easier deserialization.
AbiTypeExtensions on AbiType
Extension providing backward-compatible methods and factories.
AbiTypeFactoryExtensions on AbiTypeFactory
Type-safe helpers for ABI type and value handling.
AbiTypeOrThrowExtensions on AbiType
Type-safe value creation extensions for AbiType.
AbiTypeValidationExtensions on AbiType
Extensions for convenient type checking with clear error messages.
AccountSignerExtensions on Account
Extension to convert Account to UserSigner.
AddressAbiExtensions on Address
ABI integration extensions for Address.
AddressValueExtensions on AddressValue
ABI integration extensions for AddressValue.
BalanceAbiExtensions on Balance
ABI integration extensions for Balance.
BalanceAbiUtilityExtensions on Balance
Additional utility extensions for Balance-ABI conversions.
BalanceFromAbiExtensions on BigUIntValue
Factory methods for creating Balance from ABI types.
EnumBuilderExtensions on EnumBuilder
Extension methods for common enum patterns.
GasLimitAbiExtensions on GasLimit
ABI integration extensions for GasLimit.
GasLimitFromAbiExtensions on U64Value
Factory methods for creating GasLimit from ABI types.
GasPriceAbiExtensions on GasPrice
ABI integration extensions for GasPrice.
GasPriceFromAbiExtensions on U64Value
Factory methods for creating GasPrice from ABI types.
NonceAbiExtensions on Nonce
ABI integration extensions for Nonce.
NonceFromAbiExtensions on U64Value
Factory methods for creating Nonce from ABI types.
NumericalConversions on NumericalValue
Conversion methods for all numerical types.
ReturnCodeNullableStringExtension on String?
Extension methods for working with optional return code strings.
ReturnCodeStringExtension on String
Extension methods for converting strings to ReturnCode.
StructBuilderExtensions on StructBuilder
Extension methods for common struct patterns.
TransactionSigningExtensions on Transaction
Extension methods for signing transactions as relayer or guardian.
TypeCardinalityExtension on TypeCardinality
Extension methods for TypeCardinality record.
TypedValueExtensions on TypedValue
Extensions for TypedValue to provide type-safe conversions.
TypedValueValidationExtensions on TypedValue
Extensions for TypedValue validation with clear error messages.
VariadicBuilderExtensions on VariadicBuilder<T>
Extension methods for common variadic patterns.

Constants

additionalGasForEsdtNftTransfer → const int
additionalGasForEsdtTransfer → const int
Constants for gas estimation
bip44DerivationPrefix → const String
canonicalMessagePrefix → const String
Canonical message-signing prefix as defined by the MultiversX protocol.
cipherAlgorithm → const String
Cryptographic constants for wallet encryption, decryption, and key derivation. Defines AES-128-CTR, SHA-256, Scrypt, and X25519-XSalsa20-Poly1305 identifiers. AES-128-CTR cipher algorithm identifier.
defaultChainId → const String
Default chain ID (mainnet).
defaultGasPerDataByte → const int
Default gas cost per data byte.
defaultGasPriceModifier → const double
Default gas price modifier (1% increase for network variability).
defaultMinGasLimit → const int
Default minimum gas limit.
defaultMinGasPrice → const int
Default minimum gas price (1 Gwei = 10^9 attoEGLD).
defaultMinTransactionVersion → const int
Default minimum transaction version.
delegationManagerContractBech32 → const String
Bech32 address of the delegation-manager system contract.
denomination → const int
Decimal places for EGLD denomination.
digestAlgorithm → const String
SHA-256 hash algorithm identifier.
dynamicTokenTypes → const Set<String>
Token type arguments accepted by the dynamic registration endpoints.
egldIdentifier → const String
The native MultiversX token identifier used in MultiESDTNFTTransfer payloads to denote EGLD.
egldIdentifierForMultiTransfer → const String
Identifier for native EGLD inside a MultiESDTNFTTransfer payload.
esdtContractAddressHex → const String
ESDT system smart contract address
extraGasLimitForGuardedTransactions → const int
Extra gas limit for guarded transactions (50,000 gas).
extraGasLimitForRelayedTransactions → const int
Extra gas limit for relayed transactions (50,000 gas).
governanceContractAddressHex → const String
The governance system smart contract; its last four bytes are 0003ffff.
governanceContractBech32 → const String
The governance system smart contract, in bech32 form.
i16Max → const int
I16 maximum value (32,767).
i16Min → const int
I16 minimum value (-32,768).
i32Max → const int
I32 maximum value (2,147,483,647).
i32Min → const int
I32 minimum value (-2,147,483,648).
i8Max → const int
I8 maximum value (127).
i8Min → const int
I8 minimum value (-128).
keyDerivationFunction → const String
Scrypt key derivation function identifier.
messagePrefix → const String
Prefix for signed messages.
minTransactionVersionThatSupportsOptions → const int
Minimum transaction version supporting options.
mnemonicStrength → const int
pubKeyEncCipher → const String
X25519-XSalsa20-Poly1305 cipher identifier.
pubKeyEncNonceLength → const int
X25519-XSalsa20-Poly1305 nonce length in bytes.
pubKeyEncVersion → const int
X25519-XSalsa20-Poly1305 version number.
stakingContractAddressHex → const String
Validator ("auction") system smart contract address, in hex; its last four bytes are 0001ffff.
stakingContractBech32 → const String
Validator ("auction") system smart contract address, in bech32 form.
tokenTypeFungible → const String
Token type argument denoting a fungible ESDT.
tokenTypeMeta → const String
Token type argument denoting a MetaESDT.
tokenTypes → const Set<String>
Token type arguments accepted by registerAndSetAllRoles.
transactionOptionsDefault → const int
Transaction constants and option flags. Transaction options bit flags.
transactionOptionsTxGuarded → const int
transactionOptionsTxHashSign → const int
u16Max → const int
U16 maximum value (65,535).
u32Max → const int
U32 maximum value (4,294,967,295).
u8Max → const int
U8 maximum value (255).
userPubkeyLength → const int
userSeedLength → const int
validatorPublicKeyLength → const int
validatorSecretKeyLength → const int

Properties

i64Max BigInt
I64 maximum value (9,223,372,036,854,775,807).
final
i64Min BigInt
I64 minimum value (-9,223,372,036,854,775,808).
final
oneEGLD BigInt
One EGLD in smallest unit (attoEGLD).
final
u64Max BigInt
U64 maximum value (18,446,744,073,709,551,615).
final

Functions

determineTransferType(List<TokenTransferValue>? transfers) TransferType
Determines transfer type for given tokens.
emptyTypeNameException() AbiTypeFormulaParseException
Creates error for empty type name.
executeQuery<T>({required String endpointName, required Future<T> action()}) Future<T>
Executes a query with standardized error handling
executeTransaction<T>({required String endpointName, required Future<T> action()}) Future<T>
Executes a transaction creation with standardized error handling
guardLength(dynamic withLength, int expectedLength) → void
Guards that a buffer or string has the expected length.
infer<T>(T value) → T
Forces compile-time type inference for the given value.
mismatchedBracketsException() AbiTypeFormulaParseException
Creates error for mismatched brackets.
onTypedValueSelect<T>(TypedValue value, ValueMatchCallbacks<T> callbacks) → T
Pattern matches on TypedValue and executes appropriate callback.
onTypeSelect<T>(AbiType type, TypeMatchCallbacks<T> callbacks) → T
Pattern matches on AbiType and executes appropriate callback.
optionalAs<T>(dynamic value, String field) → T?
Safely casts a nullable dynamic value to type T? with descriptive error messages.
optionalInt(dynamic value, String field) int?
Safely parses a nullable dynamic value to int? with descriptive error messages.
parseUserKey(String text, {int index = 0}) UserSecretKey
Parses single user key from PEM text at index.
parseUserKeys(String text) List<UserSecretKey>
Parses all user keys from PEM text.
parseValidatorKey(String text, {int index = 0}) ValidatorSecretKey
Parses a single ValidatorSecretKey from a validator PEM file.
parseValidatorKeys(String pemText) List<ValidatorSecretKey>
Parses every ValidatorSecretKey from a validator PEM file.
parseValidatorPem(String text) List<ValidatorSecretKey>
Parses every ValidatorSecretKey from a validator PEM file.
requireAs<T>(dynamic value, String field) → T
Safely casts a dynamic value to type T with descriptive error messages.
requireInt(dynamic value, String field) int
Safely parses a dynamic value to int with descriptive error messages.
simulateGas(Transaction transaction, NetworkProvider networkProvider) Future<GasLimit>
Estimates gas for a transaction using network simulation.
unexpectedCharacterException(String char, int position) AbiTypeFormulaParseException
Creates error for unexpected character.
unexpectedEndException() AbiTypeFormulaParseException
Creates error for unexpected end of input.

Typedefs

IssueSemiFungibleInput = IssueNonFungibleInput
Input for issuing semi-fungible tokens.
ModifyCreatorInput = BaseInput
Input for modifying creator.
SmartContractAddress = Address
Smart contract address type.
TokenNonceBytes = Uint8List
Type alias retained for completeness; some callers prefer working with raw bytes when round-tripping the on-chain wire form.
TypeCallback<T> = T Function()
Callback signature for type pattern matching.
TypeCardinality = ({int lowerBound, int? upperBound})
Type cardinality (multiplicity) as a lightweight record.
ValidatorSignFunction = Uint8List Function(Uint8List message)
Signature for a caller-provided BLS signing closure.

Exceptions / Errors

AbiArgumentSerializationException
Exception thrown when ABI argument serialization fails.
AbiBinaryCodecException
Exception thrown when ABI binary codec fails.
AbidockException
Unified exception hierarchy for the Abidock MultiversX SDK.
AbiNativeSerializationException
Exception thrown when ABI native serialization fails.
AbiNotFoundException
Exception when ABI definition is not provided but required.
AbiTypeFormulaParseException
Exception thrown when ABI type formula parsing fails.
AccountAwaiterException
Exception thrown when account awaiter fails.
AccountAwaiterTimeoutException
Exception thrown when account awaiter times out.
AddressException
Exception thrown when an Address cannot be parsed or validated.
ArgumentEncodingException
Exception for argument encoding failures.
ArgumentValidationException
Exception for argument validation failures.
CircuitBreakerOpenException
Exception thrown when circuit breaker is in open state and rejects requests. Indicates the protected service is temporarily unavailable.
DecryptorException
Exception thrown when wallet decryption fails.
DelegationParseException
Exception for delegation parsing failures. Thrown when outcomes cannot be parsed due to missing data, unexpected format, or transaction errors.
DeserializationException
Exception thrown when deserialization fails.
EndpointNotFoundException
Exception when endpoint is not found in ABI.
EventParsingException
Exception thrown when transaction event parsing fails.
GasEstimationException
Exception for gas estimation failures.
GovernanceParseException
Exception for governance parsing failures. Thrown when outcomes cannot be parsed due to missing data, unexpected format, or transaction errors.
MnemonicException
Exception thrown when mnemonic operations fail.
MultisigParseException
Exception thrown when multisig outcome parsing fails.
NetworkException
Base exception for network operations.
PemException
Exception thrown when PEM parsing fails.
ResponseParsingException
Exception for response parsing failures.
ResponseValidationException
Exception for response validation failures.
SerializationException
Base exception for serialization/deserialization operations.
SignerException
Exception thrown during signing operations.
SmartContractException
Base exception for smart contract operations.
SmartContractParseException
Exception for smart contract parsing failures. Thrown when outcomes cannot be parsed due to missing data, invalid ABI, or unexpected structure.
SmartContractQueryException
Exception for smart contract query failures.
TokenManagementParseException
Exception for token management parsing failures. Thrown when outcomes cannot be parsed due to missing events, errors, or unexpected data format.
TransactionCreationException
Exception thrown when transaction creation or signing fails.
TransactionException
Base exception for transaction operations.
TransactionWatcherException
Exception thrown when transaction watcher fails.
TransactionWatcherTimeoutException
Exception thrown when transaction watcher times out.
UnexpectedEventCountException
Exception for unexpected event count when expecting 0 or 1 events.
ValidationException
Exception thrown when input validation fails.
ValidatorsParseException
Exception thrown when validators outcome parsing fails.
WalletException
Base exception for wallet and cryptographic operations.
WalletLengthException
Exception thrown when buffer/key length validation fails.