// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "forge-std/Test.sol"; import "../../contracts/registry/UniversalAssetRegistry.sol"; contract AccessControlSecurityTest is Test { UniversalAssetRegistry public registry; address public admin; address public attacker; function setUp() public { admin = makeAddr("admin"); attacker = makeAddr("attacker"); vm.startPrank(admin); registry = new UniversalAssetRegistry(); registry.initialize(admin); vm.stopPrank(); } function testCannotProposeWithoutRole() public { vm.startPrank(attacker); vm.expectRevert(); registry.proposeAsset( makeAddr("token"), UniversalAssetRegistry.AssetType.ERC20Standard, UniversalAssetRegistry.ComplianceLevel.Public, "Test", "TST", 18, "US", 50, 1e15, 1000000e18 ); vm.stopPrank(); } }