[−][src]Struct grin_chain::txhashset::UTXOView
Readonly view of the UTXO set (based on output MMR).
Implementations
impl<'a> UTXOView<'a>
[src]
pub fn new(
header_pmmr: ReadonlyPMMR<'a, BlockHeader, PMMRBackend<BlockHeader>>,
output_pmmr: ReadonlyPMMR<'a, OutputIdentifier, PMMRBackend<OutputIdentifier>>,
rproof_pmmr: ReadonlyPMMR<'a, RangeProof, PMMRBackend<RangeProof>>
) -> UTXOView<'a>
[src]
header_pmmr: ReadonlyPMMR<'a, BlockHeader, PMMRBackend<BlockHeader>>,
output_pmmr: ReadonlyPMMR<'a, OutputIdentifier, PMMRBackend<OutputIdentifier>>,
rproof_pmmr: ReadonlyPMMR<'a, RangeProof, PMMRBackend<RangeProof>>
) -> UTXOView<'a>
Build a new UTXO view.
pub fn validate_block(
&self,
block: &Block,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
[src]
&self,
block: &Block,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
Validate a block against the current UTXO set. Every input must spend an output that currently exists in the UTXO set. No duplicate outputs.
pub fn validate_tx(
&self,
tx: &Transaction,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
[src]
&self,
tx: &Transaction,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
Validate a transaction against the current UTXO set. Every input must spend an output that currently exists in the UTXO set. No duplicate outputs.
pub fn validate_inputs(
&self,
inputs: &Inputs,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
[src]
&self,
inputs: &Inputs,
batch: &Batch<'_>
) -> Result<Vec<(OutputIdentifier, CommitPos)>, Error>
Validate the provided inputs. Returns a vec of output identifiers corresponding to outputs that would be spent by the provided inputs.
pub fn get_unspent_output_at(&self, pos: u64) -> Result<Output, Error>
[src]
Retrieves an unspent output using its PMMR position
pub fn verify_coinbase_maturity(
&self,
inputs: &Inputs,
height: u64,
batch: &Batch<'_>
) -> Result<(), Error>
[src]
&self,
inputs: &Inputs,
height: u64,
batch: &Batch<'_>
) -> Result<(), Error>
Verify we are not attempting to spend any coinbase outputs that have not sufficiently matured.
pub fn get_header_by_height(
&self,
height: u64,
batch: &Batch<'_>
) -> Result<BlockHeader, Error>
[src]
&self,
height: u64,
batch: &Batch<'_>
) -> Result<BlockHeader, Error>
Get the header at the specified height based on the current state of the extension. Derives the MMR pos from the height (insertion index) and retrieves the header hash. Looks the header up in the db by hash.
Auto Trait Implementations
impl<'a> RefUnwindSafe for UTXOView<'a>
[src]
impl<'a> Send for UTXOView<'a>
[src]
impl<'a> Sync for UTXOView<'a>
[src]
impl<'a> Unpin for UTXOView<'a>
[src]
impl<'a> UnwindSafe for UTXOView<'a>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
pub fn borrow_replacement(ptr: &T) -> &T
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]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> UnsafeAny for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,