#account #mint #token #instructions #authority #invoke #helper

pinocchio-token

Pinocchio helpers to invoke Token program instructions

3 unstable releases

new 0.2.1 Jan 3, 2025
0.2.0 Nov 6, 2024
0.1.0 Nov 5, 2024

#778 in Data structures

34 downloads per month

Apache-2.0

180KB
3K SLoC

pinocchio-token

This crate contains pinocchio helpers to perform cross-program invocations (CPIs) for SPL Token instructions.

Each instruction defines an struct with the accounts and parameters required. Once all values are set, you can call directly invoke or invoke_signed to perform the CPI.

This is a no_std crate.

Note: The API defined in this crate is subject to change.

Examples

Initializing a mint account:

// This example assumes that the instruction receives a writable `mint`
// account; `authority` is a `Pubkey`.
InitializeMint {
    mint,
    rent_sysvar,
    decimals: 9,
    mint_authority: authority,
    freeze_authority: Some(authority),
}.invoke()?;

Performing a transfer of tokens:

// This example assumes that the instruction receives writable `from` and `to`
// accounts, and a signer `authority` account.
Transfer {
    from,
    to,
    authority,
    amount: 10,
}.invoke()?;

License

The code is licensed under the Apache License Version 2.0

Dependencies