80 lines
4.1 KiB
Plaintext
80 lines
4.1 KiB
Plaintext
# NAC 公链宪法增补条款 - ACC-20C 兼容层合规规则
|
||
# 版本: 1.0
|
||
# 路径: protocol/nac-constitution/clauses/acc20c_clauses.cnnl
|
||
# 关联文档: ACC-20C 兼容层协议, Issue #78 (ACC-20C 部署)
|
||
|
||
program NacAcc20cClauses
|
||
name: "NAC公链 ACC-20C 兼容层宪法条款"
|
||
version: "1.0.0"
|
||
description: "4条 ACC-20C 专属宪法条款(A53-A56),替代 PermissionProxy,将合规检查提升至协议层。"
|
||
|
||
# ============================================================
|
||
# 第八章:ACC-20C 兼容层条款(A53-A56)
|
||
# ============================================================
|
||
|
||
# --- 战术级条款 (Tactical Tier) ---
|
||
|
||
clause A53_Acc20cWrapCompliance
|
||
name: "ACC-20C 资产包装合规强制"
|
||
tier: Tactical
|
||
clause_index: 201
|
||
description: "调用 acc20c_wrapper.wrap 函数时,CEE 必须强制验证:
|
||
1. 调用者(msg.sender)必须通过 GIDS 的 KYC/AML 验证。
|
||
2. 底层 ACC-20 资产未被列入任何司法辖区的黑名单。
|
||
3. 调用者必须质押足额的 XTZH 作为合规保证金。"
|
||
predicate: tx.target_interface == "IAcc20C" and tx.target_function == "wrap" implies
|
||
(gids.is_kyc_verified(tx.origin) == true and
|
||
asset.is_blacklisted(tx.params.acc20_contract, tx.params.acc20_token_id) == false and
|
||
xtzh.has_sufficient_collateral(tx.origin, asset.valuation(tx.params.acc20_contract, tx.params.acc20_token_id)) == true)
|
||
obligation: cee.verify_gids_kyc per_tx and cee.verify_asset_blacklist per_tx and cee.verify_xtzh_collateral per_tx
|
||
violation_action: reject_transaction
|
||
test: A53_test_wrap_compliance
|
||
references: ["ACC-20C 协议文档 §4.1", "XTZH 价值稳定机制 §3.2"]
|
||
|
||
clause A54_Acc20cUnwrapCompliance
|
||
name: "ACC-20C 资产解包合规强制"
|
||
tier: Tactical
|
||
clause_index: 202
|
||
description: "调用 acc20c_wrapper.unwrap 函数时,CEE 必须强制验证:
|
||
1. 资产的解包冷却期(unlock_timestamp)已过。
|
||
2. 资产未处于任何司法冻结状态。"
|
||
predicate: tx.target_interface == "IAcc20C" and tx.target_function == "unwrap" implies
|
||
(block.timestamp >= asset.wrapped(tx.params.wrapper_token_id).unlock_timestamp and
|
||
asset.is_judicially_frozen(tx.params.wrapper_token_id) == false)
|
||
obligation: cee.verify_asset_unlock_period per_tx
|
||
violation_action: reject_transaction
|
||
test: A54_test_unwrap_compliance
|
||
references: ["ACC-20C 协议文档 §4.2"]
|
||
|
||
clause A55_Acc20cTransferCompliance
|
||
name: "ACC-20C 资产转移辖区合规强制"
|
||
tier: Tactical
|
||
clause_index: 203
|
||
description: "调用 acc20c_wrapper.transfer 函数时,CEE 必须强制验证:
|
||
1. 交易的发送方(from)和接收方(to)都必须满足底层 RWA 资产所绑定的司法辖区规则。
|
||
2. CEE 需调用多辖区规则引擎进行交叉验证。"
|
||
predicate: tx.target_interface == "IAcc20C" and tx.target_function == "transfer" implies
|
||
jurisdiction.can_transfer(
|
||
asset.underlying_rwa(tx.params.wrapper_token_id),
|
||
gids.get_jurisdiction(tx.origin),
|
||
gids.get_jurisdiction(tx.params.to)
|
||
) == true
|
||
obligation: cee.verify_cross_jurisdiction_transfer_rules per_tx
|
||
violation_action: reject_transaction
|
||
test: A55_test_transfer_compliance
|
||
references: ["ACC-20C 协议文档 §2.1", "多辖区节点共享白皮书 §4.3"]
|
||
|
||
clause A56_Acc20cAdminFreeze
|
||
name: "ACC-20C 资产司法冻结合规"
|
||
tier: Tactical
|
||
clause_index: 204
|
||
description: "只有获得宪法法院授权的地址(ConstitutionalCourt)才能调用 acc20c_wrapper.freeze_asset 函数。
|
||
此操作必须附带有效的链上司法裁决文书哈希。"
|
||
predicate: tx.target_interface == "IAcc20C" and tx.target_function == "freeze_asset" implies
|
||
(tx.origin == constitution.get_address("ConstitutionalCourt") and
|
||
tx.has_valid_judicial_warrant() == true)
|
||
obligation: cee.verify_judicial_warrant per_tx
|
||
violation_action: reject_transaction
|
||
test: A56_test_admin_freeze_compliance
|
||
references: ["NAC 公链宪法 §C12.3"]
|