2 个版本

0.1.1 2022 年 12 月 1 日
0.1.0 2022 年 12 月 1 日

#21 in #declare

Download history 300/week @ 2024-04-17 315/week @ 2024-04-24 280/week @ 2024-05-01 271/week @ 2024-05-08 429/week @ 2024-05-15 368/week @ 2024-05-22 630/week @ 2024-05-29 654/week @ 2024-06-05 572/week @ 2024-06-12 731/week @ 2024-06-19 839/week @ 2024-06-26 452/week @ 2024-07-03 634/week @ 2024-07-10 420/week @ 2024-07-17 397/week @ 2024-07-24 455/week @ 2024-07-31

1,986 每月下载量
9 个crate(4 个直接) 中使用

Apache-2.0

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