34 lines
975 B
Solidity
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;
|
|
}
|