1 个不稳定版本
0.7.4 | 2024 年 5 月 30 日 |
---|
#28 在 #solidity
450 每月下载
用于 17 个 crate(9 个直接使用)
650KB
14K SLoC
linera-alloy-sol-types
支持 ABI 和 EIP-712 的 Ethereum 类型系统的编译时表示。
此 crate 提供了一个面向开发者的 Ethereum 类型系统接口,通过表示 Solidity 类型。请参阅 type_system.md 以了解详细信息,以及 crate 文档 以获取更多信息
功能
- 静态表示 Solidity 类型
- ABI 编码和解码
- EIP-712 编码和解码
- EIP-712 域对象 w/
serde
支持
使用方法
有关更多详细信息,请参阅 crate 文档。
// Declare a solidity type in standard solidity
sol! {
struct Foo {
bar: u256;
baz: bool;
}
}
// A corresponding Rust struct is generated!
let foo = Foo {
bar: 42.into(),
baz: true,
};
// Works for UDTs
sol! { type MyType is uint8; }
let my_type = MyType::from(42u8);
// For errors
sol! {
error MyError(
string message,
);
}
// And for functions!
sol! { function myFunc() external returns (uint256); }
许可
此 crate 是 parity 团队编写的 ethabi crate 的重大重构。该代码库根据 MIT 许可证使用。我们在包含 ethabi
代码的文件中保留了原始许可证通知。
依赖关系
~5–8MB
~157K SLoC