pub struct SatrushConfig {Show 21 fields
pub discriminator: [u8; 8],
pub version: u16,
pub bump: u8,
pub owner_authority: Address,
pub admin_authority: Address,
pub round_authority: Address,
pub fee_recipient: Address,
pub usd_mint: Address,
pub btc_mint: Address,
pub strike_fee_bps: u32,
pub epoch_fee_bps: u32,
pub one_btc_fee_bps: u32,
pub sats_vault_round_fee_bps: u32,
pub sats_vault_claim_fee_bps: u32,
pub protocol_fee_bps: u32,
pub unclaimed_hashrate_bps: u32,
pub min_deploy_usd_amount: u64,
pub epoch_vault_iteration_duration: u64,
pub deployment_settle_grace_duration: u64,
pub strike_trigger_modulus: u16,
pub reserved: [u8; 30],
}Fields§
§discriminator: [u8; 8]§version: u16Struct version.
bump: u8Bump seed for the config account.
Owner of the program. Can change ownership and set the admin of the program.
Current update authority address for both Config and other PDAs - can be updated.
Address of the authority controlling the round flow.
fee_recipient: AddressProtocol fees recipient address.
usd_mint: AddressUSD mint address, initially USDC
btc_mint: AddressBTC mint address, initially cbBTC
strike_fee_bps: u32Strike jackpot fee in basis points.
epoch_fee_bps: u32Epoch Vault fee in basis points.
one_btc_fee_bps: u321 BTC Vault fee in basis points.
sats_vault_round_fee_bps: u32Sats Vault fee in basis points of the gross deployed amount. Charged
at swap time against the pending pile (gross net of the deploy-time
legs), so Round::swap_amount rescales it by deploy_fees_bps.
sats_vault_claim_fee_bps: u32Sats Vault claim fee in basis points.
protocol_fee_bps: u32Protocol fee in basis points.
unclaimed_hashrate_bps: u32Share of each settled play’s hashrate reward deferred until the sats claim in basis points.
min_deploy_usd_amount: u64Minimum gross deploy size per round, manual or automated, in USD mint (6 decimals).
epoch_vault_iteration_duration: u64Epoch Vault iteration length in slots.
deployment_settle_grace_duration: u64Grace window, in slots after Round::settled_at_slot, during which
only the normal settle path applies; afterward stale deployments
become eligible for third-party cleanup
strike_trigger_modulus: u16Sat Strike odds: the jackpot fires when rng % strike_trigger_modulus == 0
(seeded at 1_440 for ~1/1440 odds; 1 = every round triggers).
reserved: [u8; 30]Reserved
Implementations§
Trait Implementations§
Source§impl BorshDeserialize for SatrushConfig
impl BorshDeserialize for SatrushConfig
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 SatrushConfig
impl BorshSerialize for SatrushConfig
Source§impl Clone for SatrushConfig
impl Clone for SatrushConfig
Source§fn clone(&self) -> SatrushConfig
fn clone(&self) -> SatrushConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SatrushConfig
impl Debug for SatrushConfig
impl Eq for SatrushConfig
Source§impl PartialEq for SatrushConfig
impl PartialEq for SatrushConfig
impl StructuralPartialEq for SatrushConfig
Source§impl<'a> TryFrom<&AccountInfo<'a>> for SatrushConfig
impl<'a> TryFrom<&AccountInfo<'a>> for SatrushConfig
Auto Trait Implementations§
impl Freeze for SatrushConfig
impl RefUnwindSafe for SatrushConfig
impl Send for SatrushConfig
impl Sync for SatrushConfig
impl Unpin for SatrushConfig
impl UnsafeUnpin for SatrushConfig
impl UnwindSafe for SatrushConfig
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