hayabusa/
lib.rs

1// Copyright (c) 2025, Arcane Labs <dev@arcane.fi>
2// SPDX-License-Identifier: Apache-2.0
3
4#![no_std]
5
6pub mod instruction {
7    pub use pinocchio::instruction::{AccountMeta, Instruction, Seed, Signer};
8}
9
10pub mod prelude {
11    pub use super::instruction;
12
13    pub use hayabusa_account_attribute_macro::account;
14    pub use hayabusa_accounts::*;
15    pub use hayabusa_context::*;
16    pub use hayabusa_cpi::*;
17    pub use hayabusa_discriminator::Discriminator;
18    pub use hayabusa_discriminator_derive::Discriminator;
19    pub use hayabusa_errors::{ErrorCode, Result};
20    pub use hayabusa_instruction_attribute_macro::instruction;
21    pub use hayabusa_instruction_dispatch_macro::dispatch;
22    pub use hayabusa_from_account_infos_derive::FromAccountInfos;
23    pub use hayabusa_len_derive::Len;
24    pub use hayabusa_owner_program_derive::OwnerProgram;
25    pub use hayabusa_pda::*;
26    pub use hayabusa_ser::*;
27    pub use hayabusa_ser_derive::*;
28    pub use hayabusa_utility::{take_bytes, *};
29
30    #[cfg(not(feature = "std"))]
31    pub use pinocchio::nostd_panic_handler;
32    pub use pinocchio::{
33        self,
34        account_info::AccountInfo,
35        default_allocator,
36        hint::unlikely,
37        msg, no_allocator, program_entrypoint,
38        program_error::ProgramError,
39        pubkey::*,
40        seeds,
41        sysvars::{clock::Clock, fees::Fees, rent::Rent, Sysvar},
42        ProgramResult,
43    };
44    pub use pinocchio_pubkey::declare_id;
45}