Skip to main content

WalletInterface

Trait WalletInterface 

Source
pub trait WalletInterface {
Show 28 methods // Required methods async fn create_action( &self, args: CreateActionArgs, originator: Option<&str>, ) -> Result<CreateActionResult, WalletError>; async fn sign_action( &self, args: SignActionArgs, originator: Option<&str>, ) -> Result<SignActionResult, WalletError>; async fn abort_action( &self, args: AbortActionArgs, originator: Option<&str>, ) -> Result<AbortActionResult, WalletError>; async fn list_actions( &self, args: ListActionsArgs, originator: Option<&str>, ) -> Result<ListActionsResult, WalletError>; async fn internalize_action( &self, args: InternalizeActionArgs, originator: Option<&str>, ) -> Result<InternalizeActionResult, WalletError>; async fn list_outputs( &self, args: ListOutputsArgs, originator: Option<&str>, ) -> Result<ListOutputsResult, WalletError>; async fn relinquish_output( &self, args: RelinquishOutputArgs, originator: Option<&str>, ) -> Result<RelinquishOutputResult, WalletError>; async fn get_public_key( &self, args: GetPublicKeyArgs, originator: Option<&str>, ) -> Result<GetPublicKeyResult, WalletError>; async fn reveal_counterparty_key_linkage( &self, args: RevealCounterpartyKeyLinkageArgs, originator: Option<&str>, ) -> Result<RevealCounterpartyKeyLinkageResult, WalletError>; async fn reveal_specific_key_linkage( &self, args: RevealSpecificKeyLinkageArgs, originator: Option<&str>, ) -> Result<RevealSpecificKeyLinkageResult, WalletError>; async fn encrypt( &self, args: EncryptArgs, originator: Option<&str>, ) -> Result<EncryptResult, WalletError>; async fn decrypt( &self, args: DecryptArgs, originator: Option<&str>, ) -> Result<DecryptResult, WalletError>; async fn create_hmac( &self, args: CreateHmacArgs, originator: Option<&str>, ) -> Result<CreateHmacResult, WalletError>; async fn verify_hmac( &self, args: VerifyHmacArgs, originator: Option<&str>, ) -> Result<VerifyHmacResult, WalletError>; async fn create_signature( &self, args: CreateSignatureArgs, originator: Option<&str>, ) -> Result<CreateSignatureResult, WalletError>; async fn verify_signature( &self, args: VerifySignatureArgs, originator: Option<&str>, ) -> Result<VerifySignatureResult, WalletError>; async fn acquire_certificate( &self, args: AcquireCertificateArgs, originator: Option<&str>, ) -> Result<Certificate, WalletError>; async fn list_certificates( &self, args: ListCertificatesArgs, originator: Option<&str>, ) -> Result<ListCertificatesResult, WalletError>; async fn prove_certificate( &self, args: ProveCertificateArgs, originator: Option<&str>, ) -> Result<ProveCertificateResult, WalletError>; async fn relinquish_certificate( &self, args: RelinquishCertificateArgs, originator: Option<&str>, ) -> Result<RelinquishCertificateResult, WalletError>; async fn discover_by_identity_key( &self, args: DiscoverByIdentityKeyArgs, originator: Option<&str>, ) -> Result<DiscoverCertificatesResult, WalletError>; async fn discover_by_attributes( &self, args: DiscoverByAttributesArgs, originator: Option<&str>, ) -> Result<DiscoverCertificatesResult, WalletError>; async fn is_authenticated( &self, originator: Option<&str>, ) -> Result<AuthenticatedResult, WalletError>; async fn wait_for_authentication( &self, originator: Option<&str>, ) -> Result<AuthenticatedResult, WalletError>; async fn get_height( &self, originator: Option<&str>, ) -> Result<GetHeightResult, WalletError>; async fn get_header_for_height( &self, args: GetHeaderArgs, originator: Option<&str>, ) -> Result<GetHeaderResult, WalletError>; async fn get_network( &self, originator: Option<&str>, ) -> Result<GetNetworkResult, WalletError>; async fn get_version( &self, originator: Option<&str>, ) -> Result<GetVersionResult, WalletError>;
}
Expand description

The core wallet interface with all 28 async methods.

Uses native async fn in traits (RPITIT, Rust 1.75+) so this trait is NOT object-safe. Use generics (not dyn dispatch) when parameterizing over wallet implementations.

