1#![allow(unexpected_cfgs)]
2
3use crate::{instructions::*, state::*};
4use anchor_lang::prelude::*;
5
6pub mod error;
7mod instructions;
8pub mod state;
9mod utils;
10
11declare_id!("CHUNk6K8LS7Ta6XgDqJQB9jR8T7Toq2dQbDnHBgmVRBu");
12
13#[cfg(not(feature = "no-entrypoint"))]
14solana_security_txt::security_txt! {
15 name: "Chunk Loader",
16 project_url: "https://crates.io/crates/solana-chunk-loader",
17 contacts: "email:lincot@disroot.org,discord:lincot",
18 policy: "Please contact us if you have discovered a bug"
19}
20
21#[program]
22pub mod chunk_loader {
23 use super::*;
24
25 #[instruction(discriminator = [1])]
26 pub fn load_chunk(ctx: Context<LoadChunk>, chunk_holder_id: u32, chunk: Chunk) -> Result<()> {
27 instructions::load_chunk(ctx, chunk_holder_id, chunk)
28 }
29
30 #[instruction(discriminator = [2])]
31 pub fn pass_to_cpi(ctx: Context<PassToCpi>) -> Result<()> {
32 instructions::pass_to_cpi(ctx)
33 }
34
35 #[instruction(discriminator = [3])]
36 pub fn close_chunks(ctx: Context<CloseChunks>) -> Result<()> {
37 instructions::close_chunks(ctx)
38 }
39
40 #[instruction(discriminator = [4])]
41 pub fn pass_to_cpi_checked(ctx: Context<PassToCpi>, expected_length: u16) -> Result<()> {
42 instructions::pass_to_cpi_checked(ctx, expected_length)
43 }
44}