6 releases

0.2.1 Oct 26, 2024
0.2.0 Oct 16, 2024
0.1.3 Oct 10, 2024
0.1.0 Sep 25, 2024
0.0.0 Sep 25, 2024

#1367 in Rust patterns

Download history 271/week @ 2024-09-23 186/week @ 2024-09-30 345/week @ 2024-10-07 188/week @ 2024-10-14 133/week @ 2024-10-21 96/week @ 2024-10-28

767 downloads per month
Used in 2 crates

Apache-2.0

110KB
1.5K SLoC

pinocchio-pubkey

Companion Pubkey helpers for pinocchio.

This crate provides two convenience macros to resolve Pubkeys at compile time:

  • pubkey!: takes a pubkey value as a base58 &str and generates its correpondent Pubkey (byte array)
  • declare_id!: takes a pubkey value as a base58 &str (usually representing a program address) and generates an ID constant, check_id() and id() helpers

It also defines a from_str helper that takes a &str and returns the correspondent Pubkey value.

Examples

Creating a Pubkey constant value from a static &str:

use pinocchio::pubkey::Pubkey;

pub const AUTHORITY: Pubkey = pinocchio_pubkey::pubkey!("7qtAvP4CJuSKauWHtHZJt9wmQRgvcFeUcU3xKrFzxKf1");

Declaring the program address of a program (usually on your lib.rs):

pinocchio_pubkey::declare_id!("Ping111111111111111111111111111111111111111");

Creating a Pubkey from a &str:

let address = String::from("7qtAvP4CJuSKauWHtHZJt9wmQRgvcFeUcU3xKrFzxKf1");
let owner = pinocchio_pubkey::from_str(&address);

License

The code is licensed under the Apache License Version 2.0

Dependencies