pub trait Subject{
Show 18 methods
// Required methods
fn update_sn<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn reject<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn confirm<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
new_owner: PublicKey,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
new_owner: PublicKey,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn eol<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn apply_patch(
&mut self,
json_patch: ValueWrapper,
) -> Result<(), ActorError>;
fn manager_new_ledger_events<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
events: Vec<Ledger>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_last_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<Option<Ledger>, ActorError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn verify_new_ledger_event_args<'a>(
new_ledger_event: &'a Ledger,
subject_metadata: Metadata,
actual_ledger_event_hash: DigestIdentifier,
last_data: LastData,
hash: &'a HashAlgorithm,
full_view: bool,
only_clear_events: bool,
) -> VerifyNewLedgerEvent<'a> { ... }
fn hash_viewpoints(
hash: &HashAlgorithm,
viewpoints: &BTreeSet<String>,
) -> Result<DigestIdentifier, SubjectError> { ... }
fn request_viewpoints(event_request: &EventRequest) -> BTreeSet<String> { ... }
fn apply_patch_verify(
subject_properties: &mut ValueWrapper,
json_patch: ValueWrapper,
) -> Result<(), SubjectError> { ... }
fn verify_new_ledger_event<'life0, 'life1, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
args: VerifyNewLedgerEvent<'life1>,
) -> Pin<Box<dyn Future<Output = Result<bool, SubjectError>> + Send + 'async_trait>>
where Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn verify_first_ledger_event<'life0, 'life1, 'life2, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
ledger_event: &'life1 Ledger,
hash: &'life2 HashAlgorithm,
subject_metadata: Metadata,
) -> Pin<Box<dyn Future<Output = Result<(), SubjectError>> + Send + 'async_trait>>
where Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn register<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: RegisterMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: Send + 'async_trait,
'life0: 'async_trait { ... }
fn event_to_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
data: DataForSink,
event: Option<EventRequest>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: Send + 'async_trait,
'life0: 'async_trait { ... }
fn publish_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: SinkDataMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>
where Self: Send + 'async_trait,
'life0: 'async_trait { ... }
fn get_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
lo_sn: Option<u64>,
hi_sn: u64,
) -> Pin<Box<dyn Future<Output = Result<(Vec<<Self as Actor>::Event>, bool), ActorError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Required Methods§
fn update_sn<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reject<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn confirm<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
new_owner: PublicKey,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
new_owner: PublicKey,
gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn eol<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn apply_patch(&mut self, json_patch: ValueWrapper) -> Result<(), ActorError>
fn manager_new_ledger_events<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
events: Vec<Ledger>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_last_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<Option<Ledger>, ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Provided Methods§
fn verify_new_ledger_event_args<'a>( new_ledger_event: &'a Ledger, subject_metadata: Metadata, actual_ledger_event_hash: DigestIdentifier, last_data: LastData, hash: &'a HashAlgorithm, full_view: bool, only_clear_events: bool, ) -> VerifyNewLedgerEvent<'a>
fn hash_viewpoints( hash: &HashAlgorithm, viewpoints: &BTreeSet<String>, ) -> Result<DigestIdentifier, SubjectError>
fn request_viewpoints(event_request: &EventRequest) -> BTreeSet<String>
fn apply_patch_verify( subject_properties: &mut ValueWrapper, json_patch: ValueWrapper, ) -> Result<(), SubjectError>
fn verify_new_ledger_event<'life0, 'life1, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
args: VerifyNewLedgerEvent<'life1>,
) -> Pin<Box<dyn Future<Output = Result<bool, SubjectError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn verify_first_ledger_event<'life0, 'life1, 'life2, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
ledger_event: &'life1 Ledger,
hash: &'life2 HashAlgorithm,
subject_metadata: Metadata,
) -> Pin<Box<dyn Future<Output = Result<(), SubjectError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn register<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: RegisterMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn event_to_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
data: DataForSink,
event: Option<EventRequest>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn publish_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: SinkDataMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn get_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
lo_sn: Option<u64>,
hi_sn: u64,
) -> Pin<Box<dyn Future<Output = Result<(Vec<<Self as Actor>::Event>, bool), ActorError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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.