fedimint_client/sm/
dbtx.rs1use fedimint_core::core::ModuleInstanceId;
2use fedimint_core::db::DatabaseTransaction;
3
4pub struct ClientSMDatabaseTransaction<'inner, 'parent> {
7 dbtx: &'inner mut DatabaseTransaction<'parent>,
8 module_instance: ModuleInstanceId,
9}
10
11impl<'inner, 'parent> ClientSMDatabaseTransaction<'inner, 'parent> {
12 pub fn new(
13 dbtx: &'inner mut DatabaseTransaction<'parent>,
14 module_instance: ModuleInstanceId,
15 ) -> Self {
16 Self {
17 dbtx,
18 module_instance,
19 }
20 }
21
22 pub fn module_tx(&mut self) -> DatabaseTransaction<'_> {
24 self.dbtx
25 .to_ref_with_prefix_module_id(self.module_instance)
26 .0
27 .into_nc()
28 }
29
30 #[allow(dead_code)]
34 pub(crate) fn global_tx(&mut self) -> &mut DatabaseTransaction<'parent> {
35 self.dbtx
36 }
37
38 pub(crate) fn module_id(&self) -> ModuleInstanceId {
39 self.module_instance
40 }
41}