gcx/blockchain/genex-contracts/src/interfaces/ICompliance.sol

34 lines
975 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "./ICoupon.sol";
/// @title ICompliance — 合规合约接口
/// @notice 定义 OFAC、KYC、Travel Rule 检查的外部调用接口
interface ICompliance {
function isBlacklisted(address account) external view returns (bool);
function isFrozen(address account) external view returns (bool);
function getKycLevel(address account) external view returns (uint8);
function requireKycLevel(address account, uint8 requiredLevel) external view;
function preTradeCheck(
address buyer,
address seller,
uint256 amount,
ICoupon.CouponType couponType
) external view;
function p2pComplianceCheck(
address sender,
address receiver,
uint256 amount
) external view;
function recordTravelRule(
address sender,
address receiver,
bytes32 senderInfoHash,
bytes32 receiverInfoHash
) external;
}