#byte-array #tari #utilities #convert #hex #place #hidden

no-std tari_utilities

A set of useful and commonly used utilities that are used in several places in the Tari project

16 releases (7 breaking)

0.7.0 Dec 6, 2023
0.6.2 Nov 30, 2023
0.6.1 Sep 27, 2023
0.5.0 Jul 18, 2023
0.0.1 Mar 29, 2019

#975 in Magic Beans

Download history 868/week @ 2023-12-10 490/week @ 2023-12-17 305/week @ 2023-12-24 491/week @ 2023-12-31 643/week @ 2024-01-07 1183/week @ 2024-01-14 909/week @ 2024-01-21 929/week @ 2024-01-28 1093/week @ 2024-02-04 721/week @ 2024-02-11 768/week @ 2024-02-18 903/week @ 2024-02-25 1075/week @ 2024-03-03 1277/week @ 2024-03-10 1087/week @ 2024-03-17 772/week @ 2024-03-24

4,287 downloads per month
Used in 21 crates (10 directly)

BSD-3-Clause

85KB
1.5K SLoC

Tari Utilities

Coverage Status

This crate is part of the Tari Cryptocurrency project.

A set of useful and commonly used utilities that are used in several places in the Tari project.

bit

Functions for conversion between integer and bit array.

byte_array

A trait that offers representation of data types as a byte array or hex string. See also extend_bytes and message_format.

convert

Function which tries to convert a series of Ts to Us.

encoding

A trait that handles base58 encoding and decoding.

epoch_time

Data structure representing time as a u64.

extend_bytes

A trait allows us to call append_raw_bytes and get the raw bytes of the type.

fixed_set

Data structure describing a fixed set of size n.

hash

A simple Hashable trait which is used to describe how an object should be hashed.

hex

Functions for conversion between binary and hex string.

locks

Macros for RwLock.

message_format

A MessageFormat trait that handles conversion from and to binary, json, or base64.

Hidden

A wrapper type for concealing sensitive information in logs.

Feature Flags

Some of the utilities can be removed with feature flags:

std

This will allow epoch_time, encoding and safe_array

zero

This will include zeroize support

serialize

This will include support for serde

borsh

This will include support for borsh

default

This will include all feature flags.

Dependencies

~1.4–2.4MB
~53K SLoC