2 个不稳定版本

0.2.0 2024 年 1 月 18 日
0.1.0 2023 年 10 月 2 日

#17#borsh

MIT 许可证

6KB
128 代码行

MaxSize

一个 Rust 库,提供了 MaxSize 特性,该特性可以获取结构体或枚举的 borsh 序列化的最大字节数。包括简单类型的实现和 derive 宏,以便于与自定义类型一起使用。

特性

  • MaxSize 特性:获取类型在字节数的最大 borsh 序列化大小。
  • 简单类型的实现:整数、浮点数等。
  • Derive 宏:自动为您的结构体和枚举实现 MaxSize

使用

  1. 将依赖项添加到您的 Cargo.toml
[dependencies]
borsh-max-size = "0.1"

borsh-max-size 包含可选的 arrayvecsolana-program 特性,这些特性增加了对这些库的支持。

  1. 在您的代码中使用 MaxSize 特性
use borsh_max_size::MaxSize;

let max_size = i32::max_size(); // for simple types
assert_eq!(max_size, 4);
  1. 为您的自定义类型 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