use nssa_core::{ account::Nonce, program::{InstructionData, ProgramId}, }; use serde::{Deserialize, Serialize}; use crate::{Address, error::NssaError, program::Program}; #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] pub struct Message { pub(crate) program_id: ProgramId, pub(crate) addresses: Vec
, pub(crate) nonces: Vec, pub(crate) instruction_data: InstructionData, } impl Message { pub fn try_new( program_id: ProgramId, addresses: Vec
, nonces: Vec, instruction: T, ) -> Result { let instruction_data = Program::serialize_instruction(instruction)?; Ok(Self { program_id, addresses, nonces, instruction_data, }) } }