Struct clarity_repl::clarity::database::ClarityDatabase
source · [−]pub struct ClarityDatabase<'a> {
pub store: RollbackWrapper<'a>,
/* private fields */
}
Fields
store: RollbackWrapper<'a>
Implementations
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn new(
store: &'a mut dyn ClarityBackingStore,
headers_db: &'a dyn HeadersDB
) -> ClarityDatabase<'a>
pub fn new_with_rollback_wrapper(
store: RollbackWrapper<'a>,
headers_db: &'a dyn HeadersDB
) -> ClarityDatabase<'a>
pub fn initialize(&mut self)
pub fn begin(&mut self)
pub fn commit(&mut self)
pub fn roll_back(&mut self)
pub fn set_block_hash(
&mut self,
bhh: StacksBlockId,
query_pending_data: bool
) -> Result<StacksBlockId>
pub fn put<T: ClaritySerializable>(&mut self, key: &str, value: &T)
pub fn get<T>(&mut self, key: &str) -> Option<T>where
T: ClarityDeserializable<T>,
pub fn get_value(&mut self, key: &str, expected: &TypeSignature) -> Option<Value>
pub fn make_key_for_trip(
contract_identifier: &QualifiedContractIdentifier,
data: StoreType,
var_name: &str
) -> String
pub fn make_metadata_key(data: StoreType, var_name: &str) -> String
pub fn make_key_for_quad(
contract_identifier: &QualifiedContractIdentifier,
data: StoreType,
var_name: &str,
key_value: String
) -> String
pub fn insert_contract_hash(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
contract_content: &str
) -> Result<()>
pub fn get_contract_src(
&mut self,
contract_identifier: &QualifiedContractIdentifier
) -> Option<String>
pub fn set_metadata(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
key: &str,
data: &str
)
pub fn load_contract_analysis(
&mut self,
contract_identifier: &QualifiedContractIdentifier
) -> Option<ContractAnalysis>
pub fn get_contract_size(
&mut self,
contract_identifier: &QualifiedContractIdentifier
) -> Result<u64>
sourcepub fn set_contract_data_size(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
data_size: u64
) -> Result<()>
pub fn set_contract_data_size(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
data_size: u64
) -> Result<()>
used for adding the memory usage of define-constant
variables.
pub fn insert_contract(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
contract: Contract
)
pub fn has_contract(
&mut self,
contract_identifier: &QualifiedContractIdentifier
) -> bool
pub fn get_contract(
&mut self,
contract_identifier: &QualifiedContractIdentifier
) -> Result<Contract>
pub fn ustx_liquid_supply_key() -> &'static str
sourcepub fn get_total_liquid_ustx(&mut self) -> u128
pub fn get_total_liquid_ustx(&mut self) -> u128
Returns the current total liquid ustx
pub fn increment_ustx_liquid_supply(&mut self, incr_by: u128) -> Result<()>
pub fn decrement_ustx_liquid_supply(&mut self, decr_by: u128) -> Result<()>
pub fn destroy(self) -> RollbackWrapper<'a>
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn get_index_block_header_hash(&mut self, block_height: u32) -> StacksBlockId
pub fn get_current_block_height(&mut self) -> u32
pub fn get_current_burnchain_block_height(&mut self) -> u32
pub fn get_block_header_hash(&mut self, block_height: u32) -> BlockHeaderHash
pub fn get_block_time(&mut self, block_height: u32) -> u64
pub fn get_burnchain_block_header_hash(
&mut self,
block_height: u32
) -> BurnchainHeaderHash
pub fn get_burnchain_block_height(
&mut self,
id_bhh: &StacksBlockId
) -> Option<u32>
pub fn get_block_vrf_seed(&mut self, block_height: u32) -> VRFSeed
pub fn get_miner_address(&mut self, block_height: u32) -> StandardPrincipalData
pub fn get_stx_btc_ops_processed(&mut self) -> u64
pub fn set_stx_btc_ops_processed(&mut self, processed: u64)
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn create_variable(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str,
value_type: TypeSignature
) -> DataVariableMetadata
pub fn load_variable(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str
) -> Result<DataVariableMetadata>
pub fn set_variable_unknown_descriptor(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str,
value: Value
) -> Result<Value>
pub fn set_variable(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str,
value: Value,
variable_descriptor: &DataVariableMetadata
) -> Result<Value>
pub fn lookup_variable_unknown_descriptor(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str
) -> Result<Value>
pub fn lookup_variable(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
variable_name: &str,
variable_descriptor: &DataVariableMetadata
) -> Result<Value>
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn create_map(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key_type: TypeSignature,
value_type: TypeSignature
) -> DataMapMetadata
pub fn load_map(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str
) -> Result<DataMapMetadata>
pub fn make_key_for_data_map_entry(
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key_value: &Value
) -> String
pub fn fetch_entry_unknown_descriptor(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key_value: &Value
) -> Result<Value>
pub fn fetch_entry(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key_value: &Value,
map_descriptor: &DataMapMetadata
) -> Result<Value>
pub fn set_entry(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key: Value,
value: Value,
map_descriptor: &DataMapMetadata
) -> Result<Value>
pub fn set_entry_unknown_descriptor(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key: Value,
value: Value
) -> Result<Value>
pub fn insert_entry_unknown_descriptor(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key: Value,
value: Value
) -> Result<Value>
pub fn insert_entry(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key: Value,
value: Value,
map_descriptor: &DataMapMetadata
) -> Result<Value>
pub fn delete_entry(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
map_name: &str,
key_value: &Value,
map_descriptor: &DataMapMetadata
) -> Result<Value>
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn create_fungible_token(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
total_supply: &Option<u128>
) -> FungibleTokenMetadata
pub fn load_ft(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str
) -> Result<FungibleTokenMetadata>
pub fn create_non_fungible_token(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
key_type: &TypeSignature
) -> NonFungibleTokenMetadata
pub fn checked_increase_token_supply(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
amount: u128,
descriptor: &FungibleTokenMetadata
) -> Result<()>
pub fn checked_decrease_token_supply(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
amount: u128
) -> Result<()>
pub fn get_ft_balance(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
principal: &PrincipalData,
descriptor: Option<&FungibleTokenMetadata>
) -> Result<u128>
pub fn set_ft_balance(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str,
principal: &PrincipalData,
balance: u128
) -> Result<()>
pub fn get_ft_supply(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
token_name: &str
) -> Result<u128>
pub fn get_nft_owner(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
asset_name: &str,
asset: &Value,
key_type: &TypeSignature
) -> Result<PrincipalData>
pub fn get_nft_key_type(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
asset_name: &str
) -> Result<TypeSignature>
pub fn set_nft_owner(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
asset_name: &str,
asset: &Value,
principal: &PrincipalData,
key_type: &TypeSignature
) -> Result<()>
pub fn burn_nft(
&mut self,
contract_identifier: &QualifiedContractIdentifier,
asset_name: &str,
asset: &Value,
key_type: &TypeSignature
) -> Result<()>
sourceimpl<'a> ClarityDatabase<'a>
impl<'a> ClarityDatabase<'a>
pub fn make_key_for_account_balance(principal: &PrincipalData) -> String
pub fn make_key_for_account_nonce(principal: &PrincipalData) -> String
pub fn make_key_for_account_stx_locked(principal: &PrincipalData) -> String
pub fn make_key_for_account_unlock_height(principal: &PrincipalData) -> String
pub fn get_stx_balance_snapshot<'conn>(
&'conn mut self,
principal: &PrincipalData
) -> STXBalanceSnapshot<'a, 'conn>
pub fn get_stx_balance_snapshot_genesis<'conn>(
&'conn mut self,
principal: &PrincipalData
) -> STXBalanceSnapshot<'a, 'conn>
pub fn get_account_stx_balance(
&mut self,
principal: &PrincipalData
) -> STXBalance
pub fn get_account_nonce(&mut self, principal: &PrincipalData) -> u64
pub fn set_account_nonce(&mut self, principal: &PrincipalData, nonce: u64)
Auto Trait Implementations
impl<'a> !RefUnwindSafe for ClarityDatabase<'a>
impl<'a> !Send for ClarityDatabase<'a>
impl<'a> !Sync for ClarityDatabase<'a>
impl<'a> Unpin for ClarityDatabase<'a>
impl<'a> !UnwindSafe for ClarityDatabase<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more