2 个版本
0.1.1 | 2022 年 12 月 1 日 |
---|---|
0.1.0 | 2022 年 12 月 1 日 |
#21 in #declare
1,986 每月下载量
在 9 个crate(4 个直接) 中使用
8KB
143 行
实现宏
declare_id!
这个函数与 declare_id!
宏在 solana_program
包中的功能完全相同。在程序的顶部调用它以创建一个名为 ID
的全局变量
use ellipsis_macros::declare_id;
declare_id!("9BoN4yBYwH63LFM9fDamaHK62YjM56hWYZqok7MnAakJ");
declare_pda!
此宏接受一个 base58 编码的 PDA、一个 base-58 编码的程序 ID 以及表示 PDA 种子的字符串字面量。该宏将检查提供的 PDA 是否确实是调用 find_program_address
程序 ID 和种子后的输出。如果成功,则 bump 种子将写入名为 BUMP
的变量,而 PDA 将写入名为 ID
的变量
use ellipsis_macros::declare_pda;
declare_id!(
"F46iAvcTENE8BBpSaQnumRw868p9o37AFhFvBkfKqu1e",
"9BoN4yBYwH63LFM9fDamaHK62YjM56hWYZqok7MnAakJ",
"hello"
);
lib.rs
:
这些宏用于在 Solana 智能合约中生成 cede
目前,实现的宏可以生成静态程序 ID 和确定性的程序导出地址(bump 种子自动生成)。
代码是从 Solana SDK(https://github.com/solana-labs/solana/blob/master/sdk/macro/src/lib.rs)分叉的,并修改以支持新功能。
依赖项
~17–25MB
~438K SLoC