diff --git a/foundry.toml b/foundry.toml index ba81c89..b56c4de 100644 --- a/foundry.toml +++ b/foundry.toml @@ -27,4 +27,9 @@ exclude_lints = [ "asm-keccak256", # EIP-712 hashing "erc20-unchecked-transfer", # Warning on ERC-721 transferFrom "unused-import" # BuilderCodesTest imports for purpose of dependent tests -] \ No newline at end of file +] + +[fmt] +sort_imports = true +wrap_comments = true +single_line_statement_blocks = "single" \ No newline at end of file diff --git a/src/BuilderCodes.sol b/src/BuilderCodes.sol index ad77f06..013e056 100644 --- a/src/BuilderCodes.sol +++ b/src/BuilderCodes.sol @@ -1,16 +1,16 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {Initializable} from "openzeppelin-contracts-upgradeable/proxy/utils/Initializable.sol"; -import {ERC721Upgradeable, IERC721} from "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; import {AccessControlUpgradeable} from "openzeppelin-contracts-upgradeable/access/AccessControlUpgradeable.sol"; import {Ownable2StepUpgradeable} from "openzeppelin-contracts-upgradeable/access/Ownable2StepUpgradeable.sol"; +import {Initializable} from "openzeppelin-contracts-upgradeable/proxy/utils/Initializable.sol"; import {UUPSUpgradeable} from "openzeppelin-contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; -import {IERC4906} from "openzeppelin-contracts/interfaces/IERC4906.sol"; +import {ERC721Upgradeable, IERC721} from "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; import {IERC165} from "openzeppelin-contracts/interfaces/IERC165.sol"; -import {LibString} from "solady/utils/LibString.sol"; -import {LibBit} from "solady/utils/LibBit.sol"; +import {IERC4906} from "openzeppelin-contracts/interfaces/IERC4906.sol"; import {EIP712} from "solady/utils/EIP712.sol"; +import {LibBit} from "solady/utils/LibBit.sol"; +import {LibString} from "solady/utils/LibString.sol"; import {SignatureCheckerLib} from "solady/utils/SignatureCheckerLib.sol"; /// @notice Registry for builder codes diff --git a/test/integration/BuilderCodesAdminOperations.t.sol b/test/integration/BuilderCodesAdminOperations.t.sol index a32daeb..68aaa49 100644 --- a/test/integration/BuilderCodesAdminOperations.t.sol +++ b/test/integration/BuilderCodesAdminOperations.t.sol @@ -1,9 +1,10 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../lib/BuilderCodesTest.sol"; -import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +import {BuilderCodesTest} from "../lib/BuilderCodesTest.sol"; /// @notice Integration tests for BuilderCodes operations contract BuilderCodesAdminOperationsTest is BuilderCodesTest { diff --git a/test/lib/BuilderCodesTest.sol b/test/lib/BuilderCodesTest.sol index 6a62cfb..90bb7f7 100644 --- a/test/lib/BuilderCodesTest.sol +++ b/test/lib/BuilderCodesTest.sol @@ -1,9 +1,9 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {Test} from "forge-std/Test.sol"; -import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {IERC721Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {Test} from "forge-std/Test.sol"; import {BuilderCodes} from "../../src/BuilderCodes.sol"; diff --git a/test/lib/mocks/MockAccount.sol b/test/lib/mocks/MockAccount.sol index 2c7ed7e..6044cc3 100644 --- a/test/lib/mocks/MockAccount.sol +++ b/test/lib/mocks/MockAccount.sol @@ -48,9 +48,7 @@ contract MockAccount is IERC1271 { override returns (bytes4 magicValue) { - if (SignatureCheckerLib.isValidSignatureNow(owner, hash, signature)) { - return MAGICVALUE; - } + if (SignatureCheckerLib.isValidSignatureNow(owner, hash, signature)) return MAGICVALUE; return bytes4(0); } } diff --git a/test/unit/BuilderCodes/constructor.t.sol b/test/unit/BuilderCodes/constructor.t.sol index 005043a..3974374 100644 --- a/test/unit/BuilderCodes/constructor.t.sol +++ b/test/unit/BuilderCodes/constructor.t.sol @@ -2,6 +2,7 @@ pragma solidity ^0.8.29; import {Test} from "forge-std/Test.sol"; + import {BuilderCodes, Initializable} from "../../../src/BuilderCodes.sol"; /// @notice Unit tests for BuilderCodes constructor diff --git a/test/unit/BuilderCodes/contractURI.t.sol b/test/unit/BuilderCodes/contractURI.t.sol index cba9733..31ccadb 100644 --- a/test/unit/BuilderCodes/contractURI.t.sol +++ b/test/unit/BuilderCodes/contractURI.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.contractURI contract ContractURITest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/initialize.t.sol b/test/unit/BuilderCodes/initialize.t.sol index 3581401..c7200c1 100644 --- a/test/unit/BuilderCodes/initialize.t.sol +++ b/test/unit/BuilderCodes/initialize.t.sol @@ -135,10 +135,7 @@ contract InitializeTest is BuilderCodesTest { // Verify URI prefix by checking contractURI format string memory contractURI = freshContract.contractURI(); - if (bytes(uriPrefix).length > 0) { - assertEq(contractURI, string.concat(uriPrefix, "contractURI.json")); - } else { - assertEq(contractURI, ""); - } + if (bytes(uriPrefix).length > 0) assertEq(contractURI, string.concat(uriPrefix, "contractURI.json")); + else assertEq(contractURI, ""); } } diff --git a/test/unit/BuilderCodes/isRegistered.t.sol b/test/unit/BuilderCodes/isRegistered.t.sol index 35fb3e7..278c280 100644 --- a/test/unit/BuilderCodes/isRegistered.t.sol +++ b/test/unit/BuilderCodes/isRegistered.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.isRegistered contract IsRegisteredTest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/payoutAddress.t.sol b/test/unit/BuilderCodes/payoutAddress.t.sol index e25a7b8..95f62d3 100644 --- a/test/unit/BuilderCodes/payoutAddress.t.sol +++ b/test/unit/BuilderCodes/payoutAddress.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.payoutAddress (both overloads) contract PayoutAddressTest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/safeTransferFrom.t.sol b/test/unit/BuilderCodes/safeTransferFrom.t.sol index 9b3fbf0..e90f005 100644 --- a/test/unit/BuilderCodes/safeTransferFrom.t.sol +++ b/test/unit/BuilderCodes/safeTransferFrom.t.sol @@ -7,7 +7,8 @@ import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.safeTransferFrom contract SafeTransferFromTest is BuilderCodesTest { - /// @notice Test that safeTransferFrom(from, to, tokenId) reverts when the token owner doesn't have the transfer role + /// @notice Test that safeTransferFrom(from, to, tokenId) reverts when the token owner doesn't have the transfer + /// role /// /// @param from The from address /// @param to The to address @@ -45,7 +46,8 @@ contract SafeTransferFromTest is BuilderCodesTest { assertEq(builderCodes.balanceOf(to), 0); } - /// @notice Test that safeTransferFrom(from, to, tokenId) reverts when the approved address doesn't have the transfer role + /// @notice Test that safeTransferFrom(from, to, tokenId) reverts when the approved address doesn't have the + /// transfer role /// /// @param from The from address /// @param to The to address @@ -87,7 +89,8 @@ contract SafeTransferFromTest is BuilderCodesTest { assertEq(builderCodes.balanceOf(to), 0); } - /// @notice Test that safeTransferFrom(from, to, tokenId, data) reverts when the token owner doesn't have the transfer role + /// @notice Test that safeTransferFrom(from, to, tokenId, data) reverts when the token owner doesn't have the + /// transfer role /// /// @param from The from address /// @param to The to address @@ -127,7 +130,8 @@ contract SafeTransferFromTest is BuilderCodesTest { assertEq(builderCodes.balanceOf(to), 0); } - /// @notice Test that safeTransferFrom(from, to, tokenId, data) reverts when the approved address doesn't have the transfer role + /// @notice Test that safeTransferFrom(from, to, tokenId, data) reverts when the approved address doesn't have the + /// transfer role /// /// @param from The from address /// @param to The to address @@ -292,7 +296,8 @@ contract SafeTransferFromTest is BuilderCodesTest { assertEq(builderCodes.balanceOf(to), 1); } - /// @notice Test that safeTransferFrom(from, to, tokenId, data) succeeds when the approved address has the transfer role + /// @notice Test that safeTransferFrom(from, to, tokenId, data) succeeds when the approved address has the transfer + /// role /// /// @param from The from address /// @param to The to address diff --git a/test/unit/BuilderCodes/toCode.t.sol b/test/unit/BuilderCodes/toCode.t.sol index 3c59aad..a061096 100644 --- a/test/unit/BuilderCodes/toCode.t.sol +++ b/test/unit/BuilderCodes/toCode.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.toCode contract ToCodeTest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/toTokenId.t.sol b/test/unit/BuilderCodes/toTokenId.t.sol index 196e4b0..83be989 100644 --- a/test/unit/BuilderCodes/toTokenId.t.sol +++ b/test/unit/BuilderCodes/toTokenId.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.toTokenId contract ToTokenIdTest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/tokenURI.t.sol b/test/unit/BuilderCodes/tokenURI.t.sol index f2539aa..aaf89d2 100644 --- a/test/unit/BuilderCodes/tokenURI.t.sol +++ b/test/unit/BuilderCodes/tokenURI.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest, IERC721Errors} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest, IERC721Errors} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.tokenURI contract TokenURITest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/updateBaseURI.t.sol b/test/unit/BuilderCodes/updateBaseURI.t.sol index 69277ef..8fb3afd 100644 --- a/test/unit/BuilderCodes/updateBaseURI.t.sol +++ b/test/unit/BuilderCodes/updateBaseURI.t.sol @@ -54,11 +54,8 @@ contract UpdateBaseURITest is BuilderCodesTest { builderCodes.updateBaseURI(uriPrefix); string memory tokenURI = builderCodes.tokenURI(tokenId); - if (bytes(uriPrefix).length > 0) { - assertEq(tokenURI, string.concat(uriPrefix, validCode)); - } else { - assertEq(tokenURI, ""); - } + if (bytes(uriPrefix).length > 0) assertEq(tokenURI, string.concat(uriPrefix, validCode)); + else assertEq(tokenURI, ""); } /// @notice Test that updateBaseURI successfully updates the code URI @@ -75,11 +72,8 @@ contract UpdateBaseURITest is BuilderCodesTest { builderCodes.updateBaseURI(uriPrefix); string memory codeURI = builderCodes.codeURI(validCode); - if (bytes(uriPrefix).length > 0) { - assertEq(codeURI, string.concat(uriPrefix, validCode)); - } else { - assertEq(codeURI, ""); - } + if (bytes(uriPrefix).length > 0) assertEq(codeURI, string.concat(uriPrefix, validCode)); + else assertEq(codeURI, ""); } /// @notice Test that updateBaseURI successfully updates the contract URI @@ -90,11 +84,8 @@ contract UpdateBaseURITest is BuilderCodesTest { builderCodes.updateBaseURI(uriPrefix); string memory contractURI = builderCodes.contractURI(); - if (bytes(uriPrefix).length > 0) { - assertEq(contractURI, string.concat(uriPrefix, "contractURI.json")); - } else { - assertEq(contractURI, ""); - } + if (bytes(uriPrefix).length > 0) assertEq(contractURI, string.concat(uriPrefix, "contractURI.json")); + else assertEq(contractURI, ""); } /// @notice Test that updateBaseURI emits the ERC4906 BatchMetadataUpdate event diff --git a/test/unit/BuilderCodes/updatePayoutAddress.t.sol b/test/unit/BuilderCodes/updatePayoutAddress.t.sol index 7a16a81..85c4adc 100644 --- a/test/unit/BuilderCodes/updatePayoutAddress.t.sol +++ b/test/unit/BuilderCodes/updatePayoutAddress.t.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest, IERC721Errors} from "../../lib/BuilderCodesTest.sol"; import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest, IERC721Errors} from "../../lib/BuilderCodesTest.sol"; /// @notice Unit tests for BuilderCodes.updatePayoutAddress contract UpdatePayoutAddressTest is BuilderCodesTest { diff --git a/test/unit/BuilderCodes/upgradeToAndCall.t.sol b/test/unit/BuilderCodes/upgradeToAndCall.t.sol index 99bf4d1..f674a11 100644 --- a/test/unit/BuilderCodes/upgradeToAndCall.t.sol +++ b/test/unit/BuilderCodes/upgradeToAndCall.t.sol @@ -1,10 +1,11 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.29; -import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; -import {BuilderCodes} from "../../../src/BuilderCodes.sol"; -import {IERC1967} from "@openzeppelin/contracts/interfaces/IERC1967.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {IERC1967} from "@openzeppelin/contracts/interfaces/IERC1967.sol"; + +import {BuilderCodes} from "../../../src/BuilderCodes.sol"; +import {BuilderCodesTest} from "../../lib/BuilderCodesTest.sol"; import {MockBuilderCodesV2} from "../../lib/mocks/MockBuilderCodesV2.sol"; /// @notice Unit tests for BuilderCodes.upgradeToAndCall