#[repr(C)]pub struct AuctionPool {
pub well_id: u64,
pub epoch_id: u64,
pub pool_total: u64,
pub status: u64,
pub original_pool_total: u64,
pub pool_accumulated_oil: u64,
pub pool_outbid_sol: u64,
pub participant_count: u64,
}Expand description
Auction Pool account (per-epoch pool) PDA: [AUCTION_POOL, well_id, epoch_id] This account holds SOL contributions for this specific epoch/auction
Fields§
§well_id: u64Well ID (0-3) - which well this pool is for
epoch_id: u64Epoch ID - which auction round this pool belongs to
pool_total: u64Total SOL in this pool (sum of all contributions for this epoch, in lamports)
status: u64Status: 0 = active, 1 = settled/abandoned (for refunds) When pool doesn’t win and auction ends, status = 1
original_pool_total: u64Original pool_total from when the pool won (before bid_amount was deducted) Used for calculating proportional shares when pool is outbid Stored here to avoid overwrite issues when multiple pools are outbid sequentially
pool_accumulated_oil: u64Accumulated OIL from this pool when it was outbid by a solo bidder Pool contributors can claim their proportional share from this amount Stored per-epoch to avoid accumulation/overwrite issues
pool_outbid_sol: u6486% SOL from bidder when this pool was outbid (for proportional distribution to pool contributors) Pool contributors can claim their proportional share from this amount Stored per-epoch to avoid accumulation/overwrite issues
participant_count: u64Number of unique participants in this pool (exact count) Incremented when a new Bid account is created for this epoch
Implementations§
Trait Implementations§
Source§impl AccountValidation for AuctionPool
impl AccountValidation for AuctionPool
fn assert<F>(&self, condition: F) -> Result<&Self, ProgramError>
fn assert_err<F>( &self, condition: F, err: ProgramError, ) -> Result<&Self, ProgramError>
fn assert_msg<F>(&self, condition: F, msg: &str) -> Result<&Self, ProgramError>
fn assert_mut<F>(&mut self, condition: F) -> Result<&mut Self, ProgramError>
fn assert_mut_err<F>( &mut self, condition: F, err: ProgramError, ) -> Result<&mut Self, ProgramError>
fn assert_mut_msg<F>( &mut self, condition: F, msg: &str, ) -> Result<&mut Self, ProgramError>
Source§impl Clone for AuctionPool
impl Clone for AuctionPool
Source§fn clone(&self) -> AuctionPool
fn clone(&self) -> AuctionPool
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AuctionPool
impl Debug for AuctionPool
Source§impl<'de> Deserialize<'de> for AuctionPool
impl<'de> Deserialize<'de> for AuctionPool
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Discriminator for AuctionPool
impl Discriminator for AuctionPool
fn discriminator() -> u8
Source§impl PartialEq for AuctionPool
impl PartialEq for AuctionPool
Source§impl Serialize for AuctionPool
impl Serialize for AuctionPool
impl Copy for AuctionPool
impl Pod for AuctionPool
impl StructuralPartialEq for AuctionPool
Auto Trait Implementations§
impl Freeze for AuctionPool
impl RefUnwindSafe for AuctionPool
impl Send for AuctionPool
impl Sync for AuctionPool
impl Unpin for AuctionPool
impl UnwindSafe for AuctionPool
Blanket Implementations§
Source§impl<T> AccountDeserialize for Twhere
T: Discriminator + Pod,
impl<T> AccountDeserialize for Twhere
T: Discriminator + Pod,
fn try_from_bytes(data: &[u8]) -> Result<&T, ProgramError>
fn try_from_bytes_mut(data: &mut [u8]) -> Result<&mut T, ProgramError>
Source§impl<T> AccountHeaderDeserialize for Twhere
T: Discriminator + Pod,
impl<T> AccountHeaderDeserialize for Twhere
T: Discriminator + Pod,
fn try_header_from_bytes(data: &[u8]) -> Result<(&T, &[u8]), ProgramError>
fn try_header_from_bytes_mut( data: &mut [u8], ) -> Result<(&mut T, &mut [u8]), ProgramError>
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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