dpp/identity/state_transition/
mod.rs

1// TODO: Move to state_transitions module
2
3use crate::ProtocolError;
4use asset_lock_proof::AssetLockProof;
5
6pub mod asset_lock_proof;
7
8/// Objects with Asset Lock Proof
9pub trait AssetLockProved {
10    /// Set asset lock proof
11    fn set_asset_lock_proof(
12        &mut self,
13        asset_lock_proof: AssetLockProof,
14    ) -> Result<(), ProtocolError>;
15
16    /// Get asset lock proof
17    fn asset_lock_proof(&self) -> &AssetLockProof;
18}
19
20/// Only state transitions funded with Asset Lock Transactions have Asset Lock Proofs
21pub trait OptionallyAssetLockProved {
22    /// Returns asset lock proof if state transition implements it
23    fn optional_asset_lock_proof(&self) -> Option<&AssetLockProof> {
24        None
25    }
26}