chunk_loader/
lib.rs

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}