pub struct DeployPublic {Show 17 fields
pub authority: Address,
pub satrush_config: Address,
pub board: Address,
pub round: Address,
pub usd_mint: Address,
pub authority_usd_ata: Address,
pub board_usd_ata: Address,
pub public_deployment: Address,
pub miner: Address,
pub epoch_vault: Address,
pub epoch_vault_usd_ata: Address,
pub one_btc_vault: Address,
pub one_btc_vault_usd_ata: Address,
pub treasury: Address,
pub treasury_usd_ata: Address,
pub token_program: Address,
pub system_program: Address,
}Expand description
Accounts.
Fields§
§satrush_config: Address§board: Address§round: AddressRound the miner is deploying into. Must be the board’s current round.
Stays a regular Account: its id feeds PDA seeds here and below, and
the IDL seed parser can only encode plain field paths like round.id.
usd_mint: AddressMiner’s USD token account funds are pulled from.
board_usd_ata: AddressBoard’s USD deposit pool that funds are deposited into.
public_deployment: AddressPer-(round, miner) deployment record. Init fails if the miner already deployed into this round.
miner: AddressMiner profile for authority. Created lazily on the first deploy and
loaded on subsequent ones; its streak advances on every play.
epoch_vault: AddressEpoch Vault singleton — receives the epoch fee leg.
epoch_vault_usd_ata: AddressEpoch Vault’s USD pool the epoch fee is transferred into.
one_btc_vault: Address1 BTC Vault singleton — receives the 1 BTC fee leg.
one_btc_vault_usd_ata: Address1 BTC Vault’s USD pool the 1 BTC fee is transferred into.
treasury: AddressTreasury singleton — receives the protocol fee leg. No seeds constraint:
the PDA derivation is redundant — the discriminator + owner checks already
pin the one Treasury instance that can ever exist (init on fixed seeds).
treasury_usd_ata: AddressTreasury’s USD fee pool the protocol fee is transferred into. Validated by
field equality (token::) rather than ATA derivation (associated_token::):
this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
derivation. Any treasury-owned USD account passes, but misdirecting the fee
into a non-canonical one only strands the payer’s own fee.
token_program: Address§system_program: AddressImplementations§
Source§impl DeployPublic
impl DeployPublic
pub fn instruction(&self, args: DeployPublicInstructionArgs) -> Instruction
pub fn instruction_with_remaining_accounts( &self, args: DeployPublicInstructionArgs, remaining_accounts: &[AccountMeta], ) -> Instruction
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DeployPublic
impl RefUnwindSafe for DeployPublic
impl Send for DeployPublic
impl Sync for DeployPublic
impl Unpin for DeployPublic
impl UnsafeUnpin for DeployPublic
impl UnwindSafe for DeployPublic
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