pub struct RotateRoundCpiAccounts<'a, 'b> {Show 18 fields
pub authority: &'b AccountInfo<'a>,
pub satrush_config: &'b AccountInfo<'a>,
pub board: &'b AccountInfo<'a>,
pub current_round: &'b AccountInfo<'a>,
pub next_round: &'b AccountInfo<'a>,
pub usd_mint: &'b AccountInfo<'a>,
pub board_usd_ata: &'b AccountInfo<'a>,
pub epoch_vault: &'b AccountInfo<'a>,
pub epoch_vault_usd_ata: &'b AccountInfo<'a>,
pub one_btc_vault: &'b AccountInfo<'a>,
pub one_btc_vault_usd_ata: &'b AccountInfo<'a>,
pub treasury: &'b AccountInfo<'a>,
pub treasury_usd_ata: &'b AccountInfo<'a>,
pub slot_hashes: &'b AccountInfo<'a>,
pub token_program: &'b AccountInfo<'a>,
pub system_program: &'b AccountInfo<'a>,
pub event_authority: &'b AccountInfo<'a>,
pub program: &'b AccountInfo<'a>,
}Expand description
rotate_round CPI accounts.
Fields§
§satrush_config: &'b AccountInfo<'a>§board: &'b AccountInfo<'a>Stays a regular Account: get_next_round_id() feeds next_round’s
PDA seeds, which LazyAccount cannot serve.
current_round: &'b AccountInfo<'a>The current round being closed out (revealed). Lazy for the same stack
reason as the config; its PDA derives from board.round_id (a plain
field path the IDL seed parser can encode), which pins it to the
board’s current round with no separate id constraint.
next_round: &'b AccountInfo<'a>The freshly deployed next round, which becomes the board’s active round.
Its id is fixed by the seeds (board.get_next_round_id()); the handler
populates it via Round::try_new.
usd_mint: &'b AccountInfo<'a>§board_usd_ata: &'b AccountInfo<'a>Board’s USD pool where every deploy’s full amount landed — the sweep source.
epoch_vault: &'b AccountInfo<'a>Epoch Vault singleton — receives the round’s accumulated epoch fee leg.
epoch_vault_usd_ata: &'b AccountInfo<'a>§one_btc_vault: &'b AccountInfo<'a>1 BTC Vault singleton — receives the round’s accumulated 1 BTC fee leg.
one_btc_vault_usd_ata: &'b AccountInfo<'a>§treasury: &'b AccountInfo<'a>Treasury singleton — receives the round’s accumulated protocol fee leg.
No seeds constraint: discriminator + owner checks pin the one Treasury
instance that can ever exist (init on fixed seeds).
treasury_usd_ata: &'b AccountInfo<'a>§slot_hashes: &'b AccountInfo<'a>because the sysvar is too large to deserialize.
token_program: &'b AccountInfo<'a>§system_program: &'b AccountInfo<'a>§program: &'b AccountInfo<'a>Auto Trait Implementations§
impl<'a, 'b> !RefUnwindSafe for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> !Send for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> !Sync for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> !UnwindSafe for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> Freeze for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> Unpin for RotateRoundCpiAccounts<'a, 'b>
impl<'a, 'b> UnsafeUnpin for RotateRoundCpiAccounts<'a, 'b>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more