- Tool:
aderyn 0.6.5 - Command:
aderyn -x mocks --output doc/security/tools/aderyn/v3.3.0-aderyn-report.md - Scope: production contracts — mocks excluded (
-x mocks). 101.solfiles, 3826 nSLOC. - Severity tally: 2 High · 0 Medium · 10 Low · 0 Informational
- Run: 2026-07-30, on the v3.3.0-rc3 source (
dev), EVM targetosaka, solc 0.8.36. - Feedback (dispositions): v3.3.0-aderyn-feedback.md · Overview: AUDIT.md
| ID | Finding | Severity | Instances | Assessment |
|---|---|---|---|---|
| H-1 | Arbitrary from passed to transferFrom |
High | 12 | False positive — standard ERC-20 transferFrom delegating to OZ allowance checks |
| H-2 | Contract locks Ether without a withdraw function | High | 1 | By design — payable UUPS upgrade path; no ETH custody in the token layer |
| L-1 | Centralization risk | Low | 33 | By design — RBAC for a regulated token; mitigate with multisig/timelock at deployment |
| L-2 | Unsafe ERC-20 operation | Low | 27 | False positive — wrappers over OpenZeppelin ERC-20 semantics |
| L-3 | Unspecific Solidity pragma | Low | 98 | By design — ^0.8.24 library policy; compiler pinned in tooling (0.8.36) |
| L-4 | PUSH0 opcode | Low | 101 | Environment — compiled for the Osaka (Fusaka) EVM target; note pre-Shanghai chains |
| L-5 | Modifier invoked only once | Low | 8 | Cosmetic — intentional access-control structure |
| L-6 | Empty block | Low | 33 | Cosmetic — intentional _authorize* override stubs |
| L-7 | Unused error | Low | 1 | By design — draft interface error not yet on a runtime path |
| L-8 | Loop contains require/revert |
Low | 4 | By design — atomic batch semantics |
| L-9 | Costly operations inside loop | Low | 5 | Optimization only — no correctness impact |
| L-10 | Unchecked return | Low | 1 | False positive — _grantRole return intentionally ignored in the initializer |
Nothing requires a code fix. Identical finding set and instance counts to the 2026-07-22 snapshot; only the size grew (3736 → 3826 nSLOC) with the rc3 fixes. Every finding is a false positive, a documented design choice, an environment note, a cosmetic item, or an optimization. See the feedback file for per-finding rationale grounded in the source.
This report was generated by Aderyn, a static analysis tool built by Cyfrin, a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities.
| Key | Value |
|---|---|
| .sol Files | 101 |
| Total nSLOC | 3826 |
| Filepath | nSLOC |
|---|---|
| contracts/deployment/CMTATStandardStandalone.sol | 32 |
| contracts/deployment/CMTATStandardUpgradeable.sol | 22 |
| contracts/deployment/CMTATUpgradeableUUPS.sol | 13 |
| contracts/deployment/ERC1363/CMTATStandaloneERC1363.sol | 20 |
| contracts/deployment/ERC1363/CMTATUpgradeableERC1363.sol | 10 |
| contracts/deployment/ERC7551/CMTATStandaloneERC7551.sol | 32 |
| contracts/deployment/ERC7551/CMTATUpgradeableERC7551.sol | 22 |
| contracts/deployment/allowlist/CMTATStandaloneAllowlist.sol | 18 |
| contracts/deployment/allowlist/CMTATUpgradeableAllowlist.sol | 8 |
| contracts/deployment/debt/CMTATStandaloneDebt.sol | 18 |
| contracts/deployment/debt/CMTATUpgradeableDebt.sol | 7 |
| contracts/deployment/debtEngine/CMTATStandaloneDebtEngine.sol | 18 |
| contracts/deployment/debtEngine/CMTATUpgradeableDebtEngine.sol | 7 |
| contracts/deployment/holderList/CMTATStandaloneHolderList.sol | 20 |
| contracts/deployment/holderList/CMTATUpgradeableHolderList.sol | 10 |
| contracts/deployment/light/CMTATStandaloneLight.sol | 14 |
| contracts/deployment/light/CMTATUpgradeableLight.sol | 7 |
| contracts/deployment/permit/CMTATStandalonePermit.sol | 18 |
| contracts/deployment/permit/CMTATUpgradeablePermit.sol | 7 |
| contracts/deployment/snapshot/CMTATStandaloneSnapshot.sol | 32 |
| contracts/deployment/snapshot/CMTATUpgradeableSnapshot.sol | 22 |
| contracts/interfaces/engine/IDebtEngine.sol | 4 |
| contracts/interfaces/engine/IDocumentEngine.sol | 4 |
| contracts/interfaces/engine/IRuleEngine.sol | 10 |
| contracts/interfaces/engine/ISnapshotEngine.sol | 8 |
| contracts/interfaces/modules/IAllowlistModule.sol | 11 |
| contracts/interfaces/modules/IDebtEngineModule.sol | 11 |
| contracts/interfaces/modules/IDebtModule.sol | 16 |
| contracts/interfaces/modules/IDocumentEngineModule.sol | 11 |
| contracts/interfaces/modules/IHolderListModule.sol | 12 |
| contracts/interfaces/modules/ISnapshotEngineModule.sol | 10 |
| contracts/interfaces/technical/ICMTATConstructor.sol | 18 |
| contracts/interfaces/technical/IERC20Allowance.sol | 4 |
| contracts/interfaces/technical/IERC5679.sol | 9 |
| contracts/interfaces/technical/IERC7802.sol | 8 |
| contracts/interfaces/technical/IGetCCIPAdmin.sol | 5 |
| contracts/interfaces/technical/IMintBurnToken.sol | 36 |
| contracts/interfaces/tokenization/ICMTAT.sol | 59 |
| contracts/interfaces/tokenization/IERC3643Partial.sol | 49 |
| contracts/interfaces/tokenization/draft-IERC1404.sol | 28 |
| contracts/interfaces/tokenization/draft-IERC1643.sol | 16 |
| contracts/interfaces/tokenization/draft-IERC1643CMTAT.sol | 8 |
| contracts/interfaces/tokenization/draft-IERC7551.sol | 44 |
| contracts/interfaces/tokenization/draft-IERC7943.sol | 24 |
| contracts/interfaces/tokenization/draft-IERC8343.sol | 7 |
| contracts/library/ERC1404ExtendInterfaceId.sol | 4 |
| contracts/library/RuleEngineInterfaceId.sol | 4 |
| contracts/modules/0_CMTATBaseCommon.sol | 76 |
| contracts/modules/0_CMTATBaseCore.sol | 143 |
| contracts/modules/0_CMTATBaseGeneric.sol | 38 |
| contracts/modules/0_CMTATBaseSnapshot.sol | 18 |
| contracts/modules/1_CMTATBaseDocument.sol | 3 |
| contracts/modules/2_CMTATBaseAccessControl.sol | 36 |
| contracts/modules/3_CMTATBaseAllowlist.sol | 209 |
| contracts/modules/3_CMTATBaseRuleEngine.sol | 102 |
| contracts/modules/4_CMTATBaseDebt.sol | 46 |
| contracts/modules/4_CMTATBaseERC1404.sol | 57 |
| contracts/modules/5_CMTATBaseERC20CrossChain.sol | 61 |
| contracts/modules/6_CMTATBaseDebtEngine.sol | 45 |
| contracts/modules/6_CMTATBaseERC2612.sol | 79 |
| contracts/modules/6_CMTATBaseERC2771.sol | 27 |
| contracts/modules/7_CMTATBaseERC2771Snapshot.sol | 60 |
| contracts/modules/7_CMTATBaseERC7551Enforcement.sol | 85 |
| contracts/modules/8_CMTATBaseERC1363.sol | 71 |
| contracts/modules/8_CMTATBaseERC7551.sol | 9 |
| contracts/modules/8_CMTATBaseHolderList.sol | 86 |
| contracts/modules/internal/AllowlistModuleInternal.sol | 49 |
| contracts/modules/internal/ERC20BurnModuleInternal.sol | 22 |
| contracts/modules/internal/ERC20EnforcementModuleInternal.sol | 138 |
| contracts/modules/internal/ERC20MintModuleInternal.sol | 36 |
| contracts/modules/internal/EnforcementModuleInternal.sol | 40 |
| contracts/modules/internal/ValidationModuleRuleEngineInternal.sol | 37 |
| contracts/modules/internal/common/EnforcementModuleLibrary.sol | 10 |
| contracts/modules/wrapper/controllers/ValidationModule.sol | 123 |
| contracts/modules/wrapper/controllers/ValidationModuleAllowlist.sol | 94 |
| contracts/modules/wrapper/core/ERC20BaseModule.sol | 43 |
| contracts/modules/wrapper/core/ERC20BurnModule.sol | 49 |
| contracts/modules/wrapper/core/ERC20MintModule.sol | 36 |
| contracts/modules/wrapper/core/EnforcementModule.sol | 35 |
| contracts/modules/wrapper/core/PauseModule.sol | 61 |
| contracts/modules/wrapper/core/TokenAttributeModule.sol | 48 |
| contracts/modules/wrapper/core/ValidationModuleCore.sol | 32 |
| contracts/modules/wrapper/core/VersionModule.sol | 8 |
| contracts/modules/wrapper/extensions/DocumentERC1643Module.sol | 59 |
| contracts/modules/wrapper/extensions/ERC20EnforcementModule.sol | 46 |
| contracts/modules/wrapper/extensions/ExtraInformationModule.sol | 88 |
| contracts/modules/wrapper/extensions/SnapshotEngineModule.sol | 44 |
| contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleAllowance.sol | 20 |
| contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleERC1404.sol | 110 |
| contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleRuleEngine.sol | 105 |
| contracts/modules/wrapper/options/AllowlistModule.sol | 43 |
| contracts/modules/wrapper/options/CCIPModule.sol | 30 |
| contracts/modules/wrapper/options/DebtEngineModule.sol | 49 |
| contracts/modules/wrapper/options/DebtModule.sol | 50 |
| contracts/modules/wrapper/options/DocumentEngineModule.sol | 72 |
| contracts/modules/wrapper/options/ERC20CrossChainModule.sol | 60 |
| contracts/modules/wrapper/options/ERC20EnforcementERC7551Module.sol | 36 |
| contracts/modules/wrapper/options/ERC2771Module.sol | 8 |
| contracts/modules/wrapper/options/ERC7551Module.sol | 37 |
| contracts/modules/wrapper/options/HolderListModule.sol | 58 |
| contracts/modules/wrapper/security/AccessControlModule.sol | 22 |
| Total | 3826 |
| Category | No. of Issues |
|---|---|
| High | 2 |
| Low | 10 |
Passing an arbitrary from address to transferFrom (or safeTransferFrom) can lead to loss of funds, because anyone can transfer tokens from the from address if an approval is made.
12 Found Instances
-
Found in contracts/modules/0_CMTATBaseCommon.sol Line: 93
return ERC20BaseModule.transferFrom(from, to, value);
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 210
return ERC20BaseModule.transferFrom(from, to, value);
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 147
return CMTATBaseCommon.transferFrom(from, to, value);
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 31
return CMTATBaseCommon.transferFrom(from, to, value);
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 44
return CMTATBaseCommon.transferFrom(from, to, value);
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 37
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 97
return CMTATBaseERC20CrossChain.transferFrom(sender, recipient, amount);
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 36
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 72
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/8_CMTATBaseERC1363.sol Line: 65
return CMTATBaseERC7551Enforcement.transferFrom(sender, recipient, amount);
-
Found in contracts/modules/8_CMTATBaseHolderList.sol Line: 49
return CMTATBaseERC7551Enforcement.transferFrom(from, to, value);
-
Found in contracts/modules/wrapper/core/ERC20BaseModule.sol Line: 59
bool result = ERC20Upgradeable.transferFrom(from, to, value);
It appears that the contract includes a payable function to accept Ether but lacks a corresponding function to withdraw it, which leads to the Ether being locked in the contract. To resolve this issue, please implement a public or external function that allows for the withdrawal of Ether from the contract.
1 Found Instances
-
Found in contracts/deployment/CMTATUpgradeableUUPS.sol Line: 11
contract CMTATUpgradeableUUPS is CMTATBaseERC2771, UUPSUpgradeable {
Contracts have owners with privileged rights to perform admin tasks and need to be trusted to not perform malicious updates or drain funds.
33 Found Instances
-
Found in contracts/deployment/CMTATUpgradeableUUPS.sol Line: 32
function _authorizeUpgrade(address newImplementation) internal virtual override(UUPSUpgradeable) onlyRole(PROXY_UPGRADE_ROLE) {}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 280
function _authorizeForcedBurn() internal virtual onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 282
function _authorizeMint() internal virtual override(ERC20MintModule) onlyRole(MINTER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 284
function _authorizeBurn() internal virtual override(ERC20BurnModule) onlyRole(BURNER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 286
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 287
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 289
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 291
function _authorizeTokenAttributeManagement() internal virtual override(TokenAttributeModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 86
function _authorizeDocumentManagement() internal virtual override(DocumentERC1643Module) onlyRole(DOCUMENT_ROLE){}
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 87
function _authorizeExtraInfoManagement() internal virtual override(ExtraInformationModule) onlyRole(EXTRA_INFORMATION_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 70
function _authorizeTokenAttributeManagement() internal virtual override(TokenAttributeModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 76
function _authorizeMint() internal virtual override(ERC20MintModule) onlyRole(MINTER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 82
function _authorizeBurn() internal virtual override(ERC20BurnModule) onlyRole(BURNER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 88
function _authorizeDocumentManagement() internal virtual override(DocumentERC1643Module) onlyRole(DOCUMENT_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 94
function _authorizeExtraInfoManagement() internal virtual override(ExtraInformationModule) onlyRole(EXTRA_INFORMATION_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 100
function _authorizeERC20Enforcer() internal virtual override(ERC20EnforcementModule) onlyRole(ERC20ENFORCER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 106
function _authorizeForcedTransfer() internal virtual override(ERC20EnforcementModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 219
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 220
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 222
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 224
function _authorizeAllowlistManagement() internal virtual override(AllowlistModule) onlyRole(ALLOWLIST_ROLE) {}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 174
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 175
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 177
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 179
function _authorizeRuleEngineManagement() internal virtual override(ValidationModuleRuleEngine) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 58
function _authorizeDebtManagement() internal virtual override(DebtModule) onlyRole(DEBT_ROLE){}
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 60
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 118
function _authorizeCCIPSetAdmin() internal virtual override(CCIPModule) onlyRole(DEFAULT_ADMIN_ROLE) {}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 138
function _authorizeBurnFrom() internal virtual override(ERC20CrossChainModule) onlyRole(BURNER_FROM_ROLE) whenNotPaused{}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 145
function _authorizeSelfBurn() internal virtual override(ERC20CrossChainModule) onlyRole(BURNER_SELF_ROLE) whenNotPaused{}
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 68
function _authorizeDebtEngineManagement() internal virtual override(DebtEngineModule) onlyRole(DEBT_ENGINE_ROLE) {}
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 70
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 89
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
ERC20 functions may not behave as expected. For example: return values are not always meaningful. It is recommended to use OpenZeppelin's SafeERC20 library.
27 Found Instances
-
Found in contracts/modules/0_CMTATBaseCommon.sol Line: 93
return ERC20BaseModule.transferFrom(from, to, value);
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 194
return ERC20Upgradeable.approve(spender, value);
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 210
return ERC20BaseModule.transferFrom(from, to, value);
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 129
return ERC20Upgradeable.approve(spender, value);
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 138
return CMTATBaseCommon.transfer(to, value);
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 135
return ERC20Upgradeable.approve(spender, value);
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 19
return CMTATBaseRuleEngine.approve(spender, value);
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 25
return CMTATBaseCommon.transfer(to, value);
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 26
return CMTATBaseRuleEngine.approve(spender, value);
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 29
return CMTATBaseCommon.transfer(to, value);
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 31
return CMTATBaseERC20CrossChain.transfer(to, value);
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 37
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 43
return CMTATBaseERC20CrossChain.approve(spender, value);
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 71
return CMTATBaseERC20CrossChain.approve(spender, value);
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 81
return CMTATBaseERC20CrossChain.transfer(to, value);
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 97
return CMTATBaseERC20CrossChain.transferFrom(sender, recipient, amount);
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 30
return CMTATBaseERC20CrossChain.transfer(to, value);
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 36
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 42
return CMTATBaseERC20CrossChain.approve(spender, value);
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 64
return CMTATBaseERC20CrossChain.transfer(to, value);
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 72
return CMTATBaseERC20CrossChain.transferFrom(from, to, value);
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 80
return CMTATBaseERC20CrossChain.approve(spender, value);
-
Found in contracts/modules/8_CMTATBaseERC1363.sol Line: 42
return CMTATBaseERC7551Enforcement.approve(spender, value);
-
Found in contracts/modules/8_CMTATBaseERC1363.sol Line: 49
return CMTATBaseERC7551Enforcement.transfer(to, value);
-
Found in contracts/modules/8_CMTATBaseHolderList.sol Line: 38
return CMTATBaseERC7551Enforcement.transfer(to, value);
-
Found in contracts/modules/8_CMTATBaseHolderList.sol Line: 60
return CMTATBaseERC7551Enforcement.approve(spender, value);
-
Found in contracts/modules/wrapper/core/ERC20BaseModule.sol Line: 59
bool result = ERC20Upgradeable.transferFrom(from, to, value);
Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of pragma solidity ^0.8.0;, use pragma solidity 0.8.0;
98 Found Instances
-
Found in contracts/deployment/CMTATStandardStandalone.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/CMTATStandardUpgradeable.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/CMTATUpgradeableUUPS.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC1363/CMTATStandaloneERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC1363/CMTATUpgradeableERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC7551/CMTATStandaloneERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC7551/CMTATUpgradeableERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/allowlist/CMTATStandaloneAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/allowlist/CMTATUpgradeableAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debt/CMTATStandaloneDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debt/CMTATUpgradeableDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debtEngine/CMTATStandaloneDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debtEngine/CMTATUpgradeableDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/holderList/CMTATStandaloneHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/holderList/CMTATUpgradeableHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/light/CMTATStandaloneLight.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/light/CMTATUpgradeableLight.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/permit/CMTATStandalonePermit.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/permit/CMTATUpgradeablePermit.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/snapshot/CMTATStandaloneSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/snapshot/CMTATUpgradeableSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IDocumentEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/ISnapshotEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IAllowlistModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDebtEngineModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDebtModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDocumentEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IHolderListModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/ISnapshotEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/ICMTATConstructor.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC20Allowance.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC5679.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC7802.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IGetCCIPAdmin.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IMintBurnToken.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/ICMTAT.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/IERC3643Partial.sol Line: 10
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1643.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1643CMTAT.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC7551.sol Line: 5
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC7943.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC8343.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseCommon.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/1_CMTATBaseDocument.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/4_CMTATBaseERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseERC2771.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/AllowlistModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20BurnModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20EnforcementModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/EnforcementModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ValidationModuleRuleEngineInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/controllers/ValidationModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/controllers/ValidationModuleAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20BaseModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20BurnModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20MintModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/EnforcementModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/PauseModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/TokenAttributeModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ValidationModuleCore.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/VersionModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/DocumentERC1643Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ERC20EnforcementModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ExtraInformationModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/SnapshotEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleAllowance.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/AllowlistModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/CCIPModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DebtEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DebtModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DocumentEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC20CrossChainModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC20EnforcementERC7551Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC2771Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC7551Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/HolderListModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/security/AccessControlModule.sol Line: 3
pragma solidity ^0.8.24;
Solc compiler version 0.8.20 switches the default target EVM version to Shanghai, which means that the generated bytecode will include PUSH0 opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not support PUSH0, otherwise deployment of your contracts will fail.
101 Found Instances
-
Found in contracts/deployment/CMTATStandardStandalone.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/CMTATStandardUpgradeable.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/CMTATUpgradeableUUPS.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC1363/CMTATStandaloneERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC1363/CMTATUpgradeableERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC7551/CMTATStandaloneERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/ERC7551/CMTATUpgradeableERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/allowlist/CMTATStandaloneAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/allowlist/CMTATUpgradeableAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debt/CMTATStandaloneDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debt/CMTATUpgradeableDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debtEngine/CMTATStandaloneDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/debtEngine/CMTATUpgradeableDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/holderList/CMTATStandaloneHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/holderList/CMTATUpgradeableHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/light/CMTATStandaloneLight.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/light/CMTATUpgradeableLight.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/permit/CMTATStandalonePermit.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/permit/CMTATUpgradeablePermit.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/snapshot/CMTATStandaloneSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/deployment/snapshot/CMTATUpgradeableSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IDocumentEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/IRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/engine/ISnapshotEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IAllowlistModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDebtEngineModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDebtModule.sol Line: 4
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IDocumentEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/IHolderListModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/modules/ISnapshotEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/ICMTATConstructor.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC20Allowance.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC5679.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IERC7802.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IGetCCIPAdmin.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/technical/IMintBurnToken.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/ICMTAT.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/IERC3643Partial.sol Line: 10
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1643.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC1643CMTAT.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC7551.sol Line: 5
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC7943.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/interfaces/tokenization/draft-IERC8343.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/library/ERC1404ExtendInterfaceId.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/library/RuleEngineInterfaceId.sol Line: 2
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseCommon.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/0_CMTATBaseSnapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/1_CMTATBaseDocument.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/4_CMTATBaseERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseERC2612.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/6_CMTATBaseERC2771.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/7_CMTATBaseERC7551Enforcement.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseERC1363.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseERC7551.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/8_CMTATBaseHolderList.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/AllowlistModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20BurnModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20EnforcementModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/EnforcementModuleInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/ValidationModuleRuleEngineInternal.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/internal/common/EnforcementModuleLibrary.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/controllers/ValidationModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/controllers/ValidationModuleAllowlist.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20BaseModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20BurnModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ERC20MintModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/EnforcementModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/PauseModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/TokenAttributeModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/ValidationModuleCore.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/core/VersionModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/DocumentERC1643Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ERC20EnforcementModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ExtraInformationModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/SnapshotEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleAllowance.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleERC1404.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleRuleEngine.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/AllowlistModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/CCIPModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DebtEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DebtModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/DocumentEngineModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC20CrossChainModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC20EnforcementERC7551Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC2771Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/ERC7551Module.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/options/HolderListModule.sol Line: 3
pragma solidity ^0.8.24;
-
Found in contracts/modules/wrapper/security/AccessControlModule.sol Line: 3
pragma solidity ^0.8.24;
Consider removing the modifier or inlining the logic into the calling function.
8 Found Instances
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 60
modifier onlyERC20ForcedBurnManager() { -
Found in contracts/modules/wrapper/core/PauseModule.sol Line: 45
modifier onlyDeactivateContractManager() { -
Found in contracts/modules/wrapper/extensions/SnapshotEngineModule.sol Line: 29
modifier onlySnapshooter() { -
Found in contracts/modules/wrapper/extensions/ValidationModule/ValidationModuleRuleEngine.sol Line: 28
modifier onlyRuleEngineManager() { -
Found in contracts/modules/wrapper/options/CCIPModule.sol Line: 30
modifier onlyCCIPSetAdmin() { -
Found in contracts/modules/wrapper/options/DebtEngineModule.sol Line: 27
modifier onlyDebtEngineManager { -
Found in contracts/modules/wrapper/options/ERC20CrossChainModule.sol Line: 44
modifier onlyBurnerFrom() { -
Found in contracts/modules/wrapper/options/ERC20CrossChainModule.sol Line: 50
modifier onlySelfBurn() {
Consider removing empty blocks.
33 Found Instances
-
Found in contracts/deployment/CMTATUpgradeableUUPS.sol Line: 32
function _authorizeUpgrade(address newImplementation) internal virtual override(UUPSUpgradeable) onlyRole(PROXY_UPGRADE_ROLE) {}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 280
function _authorizeForcedBurn() internal virtual onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 282
function _authorizeMint() internal virtual override(ERC20MintModule) onlyRole(MINTER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 284
function _authorizeBurn() internal virtual override(ERC20BurnModule) onlyRole(BURNER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 286
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 287
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 289
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/0_CMTATBaseCore.sol Line: 291
function _authorizeTokenAttributeManagement() internal virtual override(TokenAttributeModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 86
function _authorizeDocumentManagement() internal virtual override(DocumentERC1643Module) onlyRole(DOCUMENT_ROLE){}
-
Found in contracts/modules/0_CMTATBaseGeneric.sol Line: 87
function _authorizeExtraInfoManagement() internal virtual override(ExtraInformationModule) onlyRole(EXTRA_INFORMATION_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 70
function _authorizeTokenAttributeManagement() internal virtual override(TokenAttributeModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 76
function _authorizeMint() internal virtual override(ERC20MintModule) onlyRole(MINTER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 82
function _authorizeBurn() internal virtual override(ERC20BurnModule) onlyRole(BURNER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 88
function _authorizeDocumentManagement() internal virtual override(DocumentERC1643Module) onlyRole(DOCUMENT_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 94
function _authorizeExtraInfoManagement() internal virtual override(ExtraInformationModule) onlyRole(EXTRA_INFORMATION_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 100
function _authorizeERC20Enforcer() internal virtual override(ERC20EnforcementModule) onlyRole(ERC20ENFORCER_ROLE){}
-
Found in contracts/modules/2_CMTATBaseAccessControl.sol Line: 106
function _authorizeForcedTransfer() internal virtual override(ERC20EnforcementModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 219
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 220
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 222
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseAllowlist.sol Line: 224
function _authorizeAllowlistManagement() internal virtual override(AllowlistModule) onlyRole(ALLOWLIST_ROLE) {}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 174
function _authorizePause() internal virtual override(PauseModule) onlyRole(PAUSER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 175
function _authorizeDeactivate() internal virtual override(PauseModule) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 177
function _authorizeFreeze() internal virtual override(EnforcementModule) onlyRole(ENFORCER_ROLE){}
-
Found in contracts/modules/3_CMTATBaseRuleEngine.sol Line: 179
function _authorizeRuleEngineManagement() internal virtual override(ValidationModuleRuleEngine) onlyRole(DEFAULT_ADMIN_ROLE){}
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 58
function _authorizeDebtManagement() internal virtual override(DebtModule) onlyRole(DEBT_ROLE){}
-
Found in contracts/modules/4_CMTATBaseDebt.sol Line: 60
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 118
function _authorizeCCIPSetAdmin() internal virtual override(CCIPModule) onlyRole(DEFAULT_ADMIN_ROLE) {}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 138
function _authorizeBurnFrom() internal virtual override(ERC20CrossChainModule) onlyRole(BURNER_FROM_ROLE) whenNotPaused{}
-
Found in contracts/modules/5_CMTATBaseERC20CrossChain.sol Line: 145
function _authorizeSelfBurn() internal virtual override(ERC20CrossChainModule) onlyRole(BURNER_SELF_ROLE) whenNotPaused{}
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 68
function _authorizeDebtEngineManagement() internal virtual override(DebtEngineModule) onlyRole(DEBT_ENGINE_ROLE) {}
-
Found in contracts/modules/6_CMTATBaseDebtEngine.sol Line: 70
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
-
Found in contracts/modules/7_CMTATBaseERC2771Snapshot.sol Line: 89
function _authorizeSnapshots() internal virtual override(SnapshotEngineModule) onlyRole(SNAPSHOOTER_ROLE) {}
Consider using or removing the unused error.
1 Found Instances
-
Found in contracts/interfaces/tokenization/draft-IERC7943.sol Line: 116
error ERC7943CannotTransfer(address from, address to, uint256 amount);
Avoid require / revert statements in a loop because a single bad item can cause the whole transaction to fail. It's better to forgive on fail and return failed elements post processing of the loop
4 Found Instances
-
Found in contracts/modules/internal/ERC20BurnModuleInternal.sol Line: 36
for (uint256 i = 0; i < accounts.length; ++i ) {
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 38
for (uint256 i = 0; i < accounts.length; ++i ) {
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 52
for (uint256 i = 0; i < tos.length; ++i) {
-
Found in contracts/modules/internal/EnforcementModuleInternal.sol Line: 48
for (uint256 i = 0; i < accounts.length; ++i) {
Invoking SSTORE operations in loops may waste gas. Use a local variable to hold the loop computation result.
5 Found Instances
-
Found in contracts/modules/internal/AllowlistModuleInternal.sol Line: 51
for (uint256 i = 0; i < accounts.length; ++i) {
-
Found in contracts/modules/internal/ERC20BurnModuleInternal.sol Line: 36
for (uint256 i = 0; i < accounts.length; ++i ) {
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 38
for (uint256 i = 0; i < accounts.length; ++i ) {
-
Found in contracts/modules/internal/ERC20MintModuleInternal.sol Line: 52
for (uint256 i = 0; i < tos.length; ++i) {
-
Found in contracts/modules/internal/EnforcementModuleInternal.sol Line: 48
for (uint256 i = 0; i < accounts.length; ++i) {
Function returns a value but it is ignored. Consider checking the return value.
1 Found Instances
-
Found in contracts/modules/wrapper/security/AccessControlModule.sol Line: 31
_grantRole(DEFAULT_ADMIN_ROLE, admin);