Ship AddressActivityRegistry V1/V2, ISO20022IntakeGateway, Chain138ParticipantSurface, checkpoint hub contracts, checkpoint-core package, aggregator/indexer/sdk services, relay profile guards, M00 diamond bridge facet, and OMNL compliance contracts. Co-authored-by: Cursor <[email protected]>
34 lines
1.1 KiB
Solidity
34 lines
1.1 KiB
Solidity
// 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))
|
|
);
|
|
}
|
|
}
|