45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
// Charter 标准库 - ACC-1644 监管控制协议
|
|
// 版本: 1.0 | 宪法授权控制器操作协议(冻结/强制转移/接管)
|
|
|
|
/// ACC-1644 监管控制接口
|
|
/// 提供监管机构对资产的强制操作能力(需要宪法授权)
|
|
protocol Acc1644 {
|
|
/// 冻结分区(监管机构操作)
|
|
fn freeze(
|
|
regulator: Address, partition_id: Hash,
|
|
reason: Bytes, evidence: Bytes, receipt: Hash
|
|
) -> Result;
|
|
|
|
/// 解冻分区
|
|
fn unfreeze(
|
|
regulator: Address, partition_id: Hash,
|
|
reason: Bytes, evidence: Bytes, receipt: Hash
|
|
) -> Result;
|
|
|
|
/// 强制转移(法院命令)
|
|
fn force_transfer(
|
|
super_regulator: Address, partition_id: Hash,
|
|
from: Address, to: Address, amount: u128,
|
|
legal_basis: Hash, evidence: Bytes, receipt: Hash
|
|
) -> Result;
|
|
|
|
/// 强制赎回
|
|
fn force_redeem(
|
|
super_regulator: Address, partition_id: Hash,
|
|
account: Address, amount: u128,
|
|
legal_basis: Hash, evidence: Bytes, receipt: Hash
|
|
) -> Result;
|
|
|
|
/// 接管控制权(紧急情况)
|
|
fn take_control(
|
|
emergency_controller: Address, new_controller: Address,
|
|
duration_secs: u64, reason: Bytes, receipt: Hash
|
|
) -> Result;
|
|
|
|
/// 查询分区冻结状态
|
|
fn is_partition_frozen(partition_id: Hash) -> bool;
|
|
|
|
/// 查询控制操作历史
|
|
fn get_control_actions(offset: u32, limit: u32) -> Vec<ControlAction>;
|
|
}
|