2 个不稳定版本
0.2.0 | 2024 年 1 月 18 日 |
---|---|
0.1.0 | 2023 年 10 月 2 日 |
#17 在 #borsh
6KB
128 代码行
MaxSize
一个 Rust 库,提供了 MaxSize
特性,该特性可以获取结构体或枚举的 borsh 序列化的最大字节数。包括简单类型的实现和 derive 宏,以便于与自定义类型一起使用。
特性
MaxSize
特性:获取类型在字节数的最大 borsh 序列化大小。- 简单类型的实现:整数、浮点数等。
- Derive 宏:自动为您的结构体和枚举实现
MaxSize
。
使用
- 将依赖项添加到您的
Cargo.toml
[dependencies]
borsh-max-size = "0.1"
borsh-max-size
包含可选的 arrayvec
和 solana-program
特性,这些特性增加了对这些库的支持。
- 在您的代码中使用
MaxSize
特性
use borsh_max_size::MaxSize;
let max_size = i32::max_size(); // for simple types
assert_eq!(max_size, 4);
- 为您的自定义类型 derive
MaxSize
use borsh_max_size::MaxSize;
#[derive(MaxSize)]
struct MyStruct {
a: i32,
b: u64,
c: [u8; 4]
}
println!("Max size of MyStruct: {}", MyStruct::max_size());
许可证
本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE.md 文件。
依赖项
~0.3–10MB
~101K SLoC