NAC_Blockchain/nvm_v2/acc-protocol/src/lifecycle.rs

18 lines
424 B
Rust

// 资产生命周期管理
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum AssetState {
Created,
Active,
Frozen,
Terminated,
}
pub trait AssetLifecycle {
fn get_state(&self) -> AssetState;
fn activate(&mut self) -> Result<(), String>;
fn freeze(&mut self) -> Result<(), String>;
fn terminate(&mut self) -> Result<(), String>;
}