Every method takes originator: Option<&str> as the last parameter, identifying the calling application domain.

Required Methods§

Source

async fn create_action( &self, args: CreateActionArgs, originator: Option<&str>, ) -> Result<CreateActionResult, WalletError>

Source

async fn sign_action( &self, args: SignActionArgs, originator: Option<&str>, ) -> Result<SignActionResult, WalletError>

Source

async fn abort_action( &self, args: AbortActionArgs, originator: Option<&str>, ) -> Result<AbortActionResult, WalletError>

Source

async fn list_actions( &self, args: ListActionsArgs, originator: Option<&str>, ) -> Result<ListActionsResult, WalletError>

Source

async fn internalize_action( &self, args: InternalizeActionArgs, originator: Option<&str>, ) -> Result<InternalizeActionResult, WalletError>

Source

async fn list_outputs( &self, args: ListOutputsArgs, originator: Option<&str>, ) -> Result<ListOutputsResult, WalletError>

Source

async fn relinquish_output( &self, args: RelinquishOutputArgs, originator: Option<&str>, ) -> Result<RelinquishOutputResult, WalletError>

Source

async fn get_public_key( &self, args: GetPublicKeyArgs, originator: Option<&str>, ) -> Result<GetPublicKeyResult, WalletError>

Source

async fn reveal_counterparty_key_linkage( &self, args: RevealCounterpartyKeyLinkageArgs, originator: Option<&str>, ) -> Result<RevealCounterpartyKeyLinkageResult, WalletError>

Source

async fn reveal_specific_key_linkage( &self, args: RevealSpecificKeyLinkageArgs, originator: Option<&str>, ) -> Result<RevealSpecificKeyLinkageResult, WalletError>

Source

async fn encrypt( &self, args: EncryptArgs, originator: Option<&str>, ) -> Result<EncryptResult, WalletError>

Source

async fn decrypt( &self, args: DecryptArgs, originator: Option<&str>, ) -> Result<DecryptResult, WalletError>

Source

async fn create_hmac( &self, args: CreateHmacArgs, originator: Option<&str>, ) -> Result<CreateHmacResult, WalletError>

Source

async fn verify_hmac( &self, args: VerifyHmacArgs, originator: Option<&str>, ) -> Result<VerifyHmacResult, WalletError>

Source

async fn create_signature( &self, args: CreateSignatureArgs, originator: Option<&str>, ) -> Result<CreateSignatureResult, WalletError>

Source

async fn verify_signature( &self, args: VerifySignatureArgs, originator: Option<&str>, ) -> Result<VerifySignatureResult, WalletError>

Source

async fn acquire_certificate( &self, args: AcquireCertificateArgs, originator: Option<&str>, ) -> Result<Certificate, WalletError>

Source

async fn list_certificates( &self, args: ListCertificatesArgs, originator: Option<&str>, ) -> Result<ListCertificatesResult, WalletError>

Source

async fn prove_certificate( &self, args: ProveCertificateArgs, originator: Option<&str>, ) -> Result<ProveCertificateResult, WalletError>

Source

async fn relinquish_certificate( &self, args: RelinquishCertificateArgs, originator: Option<&str>, ) -> Result<RelinquishCertificateResult, WalletError>

Source

async fn discover_by_identity_key( &self, args: DiscoverByIdentityKeyArgs, originator: Option<&str>, ) -> Result<DiscoverCertificatesResult, WalletError>

Source

async fn discover_by_attributes( &self, args: DiscoverByAttributesArgs, originator: Option<&str>, ) -> Result<DiscoverCertificatesResult, WalletError>

Source

async fn is_authenticated( &self, originator: Option<&str>, ) -> Result<AuthenticatedResult, WalletError>

Source

async fn wait_for_authentication( &self, originator: Option<&str>, ) -> Result<AuthenticatedResult, WalletError>

Source

async fn get_height( &self, originator: Option<&str>, ) -> Result<GetHeightResult, WalletError>

Source

async fn get_header_for_height( &self, args: GetHeaderArgs, originator: Option<&str>, ) -> Result<GetHeaderResult, WalletError>

Source

async fn get_network( &self, originator: Option<&str>, ) -> Result<GetNetworkResult, WalletError>

Source

async fn get_version( &self, originator: Option<&str>, ) -> Result<GetVersionResult, WalletError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§