canic_core/api/auth/
attestation.rs1use super::AuthApi;
8use crate::{
9 dto::{
10 auth::{
11 RoleAttestationGetRequest, RoleAttestationPrepareResponse, RoleAttestationRequest,
12 SignedRoleAttestation,
13 },
14 error::Error,
15 },
16 workflow::runtime::auth::RuntimeAuthWorkflow,
17};
18
19impl AuthApi {
20 pub fn prepare_component_role_attestation_root(
22 request: RoleAttestationRequest,
23 component: &crate::ids::ComponentBinding,
24 ) -> Result<RoleAttestationPrepareResponse, Error> {
25 RuntimeAuthWorkflow::prepare_component_role_attestation_root(request, component)
26 .map_err(Self::map_auth_error)
27 }
28
29 pub fn get_role_attestation_root(
31 request: RoleAttestationGetRequest,
32 ) -> Result<SignedRoleAttestation, Error> {
33 RuntimeAuthWorkflow::get_role_attestation_root(request).map_err(Self::map_auth_error)
34 }
35
36 pub async fn verify_role_attestation(
38 attestation: &SignedRoleAttestation,
39 min_accepted_epoch: u64,
40 ) -> Result<(), Error> {
41 RuntimeAuthWorkflow::verify_role_attestation(attestation, min_accepted_epoch)
42 .await
43 .map_err(Self::map_auth_error)
44 }
45}