1 个不稳定版本
0.1.0 | 2023 年 10 月 2 日 |
---|
#27 在 #borsh
在 borsh-max-size 中使用
7KB
88 行
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 文件。
依赖项
~255–700KB
~17K SLoC