Skip to main content

kaptn_lang/
lib.rs

1pub use kaptn_attribute_transfer_hook::transfer_hook;
2pub use kaptn_derive_extrametas::ExtraMetas;
3pub use kaptn_macros::{declare_id, declare_mint};
4
5pub use solana_program;
6
7pub mod context;
8
9/// The prelude contains all commonly used components of the crate.
10/// All programs should include it via `use kaptn_lang::prelude::*;`.
11pub mod prelude {
12
13    pub use super::{
14        context::{ExtraMetas, TransferContext},
15        declare_id, declare_mint, transfer_hook,
16    };
17
18    pub use solana_program::{
19        account_info::{next_account_info, AccountInfo},
20        clock::Clock,
21        entrypoint::ProgramResult,
22        epoch_schedule::EpochSchedule,
23        msg,
24        program::invoke_signed,
25        program_error::ProgramError,
26        pubkey::Pubkey,
27        rent::Rent,
28        stake_history::StakeHistory,
29        system_instruction,
30        sysvar::Sysvar,
31    };
32
33    pub use spl_tlv_account_resolution::{
34        account::ExtraAccountMeta, error::AccountResolutionError, seeds::Seed,
35        state::ExtraAccountMetaList,
36    };
37    pub use spl_token_2022;
38    pub use spl_token_2022::{
39        extension::{
40            transfer_hook::TransferHookAccount, BaseStateWithExtensions,
41            BaseStateWithExtensionsMut, ExtensionType, StateWithExtensions, StateWithExtensionsMut,
42        },
43        state::{Account, AccountState, Mint},
44    };
45    pub use spl_transfer_hook_interface::{
46        collect_extra_account_metas_signer_seeds,
47        error::TransferHookError,
48        get_extra_account_metas_address, get_extra_account_metas_address_and_bump_seed,
49        instruction::{
50            execute_with_extra_account_metas, initialize_extra_account_meta_list,
51            update_extra_account_meta_list, ExecuteInstruction, TransferHookInstruction,
52        },
53        onchain,
54    };
55}