dloom_flow/instructions/
initialize_dlmm_parameters.rs1use crate::state::{DlmmParameter, DlmmParameters};
4use anchor_lang::prelude::*;
5
6pub fn handle_initialize_dlmm_parameters(
7 ctx: Context<InitializeDlmmParameters>,
8 official_params: Vec<DlmmParameter>,
9 community_params: Vec<DlmmParameter>,
10) -> Result<()> {
11 let params_account = &mut ctx.accounts.dlmm_parameters;
12 params_account.authority = ctx.accounts.authority.key();
13
14 params_account.official_parameters = official_params;
15 params_account.community_parameters = community_params;
16
17 Ok(())
18}
19
20#[derive(Accounts)]
21pub struct InitializeDlmmParameters<'info> {
22 #[account(
23 init,
24 payer = authority,
25 space = 8 + 32 + 4 + (20 * (2 + 2)) + 4 + (20 * (2 + 2)), seeds = [b"dlmm_parameters"],
27 bump
28 )]
29 pub dlmm_parameters: Account<'info, DlmmParameters>,
30
31 #[account(mut)]
32 pub authority: Signer<'info>,
33 pub system_program: Program<'info, System>,
34}