codama_nodes/generated/
program_node.rs1use crate::{
2 AccountNode, CamelCaseString, ConstantNode, DefinedTypeNode, Docs, ErrorNode, EventNode,
3 HasName, InstructionNode, PdaNode, ProgramOrigin,
4};
5use codama_nodes_derive::node;
6
7#[node]
8#[derive(Default)]
9pub struct ProgramNode {
10 pub name: CamelCaseString,
12 pub public_key: String,
13 pub version: String,
14 #[serde(skip_serializing_if = "crate::is_default")]
15 pub origin: Option<ProgramOrigin>,
16 #[serde(default, skip_serializing_if = "crate::is_default")]
17 pub docs: Docs,
18
19 pub accounts: Vec<AccountNode>,
21 pub instructions: Vec<InstructionNode>,
22 pub defined_types: Vec<DefinedTypeNode>,
23 pub pdas: Vec<PdaNode>,
24 pub events: Vec<EventNode>,
25 pub errors: Vec<ErrorNode>,
26 pub constants: Vec<ConstantNode>,
27}
28
29impl HasName for ProgramNode {
30 fn name(&self) -> &CamelCaseString {
31 &self.name
32 }
33}