blueprint_client_tangle/
lib.rs1#![cfg_attr(not(feature = "std"), no_std)]
49#![deny(
50 missing_docs,
51 missing_debug_implementations,
52 trivial_casts,
53 trivial_numeric_casts,
54 unsafe_code,
55 unstable_features,
56 unused_import_braces,
57 unused_qualifications
58)]
59
60#[allow(unused_extern_crates)]
61extern crate alloc;
62
63use core::future::Future;
64
65pub mod blueprint_metadata;
66pub mod client;
67pub mod config;
68#[allow(missing_docs)]
69pub mod contracts;
70pub mod error;
71#[allow(missing_docs)]
72pub mod services;
73
74pub use blueprint_metadata::{
76 ConfidentialityPolicy, ExecutionProfile, ExecutionProfileError, GpuPolicy, GpuRequirements,
77 extract_job_profiles_blob, inject_execution_profile, resolve_confidentiality_policy,
78 resolve_execution_profile, resolve_execution_profile_from_profiling_data,
79 resolve_gpu_requirements,
80};
81pub use client::{
82 AggregationConfig, AssetInfo, AssetKind, BlueprintSelectionMode, DelegationInfo,
83 DelegationMode, DelegationRecord, DepositInfo, EcdsaPublicKey, JobSubmissionResult, LockInfo,
84 LockMultiplier, OperatorMetadata, OperatorStatusSnapshot, PendingUnstake, PendingWithdrawal,
85 RestakingMetadata, RestakingStatus, TangleClient, TangleEvent, ThresholdType,
86 TransactionResult,
87};
88pub use config::{TangleClientConfig, TangleSettings};
89pub use contracts::{
90 IBlueprintServiceManager, IMultiAssetDelegation, IOperatorStatusRegistry, ITangle,
91};
92pub use error::{Error, Result};
93pub use services::{
94 BlueprintConfig, BlueprintInfo, MembershipModel, OperatorSecurityCommitment, PricingModel,
95 ServiceInfo, ServiceRequestInfo, ServiceRequestParams, ServiceStatus,
96};
97
98pub trait EventsClient<E> {
100 fn next_event(&self) -> impl Future<Output = Option<E>> + Send;
102
103 fn latest_event(&self) -> impl Future<Output = Option<E>> + Send;
105}
106
107impl EventsClient<TangleEvent> for TangleClient {
108 async fn next_event(&self) -> Option<TangleEvent> {
109 self.next_event().await
110 }
111
112 async fn latest_event(&self) -> Option<TangleEvent> {
113 self.latest_event().await
114 }
115}