Struct fuel_core::database::transaction::DatabaseTransaction
source · pub struct DatabaseTransaction { /* private fields */ }
Methods from Deref<Target = Database>§
pub fn latest_height(&self) -> StorageResult<BlockHeight>
sourcepub fn get_current_block(
&self
) -> StorageResult<Option<Cow<'_, CompressedBlock>>>
pub fn get_current_block( &self ) -> StorageResult<Option<Cow<'_, CompressedBlock>>>
Get the current block at the head of the chain.
pub fn block_time(&self, height: &BlockHeight) -> StorageResult<Tai64>
pub fn get_block_id( &self, height: &BlockHeight ) -> StorageResult<Option<BlockId>>
pub fn all_block_ids( &self, start: Option<BlockHeight>, direction: IterDirection ) -> impl Iterator<Item = DatabaseResult<(BlockHeight, BlockId)>> + '_
pub fn ids_of_genesis_block(&self) -> DatabaseResult<(BlockHeight, BlockId)>
pub fn ids_of_latest_block( &self ) -> DatabaseResult<Option<(BlockHeight, BlockId)>>
pub fn get_contract_config_by_id( &self, contract_id: ContractId ) -> StorageResult<ContractConfig>
pub fn contract_balances( &self, contract: ContractId, start_asset: Option<AssetId>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<(AssetId, Word)>> + '_
pub fn get_contract_config(&self) -> StorageResult<Option<Vec<ContractConfig>>>
pub fn owned_message_ids( &self, owner: &Address, start_message_id: Option<MessageId>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<MessageId>> + '_
pub fn all_messages( &self, start: Option<MessageId>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<CompressedMessage>> + '_
pub fn get_message_config(&self) -> StorageResult<Option<Vec<MessageConfig>>>
pub fn is_message_spent(&self, message_id: &MessageId) -> StorageResult<bool>
pub fn message_status( &self, message_id: &MessageId ) -> StorageResult<MessageStatus>
pub fn get_sealed_block_by_id( &self, block_id: &BlockId ) -> StorageResult<Option<SealedBlock>>
sourcepub fn get_sealed_block_by_height(
&self,
height: &BlockHeight
) -> StorageResult<Option<SealedBlock>>
pub fn get_sealed_block_by_height( &self, height: &BlockHeight ) -> StorageResult<Option<SealedBlock>>
Returns SealedBlock
by height
.
Reusable across different trait implementations
pub fn get_genesis(&self) -> StorageResult<Genesis>
pub fn get_sealed_block_header_by_height( &self, height: &BlockHeight ) -> StorageResult<Option<SealedBlockHeader>>
pub fn get_sealed_block_header( &self, block_id: &BlockId ) -> StorageResult<Option<SealedBlockHeader>>
pub fn get_transactions_on_block( &self, block_id: &BlockId ) -> StorageResult<Option<Vec<Transaction>>>
pub fn owned_coins_ids( &self, owner: &Address, start_coin: Option<UtxoId>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<UtxoId>> + '_
pub fn get_coin_config(&self) -> DatabaseResult<Option<Vec<CoinConfig>>>
sourcepub fn init(&self, config: &ChainConfig) -> DatabaseResult<()>
pub fn init(&self, config: &ChainConfig) -> DatabaseResult<()>
Ensures the database is initialized and that the database version is correct
pub fn get_chain_name(&self) -> DatabaseResult<Option<String>>
pub fn all_transactions( &self, start: Option<&Bytes32>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<Transaction>> + '_
sourcepub fn owned_transactions(
&self,
owner: Address,
start: Option<OwnedTransactionIndexCursor>,
direction: Option<IterDirection>
) -> impl Iterator<Item = DatabaseResult<(TxPointer, Bytes32)>> + '_
pub fn owned_transactions( &self, owner: Address, start: Option<OwnedTransactionIndexCursor>, direction: Option<IterDirection> ) -> impl Iterator<Item = DatabaseResult<(TxPointer, Bytes32)>> + '_
Iterates over a KV mapping of [address + block height + tx idx] => transaction id
. This
allows for efficient lookup of transaction ids associated with an address, sorted by
block age and ordering within a block. The cursor tracks the [block height + tx idx]
for
pagination purposes.
pub fn record_tx_id_owner( &self, owner: &Address, block_height: BlockHeight, tx_idx: TransactionIndex, tx_id: &Bytes32 ) -> DatabaseResult<Option<Bytes32>>
pub fn update_tx_status( &self, id: &Bytes32, status: TransactionStatus ) -> DatabaseResult<Option<TransactionStatus>>
pub fn get_tx_status( &self, id: &Bytes32 ) -> DatabaseResult<Option<TransactionStatus>>
pub fn transaction(&self) -> DatabaseTransaction
Trait Implementations§
source§impl AsMut<Database> for DatabaseTransaction
impl AsMut<Database> for DatabaseTransaction
source§impl AsRef<Database> for DatabaseTransaction
impl AsRef<Database> for DatabaseTransaction
source§impl Clone for DatabaseTransaction
impl Clone for DatabaseTransaction
source§fn clone(&self) -> DatabaseTransaction
fn clone(&self) -> DatabaseTransaction
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for DatabaseTransaction
impl Debug for DatabaseTransaction
source§impl Default for DatabaseTransaction
impl Default for DatabaseTransaction
source§impl Deref for DatabaseTransaction
impl Deref for DatabaseTransaction
source§impl DerefMut for DatabaseTransaction
impl DerefMut for DatabaseTransaction
source§impl From<&Database> for DatabaseTransaction
impl From<&Database> for DatabaseTransaction
source§impl Transaction<Database> for DatabaseTransaction
impl Transaction<Database> for DatabaseTransaction
source§fn commit(&mut self) -> StorageResult<()>
fn commit(&mut self) -> StorageResult<()>
Commits the pending state changes into the storage.
Auto Trait Implementations§
impl !RefUnwindSafe for DatabaseTransaction
impl Send for DatabaseTransaction
impl Sync for DatabaseTransaction
impl Unpin for DatabaseTransaction
impl !UnwindSafe for DatabaseTransaction
Blanket Implementations§
§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere T: Any + Debug,
§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Returns a reference to the underlying type as
Any
.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
Mutably borrows from an owned value. Read more