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
9pub 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}