diff --git a/clients/js/src/generated/accounts/index.ts b/clients/js/src/generated/accounts/index.ts index 3a7c226..a9dd592 100644 --- a/clients/js/src/generated/accounts/index.ts +++ b/clients/js/src/generated/accounts/index.ts @@ -6,4 +6,4 @@ * @see https://github.com/codama-idl/codama */ -export * from './stakeState'; +export * from './stakeStateAccount'; diff --git a/clients/js/src/generated/accounts/stakeState.ts b/clients/js/src/generated/accounts/stakeStateAccount.ts similarity index 52% rename from clients/js/src/generated/accounts/stakeState.ts rename to clients/js/src/generated/accounts/stakeStateAccount.ts index abf6806..c2ea4a9 100644 --- a/clients/js/src/generated/accounts/stakeState.ts +++ b/clients/js/src/generated/accounts/stakeStateAccount.ts @@ -33,71 +33,87 @@ import { type StakeStateV2Args, } from '../types'; -export type StakeState = { state: StakeStateV2 }; +export type StakeStateAccount = { state: StakeStateV2 }; -export type StakeStateArgs = { state: StakeStateV2Args }; +export type StakeStateAccountArgs = { state: StakeStateV2Args }; -export function getStakeStateEncoder(): Encoder { +export function getStakeStateAccountEncoder(): Encoder { return getStructEncoder([['state', getStakeStateV2Encoder()]]); } -export function getStakeStateDecoder(): Decoder { +export function getStakeStateAccountDecoder(): Decoder { return getStructDecoder([['state', getStakeStateV2Decoder()]]); } -export function getStakeStateCodec(): Codec { - return combineCodec(getStakeStateEncoder(), getStakeStateDecoder()); +export function getStakeStateAccountCodec(): Codec< + StakeStateAccountArgs, + StakeStateAccount +> { + return combineCodec( + getStakeStateAccountEncoder(), + getStakeStateAccountDecoder() + ); } -export function decodeStakeState( +export function decodeStakeStateAccount( encodedAccount: EncodedAccount -): Account; -export function decodeStakeState( +): Account; +export function decodeStakeStateAccount( encodedAccount: MaybeEncodedAccount -): MaybeAccount; -export function decodeStakeState( +): MaybeAccount; +export function decodeStakeStateAccount( encodedAccount: EncodedAccount | MaybeEncodedAccount -): Account | MaybeAccount { +): + | Account + | MaybeAccount { return decodeAccount( encodedAccount as MaybeEncodedAccount, - getStakeStateDecoder() + getStakeStateAccountDecoder() ); } -export async function fetchStakeState( +export async function fetchStakeStateAccount( rpc: Parameters[0], address: Address, config?: FetchAccountConfig -): Promise> { - const maybeAccount = await fetchMaybeStakeState(rpc, address, config); +): Promise> { + const maybeAccount = await fetchMaybeStakeStateAccount(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } -export async function fetchMaybeStakeState( +export async function fetchMaybeStakeStateAccount< + TAddress extends string = string, +>( rpc: Parameters[0], address: Address, config?: FetchAccountConfig -): Promise> { +): Promise> { const maybeAccount = await fetchEncodedAccount(rpc, address, config); - return decodeStakeState(maybeAccount); + return decodeStakeStateAccount(maybeAccount); } -export async function fetchAllStakeState( +export async function fetchAllStakeStateAccount( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig -): Promise[]> { - const maybeAccounts = await fetchAllMaybeStakeState(rpc, addresses, config); +): Promise[]> { + const maybeAccounts = await fetchAllMaybeStakeStateAccount( + rpc, + addresses, + config + ); assertAccountsExist(maybeAccounts); return maybeAccounts; } -export async function fetchAllMaybeStakeState( +export async function fetchAllMaybeStakeStateAccount( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig -): Promise[]> { +): Promise[]> { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); - return maybeAccounts.map((maybeAccount) => decodeStakeState(maybeAccount)); + return maybeAccounts.map((maybeAccount) => + decodeStakeStateAccount(maybeAccount) + ); } diff --git a/clients/js/src/generated/programs/stake.ts b/clients/js/src/generated/programs/stake.ts index f11a2d9..87fe123 100644 --- a/clients/js/src/generated/programs/stake.ts +++ b/clients/js/src/generated/programs/stake.ts @@ -36,7 +36,7 @@ export const STAKE_PROGRAM_ADDRESS = 'Stake11111111111111111111111111111111111111' as Address<'Stake11111111111111111111111111111111111111'>; export enum StakeAccount { - StakeState, + StakeStateAccount, } export enum StakeInstruction { diff --git a/clients/rust/src/hooked/mod.rs b/clients/rust/src/hooked/mod.rs index 469030d..37365c3 100644 --- a/clients/rust/src/hooked/mod.rs +++ b/clients/rust/src/hooked/mod.rs @@ -1,2 +1,2 @@ -pub mod stake_state; -pub use stake_state::*; +pub mod stake_state_account; +pub use stake_state_account::*; diff --git a/clients/rust/src/hooked/stake_state.rs b/clients/rust/src/hooked/stake_state_account.rs similarity index 96% rename from clients/rust/src/hooked/stake_state.rs rename to clients/rust/src/hooked/stake_state_account.rs index 161e0c2..7c35688 100644 --- a/clients/rust/src/hooked/stake_state.rs +++ b/clients/rust/src/hooked/stake_state_account.rs @@ -7,11 +7,11 @@ use { }; #[derive(Clone, Debug)] -pub struct StakeState { +pub struct StakeStateAccount { state: StakeStateV2, } -impl StakeState { +impl StakeStateAccount { #[inline(always)] pub fn from_bytes(data: &[u8]) -> Result { let mut data = data; @@ -105,7 +105,7 @@ impl StakeState { } } -impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for StakeState { +impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for StakeStateAccount { type Error = std::io::Error; fn try_from( @@ -116,7 +116,7 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for StakeState } } -impl BorshDeserialize for StakeState { +impl BorshDeserialize for StakeStateAccount { fn deserialize_reader(reader: &mut R) -> std::io::Result { let enum_value: u32 = BorshDeserialize::deserialize_reader(reader)?; let state = match enum_value { @@ -135,11 +135,11 @@ impl BorshDeserialize for StakeState { _ => return Err(Error::new(ErrorKind::InvalidData, "Invalid enum value")), }; - Ok(StakeState { state }) + Ok(StakeStateAccount { state }) } } -impl BorshSerialize for StakeState { +impl BorshSerialize for StakeStateAccount { fn serialize(&self, writer: &mut W) -> std::io::Result<()> { match self.state { StakeStateV2::Uninitialized => writer.write_all(&0u32.to_le_bytes()), diff --git a/clients/rust/src/lib.rs b/clients/rust/src/lib.rs index bc6c277..5c13054 100644 --- a/clients/rust/src/lib.rs +++ b/clients/rust/src/lib.rs @@ -1,7 +1,7 @@ mod generated; -pub mod hooked; +mod hooked; pub use { generated::{programs::STAKE_ID as ID, *}, - hooked as accounts, + hooked::StakeStateAccount, }; diff --git a/scripts/generate-clients.mjs b/scripts/generate-clients.mjs index a74762b..a11011a 100644 --- a/scripts/generate-clients.mjs +++ b/scripts/generate-clients.mjs @@ -37,7 +37,7 @@ codama.update( ...node.accounts, // stake account c.accountNode({ - name: 'stakeState', + name: 'stakeStateAccount', data: c.structTypeNode([ c.structFieldTypeNode({ name: 'state', @@ -190,7 +190,7 @@ codama.accept( // provides its own implementation. codama.update( c.updateAccountsVisitor({ - stakeState: { delete: true }, + stakeStateAccount: { delete: true }, }) );