pub struct Round {Show 19 fields
pub discriminator: [u8; 8],
pub version: u16,
pub bump: u8,
pub id: u32,
pub state: RoundState,
pub entropy: [u8; 32],
pub winning_tile: Option<u8>,
pub deployed_pending_usd_amount: u64,
pub deployed_usd_amount: u64,
pub deployed_btc_amount: u64,
pub deployed_usd_on_winning_tile_amount: u64,
pub miners_count: u32,
pub revealed_miners_count: u32,
pub winners_count: u32,
pub settled_miners_count: u32,
pub strike_bonus_usd: u64,
pub strike_bonus_btc: u64,
pub public_tile_stakes: [TileStake; 21],
pub reserved: [u8; 32],
}Fields§
§discriminator: [u8; 8]§version: u16Struct version.
bump: u8PDA bump seed.
id: u32Sequential round identifier.
state: RoundStateRound state
entropy: [u8; 32]Entropy value, derived from the slot hashes
winning_tile: Option<u8>Winning tile index, revealed upon settlement
deployed_pending_usd_amount: u64Total net USD deployed into the round before the USD->BTC swap
deployed_usd_amount: u64Total net USD stake after USD->BTC swap
deployed_btc_amount: u64Total net BTC stake after USD->BTC swap
deployed_usd_on_winning_tile_amount: u64Total net USD placed on the winning tile
miners_count: u32Total amount of players in the round
revealed_miners_count: u32Number of miners whose selection is revealed. Public deploys are revealed
by construction, so they advance this counter at deploy time; future
private deploys join miners_count first and catch up here on reveal.
The round can only settle once it equals miners_count.
winners_count: u32Total amount of winners, revealed during settlement
settled_miners_count: u32Total amount of miners who claimed their winnings/hashrate, should equal to miners_count
strike_bonus_usd: u64Strike jackpot USD rolled into this round on trigger, distributed to winners.
strike_bonus_btc: u64Strike jackpot BTC rolled into this round on trigger, distributed to winners.
public_tile_stakes: [TileStake; 21]Per-tile deploy count and stake sum, accumulated as public miners deploy. Indexed by tile (0..TILES_COUNT). Read at reveal to derive the winning tile’s totals without a per-deployment settlement pass.
reserved: [u8; 32]Reserved.
Implementations§
Trait Implementations§
Source§impl BorshDeserialize for Round
impl BorshDeserialize for Round
fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for Round
impl BorshSerialize for Round
impl Eq for Round
impl StructuralPartialEq for Round
Auto Trait Implementations§
impl Freeze for Round
impl RefUnwindSafe for Round
impl Send for Round
impl Sync for Round
impl Unpin for Round
impl UnsafeUnpin for Round
impl UnwindSafe for Round
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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