47 releases
0.1.20 | Oct 30, 2024 |
---|---|
0.1.9 | Sep 30, 2024 |
0.1.7-beta.2 | Jul 17, 2024 |
0.1.4 | Mar 31, 2024 |
0.0.24 | Nov 26, 2023 |
#3 in #novax
1,167 downloads per month
Used in 6 crates
(4 directly)
52KB
1K
SLoC
novax-data
is a crate designed to facilitate data handling and conversions in blockchain-based applications.
This crate provides a robust set of types and utility functions to ease the conversion and management of data structures when working with MultiversX virtual machine and the associated blockchain technology. It encompasses common patterns for data conversion and parsing, especially around address representations, and error handling.
Core Concepts
-
Native and Managed Type Conversion:
NativeConvertible
andManagedConvertible
are traits provided to bridge the gap between complex smart contract types managed by the MultiversX virtual machine and common Rust types. They facilitate seamless conversions back and forth, supporting a variety of scenarios such as converting aString
to aManagedBuffer
orTokenIdentifier
. -
Address Handling: The
Address
struct along with its associated methods simplify the operations and transformations required when dealing with address representations on the blockchain. -
Data Parsing and Error Handling: Utility functions like
parse_query_return_string_data
andparse_query_return_bytes_data
are provided to parse and decode data from blockchain queries. Comprehensive error types likeDataError
,AddressError
, andUtilsError
centralize error handling, making error propagation and management straightforward.
Usage
Most of the time, developers won't have to include novax-data
directly as a dependency. Its primary purpose is
to serve as a foundational utility crate used by other "novax" crates such as "novax", "novax-executor", "novax-token", etc.
However, if direct usage is required:
use novax_data::{Address, NativeConvertible, ManagedConvertible, parse_query_return_string_data, DataError};
// ... your code here ...
For detailed examples and usage of each type and utility function, refer to their respective module and function documentation.
Modules
types
: Defines core types likeAddress
, and the conversion traitsNativeConvertible
andManagedConvertible
.constants
: (Further details can be provided as needed)error
: Centralizes error definitions includingDataError
,AddressError
, andUtilsError
for robust error handling.utils
: Provides utility functions for data parsing and other common operations.
For a deep dive into each module and to understand the various types, traits, and functions provided, navigate through the module documentation below.
Dependencies
~18–30MB
~476K SLoC