pub enum WalletStore {
Sqlite {
path: String,
},
Custom {
db: Arc<dyn WalletDatabase>,
},
}Expand description
Unified wallet storage: either a built-in Rust backend or a custom
foreign-language implementation of the WalletDatabase callback interface.
This is an enum rather than accepting WalletDatabase directly because UniFFI
does not support trait objects as constructor parameters — only callback interfaces
wrapped in Arc<dyn Trait> inside an enum variant work across the FFI boundary.
Variants§
Trait Implementations§
Source§impl<UT> ConvertError<UT> for WalletStore
impl<UT> ConvertError<UT> for WalletStore
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl<UT> FfiConverter<UT> for WalletStore
impl<UT> FfiConverter<UT> for WalletStore
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Type ID metadata, serialized into a MetadataBuffer.
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
The low-level type used for passing values of this type over the FFI. Read more
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§impl<UT> Lift<UT> for WalletStore
impl<UT> Lift<UT> for WalletStore
Source§impl<UT> LiftRef<UT> for WalletStore
impl<UT> LiftRef<UT> for WalletStore
type LiftType = WalletStore
Source§impl<UT> LiftReturn<UT> for WalletStore
impl<UT> LiftReturn<UT> for WalletStore
Source§type ReturnType = <WalletStore as Lift<UT>>::FfiType
type ReturnType = <WalletStore as Lift<UT>>::FfiType
FFI return type for trait interfaces
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Lift a successfully returned value from a trait interface
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Lift a foreign returned value from a trait interface Read more
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Lift a Rust value for a callback interface method error result Read more
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Lift a Rust value for an unexpected callback interface error Read more
Source§impl<UT> Lower<UT> for WalletStore
impl<UT> Lower<UT> for WalletStore
type FfiType = <WalletStore as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Convenience method
Source§impl<UT> LowerError<UT> for WalletStore
impl<UT> LowerError<UT> for WalletStore
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for WalletStore
impl<UT> LowerReturn<UT> for WalletStore
Source§type ReturnType = <WalletStore as Lower<UT>>::FfiType
type ReturnType = <WalletStore as Lower<UT>>::FfiType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl<UT> TypeId<UT> for WalletStore
impl<UT> TypeId<UT> for WalletStore
Auto Trait Implementations§
impl !RefUnwindSafe for WalletStore
impl !UnwindSafe for WalletStore
impl Freeze for WalletStore
impl Send for WalletStore
impl Sync for WalletStore
impl Unpin for WalletStore
impl UnsafeUnpin for WalletStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more