预编译 合规模块

共识层交易拦截,在交易执行前自动检查 KYC 状态和合规规则,Gas 成本比智能合约降低 50 倍

💡 核心优势:以太坊上的 KYC 检查需要智能合约(~50k Gas),ZORAI通过预编译合约只需 1k Gas。

预编译合约列表

地址功能输入输出Gas
0x0100KYC 检查32 bytes 地址32 bytes 状态 (1=批准)1,000
0x0101合规转账检查from + to + value64 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 行