#instructions #pinocchio #mint #pinocchio-token

pinocchio-token

Pinocchio helpers to invoke Token program instructions

4 releases (2 breaking)

0.3.0 Mar 19, 2025
0.2.1 Jan 3, 2025
0.2.0 Nov 6, 2024
0.1.0 Nov 5, 2024

#4 in #pinocchio

Download history 156/week @ 2025-01-01 19/week @ 2025-01-08 2/week @ 2025-01-15 23/week @ 2025-02-05 8/week @ 2025-02-12 49/week @ 2025-02-19 98/week @ 2025-02-26 66/week @ 2025-03-05 68/week @ 2025-03-12 206/week @ 2025-03-19 46/week @ 2025-03-26 259/week @ 2025-04-02 349/week @ 2025-04-09

889 downloads per month
Used in typhoon-token

Apache-2.0

210KB
3K SLoC

pinocchio-token

pinocchio-token

Overview

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

Each instruction defines a 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