1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use crate::{cfg_macros, cfg_program};

pub use crate::accounts::*;
pub use crate::decimal::*;
pub use crate::error::*;
pub use crate::instructions::*;
pub use crate::seeds::*;
pub use crate::types::*;

pub use crate::{SWITCHBOARD_ATTESTATION_PROGRAM_ID, SWITCHBOARD_PROGRAM_ID};

pub use rust_decimal;

cfg_program! {
    pub use anchor_lang;
    pub use anchor_lang::solana_program;

    pub use anchor_lang::prelude::*;

    pub use anchor_lang::prelude::Result;
}

cfg_macros! {
    // Futures crate is needed by the proc_macro
    pub use futures;
    pub use futures::Future;
    pub use switchboard_solana_macros::switchboard_function;
    pub use switchboard_solana_macros::sb_error;
}

pub use anchor_lang::{
    AccountDeserialize, AccountSerialize, AnchorDeserialize, AnchorSerialize, Discriminator,
    InstructionData, Owner, ZeroCopy,
};

// pub use anchor_spl::associated_token::AssociatedToken;
// pub use anchor_spl::token::spl_token::native_mint as NativeMint;
// pub use anchor_spl::token::{Mint, Token, TokenAccount};
pub use solana_program::entrypoint::ProgramResult;
pub use solana_program::instruction::{AccountMeta, Instruction};
pub use solana_program::program::{invoke, invoke_signed};