预编译 合规模块
共识层交易拦截,在交易执行前自动检查 KYC 状态和合规规则,Gas 成本比智能合约降低 50 倍。
💡 核心优势:以太坊上的 KYC 检查需要智能合约(~50k Gas),ZORAI通过预编译合约只需 1k Gas。
预编译合约列表
| 地址 | 功能 | 输入 | 输出 | Gas |
|---|---|---|---|---|
0x0100 | KYC 检查 | 32 bytes 地址 | 32 bytes 状态 (1=批准) | 1,000 |
0x0101 | 合规转账检查 | from + to + value | 64 bytes 状态+错误码 | 2,000 |
0x0102 | 投资者类型查询 | 32 bytes 地址 | 32 bytes 类型 | 1,000 |
0x0103 | 管辖权查询 | 32 bytes 地址 | 32 bytes 管辖权 | 1,000 |
0x0104 | 冻结/解冻地址 | 地址 + 标志 | 32 bytes 状态 | 1,500 |
0x0105 | 设置 KYC 记录 | 完整 KYC 数据 | 32 bytes 状态 | 3,000 |
Solidity 调用示例
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IKYCCheck {
function isKYCApproved(address addr) external view returns (bool);
}
contract RWAContract {
address constant KYC_CHECK = 0x0000000000000000000000000000000000000100;
function transferWithKYC(address to, uint256 amount) external {
require(IKYCCheck(KYC_CHECK).isKYCApproved(msg.sender), "Sender not KYC approved");
require(IKYCCheck(KYC_CHECK).isKYCApproved(to), "Recipient not KYC approved");
_transfer(msg.sender, to, amount);
}
}
文件位置
pkg/evm/rwa_precompiled.go - 约 200 行