Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: remove check and rename checkN to check #63

Merged
merged 1 commit into from
Apr 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions src/IRegistry.sol
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,9 @@ interface IERC7484 {
/* Check with external attester(s) */
/*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

function check(address module, address attester) external view;
function check(address module, address[] calldata attesters, uint256 threshold) external view;

function check(address module, ModuleType moduleType, address attester) external view;

function checkN(address module, address[] calldata attesters, uint256 threshold) external view;

function checkN(address module, ModuleType moduleType, address[] calldata attesters, uint256 threshold) external view;
function check(address module, ModuleType moduleType, address[] calldata attesters, uint256 threshold) external view;
}

/**
Expand Down
18 changes: 2 additions & 16 deletions src/core/TrustManagerExternalAttesterList.sol
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,7 @@ abstract contract TrustManagerExternalAttesterList is IRegistry, TrustManager {
/**
* @inheritdoc IERC7484
*/
function check(address module, address attester) external view {
$getAttestation(module, attester).enforceValid(ZERO_MODULE_TYPE);
}

/**
* @inheritdoc IERC7484
*/
function check(address module, ModuleType moduleType, address attester) external view {
$getAttestation(module, attester).enforceValid(moduleType);
}

/**
* @inheritdoc IERC7484
*/
function checkN(address module, address[] calldata attesters, uint256 threshold) external view {
function check(address module, address[] calldata attesters, uint256 threshold) external view {
uint256 attestersLength = attesters.length;
if (threshold == 0) threshold = attestersLength;
else if (attestersLength < threshold) revert InsufficientAttestations();
Expand All @@ -51,7 +37,7 @@ abstract contract TrustManagerExternalAttesterList is IRegistry, TrustManager {
/**
* @inheritdoc IERC7484
*/
function checkN(address module, ModuleType moduleType, address[] calldata attesters, uint256 threshold) external view {
function check(address module, ModuleType moduleType, address[] calldata attesters, uint256 threshold) external view {
uint256 attestersLength = attesters.length;
if (threshold == 0) threshold = attestersLength;
else if (attestersLength < threshold) revert InsufficientAttestations();
Expand Down
24 changes: 13 additions & 11 deletions test/TrustDelegationExternal.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,26 @@ contract TrustTestExternal is AttestationTest {
function test_WhenSupplyingExternal() external whenSettingAttester {
// It should set.
_make_WhenUsingValidECDSA(attester1);
address[] memory trustedAttestersSingle = new address[](1);
trustedAttestersSingle[0] = address(attester1.addr);

address[] memory trustedAttesters = new address[](2);
trustedAttesters[0] = address(attester1.addr);
trustedAttesters[1] = address(attester2.addr);

registry.check(address(module1), ModuleType.wrap(1), attester1.addr);
registry.check(address(module1), ModuleType.wrap(2), attester1.addr);
registry.check(address(module1), ModuleType.wrap(1), trustedAttestersSingle, 1);
registry.check(address(module1), ModuleType.wrap(2), trustedAttestersSingle, 1);
vm.expectRevert();
registry.check(address(module1), ModuleType.wrap(3), attester1.addr);
registry.checkN(address(module1), trustedAttesters, 1);
registry.checkN(address(module1), ModuleType.wrap(1), trustedAttesters, 1);
registry.check(address(module1), ModuleType.wrap(3), trustedAttestersSingle, 1);
registry.check(address(module1), trustedAttesters, 1);
registry.check(address(module1), ModuleType.wrap(1), trustedAttesters, 1);
vm.expectRevert();
registry.checkN(address(module1), trustedAttesters, 2);
registry.check(address(module1), trustedAttesters, 2);
vm.expectRevert();
registry.checkN(address(module1), ModuleType.wrap(1), trustedAttesters, 2);
registry.check(address(module1), ModuleType.wrap(1), trustedAttesters, 2);
_make_WhenUsingValidECDSA(attester2);
registry.checkN(address(module1), trustedAttesters, 2);
registry.checkN(address(module1), trustedAttesters, 2);
// registry.checkN(address(module1), ModuleType.wrap(1), trustedAttesters, 2);
registry.check(address(module1), trustedAttesters, 2);
registry.check(address(module1), trustedAttesters, 2);

trustedAttesters = new address[](4);
Account memory attester3 = makeAccount("attester3");
Expand All @@ -47,6 +49,6 @@ contract TrustTestExternal is AttestationTest {
trustedAttesters[2] = address(attester4.addr);
trustedAttesters[3] = address(attester2.addr);

registry.checkN(address(module1), trustedAttesters, 2);
registry.check(address(module1), trustedAttesters, 2);
}
}
Loading