// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./NavsReceiver.sol"; /** * AMLTestContract - Demonstrates AML compliance checking with NAVS * * This contract shows how to use the NavsAml library for: * - Single address sanctions checking */ contract AMLTestContract is NavsReceiver { // Events for demonstrating AML results event AddressSanctionResult(uint256 indexed taskId, address checkedAddress, bool isSanctioned); /** * Check if a single address is sanctioned */ function checkAddressSanction(address addr) external returns (uint256 taskId) { return isAddressSanctioned(addr, 0.1 ether); } // NAVS callback implementation /** * Handle single address sanction check results */ function onIsAddressSanctioned( uint256 taskId, address address_param, bool result, string memory error ) internal override { if (bytes(error).length > 0) { // Handle error case return; } emit AddressSanctionResult(taskId, address_param, result); // Take appropriate action based on result if (result) { // Address is sanctioned - implement your compliance logic // e.g., block transactions, flag for review, etc. } } }