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

pinocchio-token

Pinocchio helpers to invoke Token program instructions

2 unstable releases

0.2.0 Nov 6, 2024
0.1.0 Nov 5, 2024

#710 in Data structures

Download history 237/week @ 2024-11-02 31/week @ 2024-11-09

268 downloads per month

Apache-2.0

160KB
2.5K 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`.
InitilizeMint {
    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