Trait snarkos_consensus::ledger::Ledger [−][src]
pub trait Ledger: Send + Sync {
Show 13 methods
fn extend(
&mut self,
new_commitments: &[Digest],
new_serial_numbers: &[Digest],
new_memos: &[Digest]
) -> Result<Digest>;
fn rollback(
&mut self,
commitments: &[Digest],
serial_numbers: &[Digest],
memos: &[Digest]
) -> Result<()>;
fn clear(&mut self);
fn commitment_len(&self) -> usize;
fn contains_commitment(&self, commitment: &Digest) -> bool;
fn commitment_index(&self, commitment: &Digest) -> Option<usize>;
fn contains_serial(&self, serial: &Digest) -> bool;
fn contains_memo(&self, memo: &Digest) -> bool;
fn validate_digest(&self, digest: &Digest) -> bool;
fn digest(&self) -> Digest;
fn generate_proof(
&self,
commitment: &Digest,
index: usize
) -> Result<Vec<(Digest, Digest)>>;
fn validate_ledger(&self) -> bool;
fn requires_async_task(
&self,
new_commitments_len: usize,
new_serial_numbers_len: usize
) -> bool;
}
Required methods
fn extend(
&mut self,
new_commitments: &[Digest],
new_serial_numbers: &[Digest],
new_memos: &[Digest]
) -> Result<Digest>
fn rollback(
&mut self,
commitments: &[Digest],
serial_numbers: &[Digest],
memos: &[Digest]
) -> Result<()>
fn commitment_len(&self) -> usize
fn contains_commitment(&self, commitment: &Digest) -> bool
fn commitment_index(&self, commitment: &Digest) -> Option<usize>
fn contains_serial(&self, serial: &Digest) -> bool
fn contains_memo(&self, memo: &Digest) -> bool
fn validate_digest(&self, digest: &Digest) -> bool
fn validate_ledger(&self) -> bool
fn validate_ledger(&self) -> bool
checks if a ledgers state is consistent