[][src]Struct solana_runtime::bank::bank_1_0::Bank1_0

pub struct Bank1_0 {
    pub rc: BankRc,
    pub src: StatusCacheRc,
    pub blockhash_queue: RwLock<BlockhashQueue>,
    pub ancestors: HashMap<Slot, usize>,
    pub hash: RwLock<Hash>,
    pub parent_hash: Hash,
    pub parent_slot: Slot,
    pub hard_forks: Arc<RwLock<HardForks>>,
    pub transaction_count: AtomicU64,
    pub tick_height: AtomicU64,
    pub signature_count: AtomicU64,
    pub capitalization: AtomicU64,
    pub max_tick_height: u64,
    pub hashes_per_tick: Option<u64>,
    pub ticks_per_slot: u64,
    pub ns_per_slot: u128,
    pub genesis_creation_time: UnixTimestamp,
    pub slots_per_year: f64,
    pub slots_per_segment: u64,
    pub slot: Slot,
    pub epoch: Epoch,
    pub block_height: u64,
    pub collector_id: Pubkey,
    pub collector_fees: AtomicU64,
    pub fee_calculator: FeeCalculator,
    pub fee_rate_governor: FeeRateGovernor,
    pub collected_rent: AtomicU64,
    pub rent_collector: RentCollector,
    pub epoch_schedule: EpochSchedule,
    pub inflation: Arc<RwLock<Inflation>>,
    pub stakes: RwLock<Stakes>,
    pub storage_accounts: RwLock<StorageAccounts>,
    pub epoch_stakes: HashMap<Epoch, Stakes>,
    pub is_delta: AtomicBool,
    pub message_processor: MessageProcessor,
    pub entered_epoch_callback: Arc<RwLock<Option<EnteredEpochCallback>>>,
    pub last_vote_sync: AtomicU64,
    pub rewards: Option<Vec<(Pubkey, i64)>>,
}

Manager for the state of all accounts and programs after processing its entries.

Fields

rc: BankRc

References to accounts, parent and signature status

src: StatusCacheRcblockhash_queue: RwLock<BlockhashQueue>

FIFO queue of recent_blockhash items

ancestors: HashMap<Slot, usize>

The set of parents including this bank

hash: RwLock<Hash>

Hash of this Bank's state. Only meaningful after freezing.

parent_hash: Hash

Hash of this Bank's parent's state

parent_slot: Slot

parent's slot

hard_forks: Arc<RwLock<HardForks>>

slots to hard fork at

transaction_count: AtomicU64

The number of transactions processed without error

tick_height: AtomicU64

Bank tick height

signature_count: AtomicU64

The number of signatures from valid transactions in this slot

capitalization: AtomicU64

Total capitalization, used to calculate inflation

max_tick_height: u64hashes_per_tick: Option<u64>

The number of hashes in each tick. None value means hashing is disabled.

ticks_per_slot: u64

The number of ticks in each slot.

ns_per_slot: u128

length of a slot in ns

genesis_creation_time: UnixTimestamp

genesis time, used for computed clock

slots_per_year: f64

The number of slots per year, used for inflation

slots_per_segment: u64

The number of slots per Storage segment

slot: Slot

Bank slot (i.e. block)

epoch: Epoch

Bank epoch

block_height: u64

Bank block_height

collector_id: Pubkey

The pubkey to send transactions fees to.

collector_fees: AtomicU64

Fees that have been collected

fee_calculator: FeeCalculator

Latest transaction fees for transactions processed by this bank

fee_rate_governor: FeeRateGovernor

Track cluster signature throughput and adjust fee rate

collected_rent: AtomicU64

Rent that have been collected

rent_collector: RentCollector

latest rent collector, knows the epoch

epoch_schedule: EpochSchedule

initialized from genesis

inflation: Arc<RwLock<Inflation>>

inflation specs

stakes: RwLock<Stakes>

cache of vote_account and stake_account state for this fork

storage_accounts: RwLock<StorageAccounts>

cache of validator and archiver storage accounts for this fork

epoch_stakes: HashMap<Epoch, Stakes>

staked nodes on epoch boundaries, saved off when a bank.slot() is at a leader schedule calculation boundary

is_delta: AtomicBool

A boolean reflecting whether any entries were recorded into the PoH stream for the slot == self.slot

message_processor: MessageProcessor

The Message processor

entered_epoch_callback: Arc<RwLock<Option<EnteredEpochCallback>>>

Callback to be notified when a bank enters a new Epoch (used to adjust cluster features over time)

last_vote_sync: AtomicU64

Last time when the cluster info vote listener has synced with this bank

rewards: Option<Vec<(Pubkey, i64)>>

Rewards that were paid out immediately after this bank was created

Methods

impl Bank1_0[src]

Trait Implementations

impl<'de> Deserialize<'de> for Bank1_0[src]

impl Serialize for Bank1_0[src]

Auto Trait Implementations

impl !RefUnwindSafe for Bank1_0

impl Send for Bank1_0

impl Sync for Bank1_0

impl Unpin for Bank1_0

impl !UnwindSafe for Bank1_0

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,