// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Test} from "forge-std/Test.sol"; import {Chain138ParticipantSurface} from "../../contracts/mainnet-checkpoint/Chain138ParticipantSurface.sol"; contract Chain138ParticipantSurfaceTest is Test { Chain138ParticipantSurface surface; address admin = address(0xA11CE); function setUp() public { surface = new Chain138ParticipantSurface(admin); } function testNotifyBatch() public { Chain138ParticipantSurface.Notification[] memory items = new Chain138ParticipantSurface.Notification[](1); items[0] = Chain138ParticipantSurface.Notification({ participant: address(0xBEEF), chain138TxHash: keccak256("tx"), instructionId: keccak256("instr"), direction: 0, batchId: 1, valueWei: 1 ether, valueUsdE8: 100 }); vm.prank(admin); surface.notifyBatch(1, items); assertTrue( surface.notified(surface.notificationKey(address(0xBEEF), keccak256("tx"), 0)) ); } }