When using pinocchio::Address in an account struct derived with ShankAccount, the generated IDL contains an unresolved custom type "Address" instead of a standard Solana-compatible type (e.g. publicKey).
Rust code
use borsh::{BorshDeserialize, BorshSerialize};
use pinocchio::Address;
use shank::ShankAccount;
#[derive(BorshDeserialize, BorshSerialize, ShankAccount)]
pub struct CounterAuthority {
pub authority: Address,
pub bump: u8,
pub count: u64,
}
Generated IDL (via shank-cli)
{
"name": "CounterAuthority",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": {
"defined": "Address"
}
},
{
"name": "bump",
"type": "u8"
},
{
"name": "count",
"type": "u64"
}
]
}
}
Then I use Codama to generate client which can not resolve this type.
When using pinocchio::Address in an account struct derived with ShankAccount, the generated IDL contains an unresolved custom type "Address" instead of a standard Solana-compatible type (e.g. publicKey).
Rust code
Generated IDL (via shank-cli)
Then I use Codama to generate client which can not resolve this type.