Trait clarity_repl::clarity::database::marf::ClarityBackingStore
source · [−]pub trait ClarityBackingStore {
fn put_all(&mut self, items: Vec<(String, String)>);
fn get(&mut self, key: &str) -> Option<String>;
fn set_block_hash(&mut self, bhh: StacksBlockId) -> Result<StacksBlockId>;
fn get_block_at_height(&mut self, height: u32) -> Option<StacksBlockId>;
fn get_current_block_height(&mut self) -> u32;
fn get_open_chain_tip_height(&mut self) -> u32;
fn get_open_chain_tip(&mut self) -> StacksBlockId;
fn insert_metadata(
&mut self,
contract: &QualifiedContractIdentifier,
key: &str,
value: &str
);
fn get_metadata(
&mut self,
contract: &QualifiedContractIdentifier,
key: &str
) -> Result<Option<String>>;
fn has_entry(&mut self, key: &str) -> bool { ... }
fn make_contract_commitment(
&mut self,
contract_hash: Sha512Trunc256Sum
) -> String { ... }
}
Required methods
fn set_block_hash(&mut self, bhh: StacksBlockId) -> Result<StacksBlockId>
fn set_block_hash(&mut self, bhh: StacksBlockId) -> Result<StacksBlockId>
change the current MARF context to service reads from a different chain_tip used to implement time-shifted evaluation. returns the previous block header hash on success
fn get_block_at_height(&mut self, height: u32) -> Option<StacksBlockId>
fn get_current_block_height(&mut self) -> u32
fn get_current_block_height(&mut self) -> u32
this function returns the current block height, as viewed by this marfed-kv structure, i.e., it changes on time-shifted evaluation. the open_chain_tip functions always return data about the chain tip that is currently open for writing.
fn get_open_chain_tip_height(&mut self) -> u32
fn get_open_chain_tip(&mut self) -> StacksBlockId
fn insert_metadata(
&mut self,
contract: &QualifiedContractIdentifier,
key: &str,
value: &str
)
fn insert_metadata(
&mut self,
contract: &QualifiedContractIdentifier,
key: &str,
value: &str
)
This function is used to obtain a committed contract hash, and the block header hash of the block in which the contract was initialized. This data is used to store contract metadata in the side store.
fn get_metadata(
&mut self,
contract: &QualifiedContractIdentifier,
key: &str
) -> Result<Option<String>>
Provided methods
fn make_contract_commitment(
&mut self,
contract_hash: Sha512Trunc256Sum
) -> String
fn make_contract_commitment(
&mut self,
contract_hash: Sha512Trunc256Sum
) -> String
The contract commitment is the hash of the contract, plus the block height in which the contract was initialized.