Skip to main content

saddle_core/
lib.rs

1//! Stable contracts shared by Saddle components.
2//!
3//! Business applications should depend on the `saddle` facade instead of this
4//! crate directly.
5
6mod context;
7mod deployment_applicability;
8mod error;
9mod generation_pair;
10mod golden_c8_applicability;
11mod golden_c8_startup_assembly;
12mod lifecycle;
13mod observability_block_state;
14mod observability_identity;
15mod rendezvous_manifest;
16mod trusted_candidate_set;
17
18pub use context::{
19    ApplicationId, CallContext, MAX_TRACE_CORRELATION_ID_BYTES, ModuleId, OperationId, ServiceId,
20    SpanId, TraceCorrelationId, TraceCorrelationIdError, TraceId,
21};
22#[doc(hidden)]
23pub use deployment_applicability::{
24    DeploymentApplicabilityError, DeploymentSplitError, RevocationSnapshotReceipt,
25    RuntimeResourceShape, RuntimeResourceShapeError, TrustedDeploymentPolicyReceipt,
26    TrustedTimeReceipt, VerifiedDeploymentBundleApplicabilityOwner,
27    VerifiedDeploymentDirectoryAuthority, VerifiedDeploymentDirectoryPermit,
28    VerifiedDeploymentGateBuildAuthoritySeed, VerifiedDeploymentGateBuildOwner,
29    VerifiedDeploymentResourceObservationOwner, VerifiedDeploymentResourcePermit,
30    VerifiedDeploymentSchedulerObservationOwner, VerifiedDeploymentSchedulerObservationSeed,
31    VerifiedDeploymentStartupAuthoritySeed, VerifiedDeploymentSubjectContinuation,
32    VerifiedDeploymentSupervisorStartupOwner, VerifiedDeploymentSupervisorStartupSeed,
33    VerifiedFilesystemServiceBudgetAuthoritySeed, VerifiedFinalDirectoryReceipt,
34    VerifiedFinalDirectoryReceiptPair, VerifiedFinalFilesystemCreatorBinding,
35    VerifiedFinalGeneratedReceipt, VerifiedFinalPairingParts, VerifiedFinalPairingReceipts,
36    VerifiedFinalResourceReceipt, VerifiedFinalSubjectReceipt, VerifiedFinishedFinalDirectorySeal,
37    VerifiedReceiptIssuerTrustAnchorOwner, VerifiedRuntimeResourceParts,
38    VerifiedStartupTimePolicyOwner, consume_deployment_binding_split,
39    consume_final_pairing_receipts, finish_final_pairing_parts,
40    pair_deployment_applicability_generation, pair_deployment_directory_permit,
41    pair_final_startup_receipts, recover_rejected_final_pairing_receipts,
42    restore_final_directory_receipt_pair, seal_verified_runtime_resource_parts,
43    verify_canonical_deployment_resource_observation, verify_deployment_bundle_applicability,
44    verify_deployment_bundle_applicability_pair, verify_production_deployment_receipts,
45};
46pub use error::{ErrorKind, Result, SaddleError};
47pub use generation_pair::{
48    CanonicalSignedFiveLeafGenerationV2Input, FiveLeafGenerationV2NonAuthorityView,
49    FiveLeafV2SignerResponse, FiveLeafV2SigningError, FiveLeafV2SigningRequest,
50    GenerationPairError, VerifiedComponentGenerationPairingReceipt,
51    VerifiedFiveLeafGenerationV2Owner, VerifiedFiveLeafGenerationV2PairedOwner,
52    VerifiedFiveLeafV2SignerPolicyOwner, VerifiedFiveLeafV2SigningRequestApprovalOwner,
53    VerifiedGeneratedComponentGenerationOwner,
54    VerifiedGeneratedComponentGenerationV2FinalTransaction,
55    VerifiedGeneratedComponentGenerationV2Owner, VerifiedGenerationKeyApplicabilityReceipt,
56    VerifiedObservabilityCapacityView, VerifiedSignedDeploymentGenerationOwner,
57    begin_generated_component_generation_v2_final_transaction, bind_generated_component_generation,
58    bind_generated_component_generation_v2, capture_untrusted_five_leaf_v2_signer_response,
59    consume_component_generation_pairing, pair_component_generation,
60    pair_verified_five_leaf_generation_v2, prepare_five_leaf_v2_signing_request,
61    restore_generated_component_generation_v2_final_transaction,
62    verify_approved_five_leaf_generation_v2, verify_five_leaf_v2_signing_response,
63};
64#[doc(hidden)]
65pub use golden_c8_applicability::{
66    ApprovedGoldenC8ApplicabilityInput, GoldenC8ApplicabilityRejection,
67    VerifiedGoldenC8ApplicabilityOwner, approved_golden_c8_applicability_input,
68    verify_golden_c8_applicability,
69};
70#[doc(hidden)]
71pub use golden_c8_startup_assembly::{
72    ApprovedGoldenC8StartupAssemblyInput, GoldenC8StartupAssemblyRejection,
73    VerifiedGoldenC8StartupAssemblyInputOwner, approved_golden_c8_startup_assembly_input,
74    verify_golden_c8_startup_assembly_input,
75};
76pub use lifecycle::{ComponentLifecycle, LifecycleFuture};
77#[doc(hidden)]
78pub use observability_block_state::{
79    ObservabilityBlockState, allocate_observability_block_states,
80    observability_block_state_array_layout, observability_block_state_schema_identity,
81};
82#[doc(hidden)]
83pub use observability_identity::{
84    ObservabilityBundleIdentityAuthority, ObservabilityBundleIdentityContinuation,
85    SignedDirectoryIssuerError, VerifiedSignedDirectorySubjectContinuation,
86    issue_final_directory_receipts, issue_observability_bundle_identity,
87    pair_signed_directory_subject_generation, pair_signed_directory_subject_generation_v2,
88    verify_observability_bundle_binding, verify_signed_directory_subject,
89    verify_signed_directory_subject_deployment_pair,
90};
91#[doc(hidden)]
92pub use rendezvous_manifest::{
93    CanonicalSignedRendezvousManifestInput, RendezvousManifestPreflightError,
94    StructurallyVerifiedRendezvousManifestPreflightOwner,
95    VerifiedRendezvousManifestKeyApplicabilityReceipt,
96    verify_rendezvous_manifest_structural_preflight,
97};
98#[doc(hidden)]
99pub use trusted_candidate_set::{
100    ApprovedTrustedCandidateSetInput, TrustedCandidateSetRejection,
101    VerifiedTrustedCandidateSetOwner, approved_trusted_candidate_set_input,
102    rollback_trusted_candidate_set, verify_trusted_candidate_set,
103};