2 releases
0.1.1 | Dec 1, 2022 |
---|---|
0.1.0 | Dec 1, 2022 |
#25 in #declare
2,433 downloads per month
Used in 9 crates
(4 directly)
8KB
143 lines
Implemented Macros
declare_id!
This functions exactly like the declare_id!
macro in the solana_program
package. Call it at the top of your program to create a global variable called ID
use ellipsis_macros::declare_id;
declare_id!("9BoN4yBYwH63LFM9fDamaHK62YjM56hWYZqok7MnAakJ");
declare_pda!
This macro takes in a base58-encoded PDA, a base-58 encoded program id, and a string literal representing the seed of the PDA. The macro will check that the supplied PDA is indeed the output of calling find_program_address
on the program id and seed. If this succeeds, then the bump seed will be written to a variable called BUMP
and the PDA will be written to a variable called ID
use ellipsis_macros::declare_pda;
declare_id!(
"F46iAvcTENE8BBpSaQnumRw868p9o37AFhFvBkfKqu1e",
"9BoN4yBYwH63LFM9fDamaHK62YjM56hWYZqok7MnAakJ",
"hello"
);
lib.rs
:
These macros are used cede generation in Solana smart contracts
Currently, the implemented macros can generate static program IDs and deterministic program derived addresses (the bump seed is autogenerated).
The code is forked from the Solana SDK (https://github.com/solana-labs/solana/blob/master/sdk/macro/src/lib.rs) and modified to support new features.
Dependencies
~17–26MB
~443K SLoC