├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ └── feature_request.yaml ├── dependabot.yml └── workflows │ ├── echidna.yaml │ ├── lint.yaml │ └── medusa.yaml ├── .gitignore ├── .gitmodules ├── .prettierignore ├── .solhint.json ├── CLAUDE.md ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── PROPERTIES.md ├── README.md ├── Trophies.md ├── contracts ├── ERC20 │ ├── external │ │ ├── ERC20ExternalPropertyTests.sol │ │ ├── ExampleToken.sol │ │ ├── TokenMock.sol │ │ ├── echidna.config.yaml │ │ ├── properties │ │ │ ├── ERC20ExternalBasicProperties.sol │ │ │ ├── ERC20ExternalBurnableProperties.sol │ │ │ ├── ERC20ExternalIncreaseAllowanceProperties.sol │ │ │ ├── ERC20ExternalMintableProperties.sol │ │ │ └── ERC20ExternalPausableProperties.sol │ │ └── util │ │ │ ├── ERC20ExternalTestBase.sol │ │ │ └── ITokenMock.sol │ └── internal │ │ ├── echidna.config.yaml │ │ ├── properties │ │ ├── ERC20BasicProperties.sol │ │ ├── ERC20BurnableProperties.sol │ │ ├── ERC20IncreaseAllowanceProperties.sol │ │ ├── ERC20MintableProperties.sol │ │ └── ERC20PausableProperties.sol │ │ └── util │ │ └── ERC20TestBase.sol ├── ERC4626 │ ├── ERC4626PropertyTests.sol │ ├── README.md │ ├── properties │ │ ├── FunctionalAccountingProps.sol │ │ ├── MustNotRevertProps.sol │ │ ├── RedeemUsingApprovalProps.sol │ │ ├── RoundingProps.sol │ │ ├── SecurityProps.sol │ │ ├── SenderIndependentProps.sol │ │ └── VaultProxy.sol │ ├── test │ │ ├── Solmate4626.sol │ │ ├── echidna.config.yaml │ │ ├── rounding │ │ │ ├── BadConvertToAssetsRounding.sol │ │ │ ├── BadConvertToSharesRounding.sol │ │ │ ├── BadPreviewMintRounding.sol │ │ │ └── BadPreviewWithdrawRounding.sol │ │ ├── security │ │ │ └── BadShareInflation.sol │ │ └── usingApproval │ │ │ └── BadAllowanceUpdate.sol │ └── util │ │ ├── Actor.sol │ │ ├── ERC4626PropertyTestBase.sol │ │ ├── IERC4626Internal.sol │ │ ├── RedemptionProxy.sol │ │ └── TestERC20Token.sol ├── ERC721 │ ├── README.md │ ├── external │ │ ├── ERC721ExternalPropertyTests.sol │ │ ├── properties │ │ │ ├── ERC721ExternalBasicProperties.sol │ │ │ ├── ERC721ExternalBurnableProperties.sol │ │ │ └── ERC721ExternalMintableProperties.sol │ │ ├── test │ │ │ ├── ERC721Compliant.sol │ │ │ ├── echidna.config.yaml │ │ │ └── standard │ │ │ │ ├── ERC721BasicTests.sol │ │ │ │ ├── ERC721BurnableTests.sol │ │ │ │ ├── ERC721CompliantTests.sol │ │ │ │ └── ERC721MintableTests.sol │ │ └── util │ │ │ ├── ERC721ExternalTestBase.sol │ │ │ ├── ERC721IncorrectBasic.sol │ │ │ ├── ERC721IncorrectBurnable.sol │ │ │ ├── ERC721IncorrectMintable.sol │ │ │ └── MockReceiver.sol │ ├── internal │ │ ├── ERC721InternalPropertyTests.sol │ │ ├── properties │ │ │ ├── ERC721BasicProperties.sol │ │ │ ├── ERC721BurnableProperties.sol │ │ │ └── ERC721MintableProperties.sol │ │ ├── test │ │ │ ├── echidna.config.yaml │ │ │ └── standard │ │ │ │ ├── ERC721BasicTests.sol │ │ │ │ ├── ERC721BurnableTests.sol │ │ │ │ ├── ERC721Compliant.sol │ │ │ │ └── ERC721MintableTests.sol │ │ └── util │ │ │ ├── ERC721TestBase.sol │ │ │ └── MockReceiver.sol │ └── util │ │ └── IERC721Internal.sol ├── Math │ └── ABDKMath64x64 │ │ ├── ABDKMath64x64PropertyTests.sol │ │ └── README.md └── util │ ├── IERC20.sol │ ├── IERC4626.sol │ ├── IHevm.sol │ ├── PropertiesAsserts.sol │ ├── PropertiesConstants.sol │ └── User.sol ├── foundry.toml ├── funding.json ├── hardhat.config.js ├── package.json ├── remappings.txt └── tests ├── ERC20 ├── foundry │ ├── .gitmodules │ ├── echidna-config-ext.yaml │ ├── echidna-config.yaml │ ├── foundry.toml │ ├── medusa-config-ext.json │ ├── medusa-config.json │ ├── remappings.txt │ ├── src │ │ └── ExampleToken.sol │ └── test │ │ ├── CryticTest.sol │ │ └── CryticTestExt.sol └── hardhat │ ├── contracts │ ├── CryticTest.sol │ ├── CryticTestExt.sol │ └── ExampleToken.sol │ ├── hardhat.config.js │ ├── medusa-config-ext.json │ ├── medusa-config.json │ ├── package-lock.json │ ├── package.json │ ├── tests │ ├── echidna-config-ext.yaml │ └── echidna-config.yaml │ └── yarn.lock ├── ERC4626 ├── foundry │ ├── .gitmodules │ ├── README.md │ ├── echidna.yaml │ ├── foundry.toml │ ├── medusa-config.json │ ├── remappings.txt │ ├── src │ │ └── Basic4626Impl.sol │ └── test │ │ └── CryticTest.sol └── hardhat │ ├── .gitignore │ ├── README.md │ ├── contracts │ ├── Basic4626Impl.sol │ └── Echidna4626Harness.sol │ ├── hardhat.config.js │ ├── medusa-config.json │ ├── package-lock.json │ ├── package.json │ ├── tests │ └── echidna-config.yaml │ └── yarn.lock └── ERC721 ├── foundry ├── .gitmodules ├── echidna-config-ext.yaml ├── echidna-config.yaml ├── foundry.toml ├── remappings.txt ├── src │ └── ExampleToken.sol └── test │ ├── CryticTest.sol │ └── CryticTestExt.sol └── hardhat ├── contracts ├── CryticTest.sol ├── CryticTestExt.sol └── ExampleToken.sol ├── hardhat.config.js ├── package-lock.json ├── package.json ├── tests ├── echidna-config-ext.yaml └── echidna-config.yaml └── yarn.lock /.github/ISSUE_TEMPLATE/bug_report.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/ISSUE_TEMPLATE/bug_report.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/ISSUE_TEMPLATE/feature_request.yaml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/echidna.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/workflows/echidna.yaml -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/medusa.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.github/workflows/medusa.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.gitmodules -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.prettierignore -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/.solhint.json -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/CODEOWNERS -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/LICENSE -------------------------------------------------------------------------------- /PROPERTIES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/PROPERTIES.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/README.md -------------------------------------------------------------------------------- /Trophies.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/Trophies.md -------------------------------------------------------------------------------- /contracts/ERC20/external/ERC20ExternalPropertyTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/ERC20ExternalPropertyTests.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/ExampleToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/ExampleToken.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/TokenMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/TokenMock.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/echidna.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/echidna.config.yaml -------------------------------------------------------------------------------- /contracts/ERC20/external/properties/ERC20ExternalBasicProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/properties/ERC20ExternalBasicProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/properties/ERC20ExternalBurnableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/properties/ERC20ExternalBurnableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/properties/ERC20ExternalIncreaseAllowanceProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/properties/ERC20ExternalIncreaseAllowanceProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/properties/ERC20ExternalMintableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/properties/ERC20ExternalMintableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/properties/ERC20ExternalPausableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/properties/ERC20ExternalPausableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/util/ERC20ExternalTestBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/util/ERC20ExternalTestBase.sol -------------------------------------------------------------------------------- /contracts/ERC20/external/util/ITokenMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/external/util/ITokenMock.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/echidna.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/echidna.config.yaml -------------------------------------------------------------------------------- /contracts/ERC20/internal/properties/ERC20BasicProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/properties/ERC20BasicProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/properties/ERC20BurnableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/properties/ERC20BurnableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/properties/ERC20IncreaseAllowanceProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/properties/ERC20IncreaseAllowanceProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/properties/ERC20MintableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/properties/ERC20MintableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/properties/ERC20PausableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/properties/ERC20PausableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC20/internal/util/ERC20TestBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC20/internal/util/ERC20TestBase.sol -------------------------------------------------------------------------------- /contracts/ERC4626/ERC4626PropertyTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/ERC4626PropertyTests.sol -------------------------------------------------------------------------------- /contracts/ERC4626/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/README.md -------------------------------------------------------------------------------- /contracts/ERC4626/properties/FunctionalAccountingProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/FunctionalAccountingProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/MustNotRevertProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/MustNotRevertProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/RedeemUsingApprovalProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/RedeemUsingApprovalProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/RoundingProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/RoundingProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/SecurityProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/SecurityProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/SenderIndependentProps.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/SenderIndependentProps.sol -------------------------------------------------------------------------------- /contracts/ERC4626/properties/VaultProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/properties/VaultProxy.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/Solmate4626.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/Solmate4626.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/echidna.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/echidna.config.yaml -------------------------------------------------------------------------------- /contracts/ERC4626/test/rounding/BadConvertToAssetsRounding.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/rounding/BadConvertToAssetsRounding.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/rounding/BadConvertToSharesRounding.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/rounding/BadConvertToSharesRounding.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/rounding/BadPreviewMintRounding.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/rounding/BadPreviewMintRounding.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/rounding/BadPreviewWithdrawRounding.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/rounding/BadPreviewWithdrawRounding.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/security/BadShareInflation.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/security/BadShareInflation.sol -------------------------------------------------------------------------------- /contracts/ERC4626/test/usingApproval/BadAllowanceUpdate.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/test/usingApproval/BadAllowanceUpdate.sol -------------------------------------------------------------------------------- /contracts/ERC4626/util/Actor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/util/Actor.sol -------------------------------------------------------------------------------- /contracts/ERC4626/util/ERC4626PropertyTestBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/util/ERC4626PropertyTestBase.sol -------------------------------------------------------------------------------- /contracts/ERC4626/util/IERC4626Internal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/util/IERC4626Internal.sol -------------------------------------------------------------------------------- /contracts/ERC4626/util/RedemptionProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/util/RedemptionProxy.sol -------------------------------------------------------------------------------- /contracts/ERC4626/util/TestERC20Token.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC4626/util/TestERC20Token.sol -------------------------------------------------------------------------------- /contracts/ERC721/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/README.md -------------------------------------------------------------------------------- /contracts/ERC721/external/ERC721ExternalPropertyTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/ERC721ExternalPropertyTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/properties/ERC721ExternalBasicProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/properties/ERC721ExternalBasicProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/properties/ERC721ExternalBurnableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/properties/ERC721ExternalBurnableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/properties/ERC721ExternalMintableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/properties/ERC721ExternalMintableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/test/ERC721Compliant.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/ERC721Compliant.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/test/echidna.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/echidna.config.yaml -------------------------------------------------------------------------------- /contracts/ERC721/external/test/standard/ERC721BasicTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/standard/ERC721BasicTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/test/standard/ERC721BurnableTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/standard/ERC721BurnableTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/test/standard/ERC721CompliantTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/standard/ERC721CompliantTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/test/standard/ERC721MintableTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/test/standard/ERC721MintableTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/util/ERC721ExternalTestBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/util/ERC721ExternalTestBase.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/util/ERC721IncorrectBasic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/util/ERC721IncorrectBasic.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/util/ERC721IncorrectBurnable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/util/ERC721IncorrectBurnable.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/util/ERC721IncorrectMintable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/util/ERC721IncorrectMintable.sol -------------------------------------------------------------------------------- /contracts/ERC721/external/util/MockReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/external/util/MockReceiver.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/ERC721InternalPropertyTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/ERC721InternalPropertyTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/properties/ERC721BasicProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/properties/ERC721BasicProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/properties/ERC721BurnableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/properties/ERC721BurnableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/properties/ERC721MintableProperties.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/properties/ERC721MintableProperties.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/test/echidna.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/test/echidna.config.yaml -------------------------------------------------------------------------------- /contracts/ERC721/internal/test/standard/ERC721BasicTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/test/standard/ERC721BasicTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/test/standard/ERC721BurnableTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/test/standard/ERC721BurnableTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/test/standard/ERC721Compliant.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/test/standard/ERC721Compliant.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/test/standard/ERC721MintableTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/test/standard/ERC721MintableTests.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/util/ERC721TestBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/util/ERC721TestBase.sol -------------------------------------------------------------------------------- /contracts/ERC721/internal/util/MockReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/internal/util/MockReceiver.sol -------------------------------------------------------------------------------- /contracts/ERC721/util/IERC721Internal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/ERC721/util/IERC721Internal.sol -------------------------------------------------------------------------------- /contracts/Math/ABDKMath64x64/ABDKMath64x64PropertyTests.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/Math/ABDKMath64x64/ABDKMath64x64PropertyTests.sol -------------------------------------------------------------------------------- /contracts/Math/ABDKMath64x64/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/Math/ABDKMath64x64/README.md -------------------------------------------------------------------------------- /contracts/util/IERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/IERC20.sol -------------------------------------------------------------------------------- /contracts/util/IERC4626.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/IERC4626.sol -------------------------------------------------------------------------------- /contracts/util/IHevm.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/IHevm.sol -------------------------------------------------------------------------------- /contracts/util/PropertiesAsserts.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/PropertiesAsserts.sol -------------------------------------------------------------------------------- /contracts/util/PropertiesConstants.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/PropertiesConstants.sol -------------------------------------------------------------------------------- /contracts/util/User.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/contracts/util/User.sol -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/foundry.toml -------------------------------------------------------------------------------- /funding.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/funding.json -------------------------------------------------------------------------------- /hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/hardhat.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/remappings.txt -------------------------------------------------------------------------------- /tests/ERC20/foundry/.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/ERC20/foundry/echidna-config-ext.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/echidna-config-ext.yaml -------------------------------------------------------------------------------- /tests/ERC20/foundry/echidna-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/echidna-config.yaml -------------------------------------------------------------------------------- /tests/ERC20/foundry/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/foundry.toml -------------------------------------------------------------------------------- /tests/ERC20/foundry/medusa-config-ext.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/medusa-config-ext.json -------------------------------------------------------------------------------- /tests/ERC20/foundry/medusa-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/medusa-config.json -------------------------------------------------------------------------------- /tests/ERC20/foundry/remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/remappings.txt -------------------------------------------------------------------------------- /tests/ERC20/foundry/src/ExampleToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/src/ExampleToken.sol -------------------------------------------------------------------------------- /tests/ERC20/foundry/test/CryticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/test/CryticTest.sol -------------------------------------------------------------------------------- /tests/ERC20/foundry/test/CryticTestExt.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/foundry/test/CryticTestExt.sol -------------------------------------------------------------------------------- /tests/ERC20/hardhat/contracts/CryticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/contracts/CryticTest.sol -------------------------------------------------------------------------------- /tests/ERC20/hardhat/contracts/CryticTestExt.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/contracts/CryticTestExt.sol -------------------------------------------------------------------------------- /tests/ERC20/hardhat/contracts/ExampleToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/contracts/ExampleToken.sol -------------------------------------------------------------------------------- /tests/ERC20/hardhat/hardhat.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | solidity: "0.8.13", 3 | }; 4 | -------------------------------------------------------------------------------- /tests/ERC20/hardhat/medusa-config-ext.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/medusa-config-ext.json -------------------------------------------------------------------------------- /tests/ERC20/hardhat/medusa-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/medusa-config.json -------------------------------------------------------------------------------- /tests/ERC20/hardhat/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/package-lock.json -------------------------------------------------------------------------------- /tests/ERC20/hardhat/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/package.json -------------------------------------------------------------------------------- /tests/ERC20/hardhat/tests/echidna-config-ext.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/tests/echidna-config-ext.yaml -------------------------------------------------------------------------------- /tests/ERC20/hardhat/tests/echidna-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/tests/echidna-config.yaml -------------------------------------------------------------------------------- /tests/ERC20/hardhat/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC20/hardhat/yarn.lock -------------------------------------------------------------------------------- /tests/ERC4626/foundry/.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/ERC4626/foundry/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/README.md -------------------------------------------------------------------------------- /tests/ERC4626/foundry/echidna.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/echidna.yaml -------------------------------------------------------------------------------- /tests/ERC4626/foundry/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/foundry.toml -------------------------------------------------------------------------------- /tests/ERC4626/foundry/medusa-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/medusa-config.json -------------------------------------------------------------------------------- /tests/ERC4626/foundry/remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/remappings.txt -------------------------------------------------------------------------------- /tests/ERC4626/foundry/src/Basic4626Impl.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/src/Basic4626Impl.sol -------------------------------------------------------------------------------- /tests/ERC4626/foundry/test/CryticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/foundry/test/CryticTest.sol -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/.gitignore -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/README.md -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/contracts/Basic4626Impl.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/contracts/Basic4626Impl.sol -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/contracts/Echidna4626Harness.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/contracts/Echidna4626Harness.sol -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/hardhat.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | solidity: "0.8.17", 3 | }; 4 | -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/medusa-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/medusa-config.json -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/package-lock.json -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/package.json -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/tests/echidna-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/tests/echidna-config.yaml -------------------------------------------------------------------------------- /tests/ERC4626/hardhat/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC4626/hardhat/yarn.lock -------------------------------------------------------------------------------- /tests/ERC721/foundry/.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/ERC721/foundry/echidna-config-ext.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/echidna-config-ext.yaml -------------------------------------------------------------------------------- /tests/ERC721/foundry/echidna-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/echidna-config.yaml -------------------------------------------------------------------------------- /tests/ERC721/foundry/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/foundry.toml -------------------------------------------------------------------------------- /tests/ERC721/foundry/remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/remappings.txt -------------------------------------------------------------------------------- /tests/ERC721/foundry/src/ExampleToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/src/ExampleToken.sol -------------------------------------------------------------------------------- /tests/ERC721/foundry/test/CryticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/test/CryticTest.sol -------------------------------------------------------------------------------- /tests/ERC721/foundry/test/CryticTestExt.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/foundry/test/CryticTestExt.sol -------------------------------------------------------------------------------- /tests/ERC721/hardhat/contracts/CryticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/contracts/CryticTest.sol -------------------------------------------------------------------------------- /tests/ERC721/hardhat/contracts/CryticTestExt.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/contracts/CryticTestExt.sol -------------------------------------------------------------------------------- /tests/ERC721/hardhat/contracts/ExampleToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/contracts/ExampleToken.sol -------------------------------------------------------------------------------- /tests/ERC721/hardhat/hardhat.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | solidity: "0.8.13", 3 | }; 4 | -------------------------------------------------------------------------------- /tests/ERC721/hardhat/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/package-lock.json -------------------------------------------------------------------------------- /tests/ERC721/hardhat/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/package.json -------------------------------------------------------------------------------- /tests/ERC721/hardhat/tests/echidna-config-ext.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/tests/echidna-config-ext.yaml -------------------------------------------------------------------------------- /tests/ERC721/hardhat/tests/echidna-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/tests/echidna-config.yaml -------------------------------------------------------------------------------- /tests/ERC721/hardhat/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/properties/HEAD/tests/ERC721/hardhat/yarn.lock --------------------------------------------------------------------------------