#account #token #associated #instructions #invoke #mint #helper

pinocchio-associated-token-account

Pinocchio helpers to invoke Associated Token Account program instructions

1 unstable release

0.1.0 Jan 25, 2025

#2 in #mint

Download history 101/week @ 2025-01-24 15/week @ 2025-01-31 6/week @ 2025-02-07

122 downloads per month

Apache-2.0

16KB
184 lines

pinocchio

pinocchio-associated-token-account

This crate contains pinocchio helpers to perform cross-program invocations (CPIs) for SPL Associated Token Account program 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.

Getting Started

From your project folder:

cargo add pinocchio-associated-token-account

This will add the pinocchio-associated-token-account dependency to your Cargo.toml file.

Examples

Creating an associated token account:

// Those examples assumes that each instruction receives writable and signer `funding_account` account,
// writable `account` account, and `wallet`, `mint`, `system_program`, `token_program` accounts.
Create {
    funding_account,
    account,
    wallet,
    mint,
    system_program,
    token_program,
}.invoke()?;

CreateIdempotent {
    funding_account,
    account,
    wallet,
    mint,
    system_program,
    token_program,
}.invoke()?;

Recovering Nested

// This example assumes that instruction receives writable and signer `wallet` account,
// writable `account` and `destination_account`, and `mint`, `owner_account`, `owner_mint`,
// `token_program` accounts.
RecoverNested {
    account,
    mint,
    destination_account,
    owner_account,
    owner_mint,
    wallet,
    token_program,
}.invoke()?;

License

The code is licensed under the Apache License Version 2.0

Dependencies

~145KB