codama_nodes/generated/
instruction_node.rs1use crate::{
2 CamelCaseString, DiscriminatorNode, Docs, HasName, InstructionAccountNode,
3 InstructionArgumentNode, InstructionByteDeltaNode, InstructionRemainingAccountsNode,
4 InstructionStatusNode, OptionalAccountStrategy,
5};
6use codama_nodes_derive::node;
7
8#[node]
9#[derive(Default)]
10pub struct InstructionNode {
11 pub name: CamelCaseString,
13 #[serde(default, skip_serializing_if = "crate::is_default")]
14 pub docs: Docs,
15 #[serde(skip_serializing_if = "crate::is_default")]
16 pub optional_account_strategy: Option<OptionalAccountStrategy>,
17
18 pub accounts: Vec<InstructionAccountNode>,
20 pub arguments: Vec<InstructionArgumentNode>,
21 #[serde(default, skip_serializing_if = "crate::is_default")]
22 pub extra_arguments: Vec<InstructionArgumentNode>,
23 #[serde(default, skip_serializing_if = "crate::is_default")]
24 pub remaining_accounts: Vec<InstructionRemainingAccountsNode>,
25 #[serde(default, skip_serializing_if = "crate::is_default")]
26 pub byte_deltas: Vec<InstructionByteDeltaNode>,
27 #[serde(default, skip_serializing_if = "crate::is_default")]
28 pub discriminators: Vec<DiscriminatorNode>,
29 #[serde(skip_serializing_if = "crate::is_default")]
30 pub status: Option<InstructionStatusNode>,
31 #[serde(default, skip_serializing_if = "crate::is_default")]
32 pub sub_instructions: Vec<InstructionNode>,
33}
34
35impl HasName for InstructionNode {
36 fn name(&self) -> &CamelCaseString {
37 &self.name
38 }
39}