Skip to content

Commit f1facdd

Browse files
committed
bug: fetch return types not qualified properly
1 parent 2f26508 commit f1facdd

File tree

3 files changed

+27
-22
lines changed

3 files changed

+27
-22
lines changed

.changeset/eighty-owls-drum.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@codama/renderers-rust': patch
3+
---
4+
5+
Fix a bug where types from sharedPage where not qualified correctly in the account fetch functions

packages/renderers-rust/e2e/system/src/generated/accounts/nonce.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,25 +54,25 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for Nonce {
5454
pub fn fetch_nonce(
5555
rpc: &solana_client::rpc_client::RpcClient,
5656
address: &Pubkey,
57-
) -> Result<super::DecodedAccount<Nonce>, Error> {
58-
let accounts = fetch_all_nonce(rpc, vec![address])?;
57+
) -> Result<crate::DecodedAccount<Nonce>, std::io::Error> {
58+
let accounts = fetch_all_nonce(rpc, vec![*address])?;
5959
Ok(accounts[0].clone())
6060
}
6161

6262
#[cfg(feature = "fetch")]
6363
pub fn fetch_all_nonce(
6464
rpc: &solana_client::rpc_client::RpcClient,
6565
addresses: Vec<Pubkey>,
66-
) -> Result<Vec<super::DecodedAccount<Nonce>>, Error> {
66+
) -> Result<Vec<crate::DecodedAccount<Nonce>>, std::io::Error> {
6767
let accounts = rpc.get_multiple_accounts(&addresses)?;
68-
let mut decoded_accounts: Vec<super::DecodedAccount<Nonce>> = Vec::new();
68+
let mut decoded_accounts: Vec<crate::DecodedAccount<Nonce>> = Vec::new();
6969
for i in 0..addresses.len() {
7070
let address = addresses[i];
7171
let account = accounts[i]
7272
.as_ref()
7373
.ok_or(format!("Account not found: {}", address))?;
7474
let data = Nonce::from_bytes(&account.data)?;
75-
decoded_accounts.push(super::DecodedAccount {
75+
decoded_accounts.push(crate::DecodedAccount {
7676
address,
7777
account: account.clone(),
7878
data,
@@ -85,29 +85,29 @@ pub fn fetch_all_nonce(
8585
pub fn fetch_maybe_nonce(
8686
rpc: &solana_client::rpc_client::RpcClient,
8787
address: &Pubkey,
88-
) -> Result<super::MaybeAccount<Nonce>, Error> {
89-
let accounts = fetch_all_maybe_nonce(rpc, vec![address])?;
88+
) -> Result<crate::MaybeAccount<Nonce>, std::io::Error> {
89+
let accounts = fetch_all_maybe_nonce(rpc, vec![*address])?;
9090
Ok(accounts[0].clone())
9191
}
9292

9393
#[cfg(feature = "fetch")]
9494
pub fn fetch_all_maybe_nonce(
9595
rpc: &solana_client::rpc_client::RpcClient,
9696
addresses: Vec<Pubkey>,
97-
) -> Result<Vec<super::MaybeAccount<Nonce>>, Error> {
97+
) -> Result<Vec<crate::MaybeAccount<Nonce>>, std::io::Error> {
9898
let accounts = rpc.get_multiple_accounts(&addresses)?;
99-
let mut decoded_accounts: Vec<super::MaybeAccount<Nonce>> = Vec::new();
99+
let mut decoded_accounts: Vec<crate::MaybeAccount<Nonce>> = Vec::new();
100100
for i in 0..addresses.len() {
101101
let address = addresses[i];
102102
if let Some(account) = accounts[i].as_ref() {
103103
let data = Nonce::from_bytes(&account.data)?;
104-
decoded_accounts.push(super::MaybeAccount::Exists(super::DecodedAccount {
104+
decoded_accounts.push(crate::MaybeAccount::Exists(crate::DecodedAccount {
105105
address,
106106
account: account.clone(),
107107
data,
108108
}));
109109
} else {
110-
decoded_accounts.push(super::MaybeAccount::NotFound(address));
110+
decoded_accounts.push(crate::MaybeAccount::NotFound(address));
111111
}
112112
}
113113
Ok(decoded_accounts)

packages/renderers-rust/public/templates/accountsPage.njk

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -132,23 +132,23 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for {{ account.
132132
pub fn fetch_{{ account.name | snakeCase }}(
133133
rpc: &solana_client::rpc_client::RpcClient,
134134
address: &Pubkey,
135-
) -> Result<super::DecodedAccount<{{ account.name | pascalCase }}>, Error> {
136-
let accounts = fetch_all_{{ account.name | snakeCase }}(rpc, vec![address])?;
135+
) -> Result<crate::DecodedAccount<{{ account.name | pascalCase }}>, std::io::Error> {
136+
let accounts = fetch_all_{{ account.name | snakeCase }}(rpc, vec![*address])?;
137137
Ok(accounts[0].clone())
138138
}
139139

140140
#[cfg(feature = "fetch")]
141141
pub fn fetch_all_{{ account.name | snakeCase }}(
142142
rpc: &solana_client::rpc_client::RpcClient,
143143
addresses: Vec<Pubkey>,
144-
) -> Result<Vec<super::DecodedAccount<{{ account.name | pascalCase }}>>, Error> {
144+
) -> Result<Vec<crate::DecodedAccount<{{ account.name | pascalCase }}>>, std::io::Error> {
145145
let accounts = rpc.get_multiple_accounts(&addresses)?;
146-
let mut decoded_accounts: Vec<super::DecodedAccount<{{ account.name | pascalCase }}>> = Vec::new();
146+
let mut decoded_accounts: Vec<crate::DecodedAccount<{{ account.name | pascalCase }}>> = Vec::new();
147147
for i in 0..addresses.len() {
148148
let address = addresses[i];
149149
let account = accounts[i].as_ref().ok_or(format!("Account not found: {}", address))?;
150150
let data = {{ account.name | pascalCase }}::from_bytes(&account.data)?;
151-
decoded_accounts.push(super::DecodedAccount { address, account: account.clone(), data });
151+
decoded_accounts.push(crate::DecodedAccount { address, account: account.clone(), data });
152152
}
153153
Ok(decoded_accounts)
154154
}
@@ -157,25 +157,25 @@ pub fn fetch_all_{{ account.name | snakeCase }}(
157157
pub fn fetch_maybe_{{ account.name | snakeCase }}(
158158
rpc: &solana_client::rpc_client::RpcClient,
159159
address: &Pubkey,
160-
) -> Result<super::MaybeAccount<{{ account.name | pascalCase }}>, Error> {
161-
let accounts = fetch_all_maybe_{{ account.name | snakeCase }}(rpc, vec![address])?;
160+
) -> Result<crate::MaybeAccount<{{ account.name | pascalCase }}>, std::io::Error> {
161+
let accounts = fetch_all_maybe_{{ account.name | snakeCase }}(rpc, vec![*address])?;
162162
Ok(accounts[0].clone())
163163
}
164164

165165
#[cfg(feature = "fetch")]
166166
pub fn fetch_all_maybe_{{ account.name | snakeCase }}(
167167
rpc: &solana_client::rpc_client::RpcClient,
168168
addresses: Vec<Pubkey>,
169-
) -> Result<Vec<super::MaybeAccount<{{ account.name | pascalCase }}>>, Error> {
169+
) -> Result<Vec<crate::MaybeAccount<{{ account.name | pascalCase }}>>, std::io::Error> {
170170
let accounts = rpc.get_multiple_accounts(&addresses)?;
171-
let mut decoded_accounts: Vec<super::MaybeAccount<{{ account.name | pascalCase }}>> = Vec::new();
171+
let mut decoded_accounts: Vec<crate::MaybeAccount<{{ account.name | pascalCase }}>> = Vec::new();
172172
for i in 0..addresses.len() {
173173
let address = addresses[i];
174174
if let Some(account) = accounts[i].as_ref() {
175175
let data = {{ account.name | pascalCase }}::from_bytes(&account.data)?;
176-
decoded_accounts.push(super::MaybeAccount::Exists(super::DecodedAccount { address, account: account.clone(), data }));
176+
decoded_accounts.push(crate::MaybeAccount::Exists(crate::DecodedAccount { address, account: account.clone(), data }));
177177
} else {
178-
decoded_accounts.push(super::MaybeAccount::NotFound(address));
178+
decoded_accounts.push(crate::MaybeAccount::NotFound(address));
179179
}
180180
}
181181
Ok(decoded_accounts)

0 commit comments

Comments
 (0)