2 releases

0.1.1 Dec 1, 2022
0.1.0 Dec 1, 2022

#25 in #declare

Download history 503/week @ 2024-05-27 681/week @ 2024-06-03 536/week @ 2024-06-10 705/week @ 2024-06-17 901/week @ 2024-06-24 501/week @ 2024-07-01 627/week @ 2024-07-08 488/week @ 2024-07-15 404/week @ 2024-07-22 409/week @ 2024-07-29 490/week @ 2024-08-05 430/week @ 2024-08-12 706/week @ 2024-08-19 505/week @ 2024-08-26 653/week @ 2024-09-02 512/week @ 2024-09-09

2,433 downloads per month
Used in 9 crates (4 directly)

Apache-2.0

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