From 9636cfe6809bc4b75a116f2c60f5a7425178f594 Mon Sep 17 00:00:00 2001 From: Yuru Shao Date: Tue, 24 Jun 2025 22:13:33 +0800 Subject: [PATCH] Optional account fix --- crates/anchor-idl/src/account.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/anchor-idl/src/account.rs b/crates/anchor-idl/src/account.rs index 182d8ad..6cb5cb9 100644 --- a/crates/anchor-idl/src/account.rs +++ b/crates/anchor-idl/src/account.rs @@ -19,10 +19,18 @@ pub fn generate_account_fields( } else { quote! {} }; - let ty = if info.signer { - quote! { Signer<'info> } - } else { - quote! { AccountInfo<'info> } + let ty = { + let acc_type = if info.signer { + quote! { Signer<'info> } + } else { + quote! { AccountInfo<'info> } + }; + + if info.optional { + quote! { Option<#acc_type>} + } else { + acc_type + } }; quote! { #annotation