pub trait CustodyService:
Send
+ Sync
+ 'static {
// Required methods
fn authorize<'life0, 'async_trait>(
&'life0 self,
request: Request<AuthorizeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AuthorizeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn authorize_validator_definition<'life0, 'async_trait>(
&'life0 self,
request: Request<AuthorizeValidatorDefinitionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AuthorizeValidatorDefinitionResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn authorize_validator_vote<'life0, 'async_trait>(
&'life0 self,
request: Request<AuthorizeValidatorVoteRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AuthorizeValidatorVoteResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn export_full_viewing_key<'life0, 'async_trait>(
&'life0 self,
request: Request<ExportFullViewingKeyRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExportFullViewingKeyResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn confirm_address<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfirmAddressRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ConfirmAddressResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Available on crate feature
rpc
only.Expand description
Generated trait containing gRPC methods that should be implemented for use with CustodyServiceServer.
Required Methods§
Requests authorization of the transaction with the given description.
Requests authorization of the given validator definition update.
Requests authorization of the given validator vote.
Sourcefn export_full_viewing_key<'life0, 'async_trait>(
&'life0 self,
request: Request<ExportFullViewingKeyRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExportFullViewingKeyResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn export_full_viewing_key<'life0, 'async_trait>(
&'life0 self,
request: Request<ExportFullViewingKeyRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExportFullViewingKeyResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Requests the full viewing key from the custodian.
Custody backends should decide whether to honor this request, and how to control access to it.
Sourcefn confirm_address<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfirmAddressRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ConfirmAddressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn confirm_address<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfirmAddressRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ConfirmAddressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Displays an address to a user for confirmation.
Custody backends with user interaction should present the address to the user and wait for explicit confirmation before returning.
Non-interactive custody backends may return immediately.