Skip to content

tmp slither post audit

Brian Rossetti edited this page Aug 18, 2022 · 3 revisions

slither ./ --checklist --markdown-root ./ --exclude-dependencies

'npx hardhat compile --force' running Generating typings for: 73 artifacts in dir: src/types for target: ethers-v5 Successfully generated 200 typings! Compiled 69 Solidity files successfully

Solidity 0.8.13 is not fully supported yet. You can still use Hardhat, but some features, like stack traces, might not work correctly.

Summary

arbitrary-send

Impact: High Confidence: Medium

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L196-L213

controlled-delegatecall

Impact: High Confidence: Medium

./contracts/mock/TestAvatar.sol#L32-L41

./contracts/mock/TestAvatar.sol#L43-L52

name-reused

Impact: High Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/IERC165.sol#L5-L15

./node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#L57-L138

./node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L9-L82

shadowing-state

Impact: High Confidence: High

./contracts/utils/BaalVotes.sol#L31

divide-before-multiply

Impact: Medium Confidence: Medium

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

incorrect-equality

Impact: Medium Confidence: High

./contracts/utils/BaalVotes.sol#L163-L188

./contracts/Baal.sol#L858-L892

./contracts/Baal.sol#L977-L992

./contracts/Baal.sol#L858-L892

locked-ether

Impact: Medium Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/libraries/MultiSend.sol#L9-L66

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxy.sol#L13-L44

reentrancy-no-eth

Impact: Medium Confidence: Medium

./contracts/Baal.sol#L489-L547

uninitialized-local

Impact: Medium Confidence: Medium

./contracts/Baal.sol#L643

unused-return

Impact: Medium Confidence: Medium

./contracts/tools/TributeMinion.sol#L96-L123

shadowing-local

Impact: Low Confidence: High

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L44

missing-zero-check

Impact: Low Confidence: Medium

./contracts/mock/TestAvatar.sol#L33

./contracts/mock/TestAvatar.sol#L44

./contracts/mock/TestAvatar.sol#L16

./contracts/Baal.sol#L251

./contracts/BaalSummoner.sol#L44

./contracts/Baal.sol#L252

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L23

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L31

./contracts/Baal.sol#L588

./contracts/BaalSummoner.sol#L41

./contracts/BaalSummoner.sol#L43

calls-loop

Impact: Low Confidence: Medium

./contracts/Baal.sol#L814-L816

./contracts/Baal.sol#L794-L796

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L240-L304

./contracts/Baal.sol#L754-L756

./contracts/Baal.sol#L774-L776

variable-scope

Impact: Low Confidence: High

./node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#L62

reentrancy-benign

Impact: Low Confidence: Medium

./contracts/Baal.sol#L241-L310

./contracts/Baal.sol#L319-L381

./contracts/Baal.sol#L241-L310

./contracts/Baal.sol#L241-L310

reentrancy-events

Impact: Low Confidence: Medium

./contracts/BaalSummoner.sol#L87-L128

./contracts/tools/TributeMinion.sol#L96-L123

./contracts/Baal.sol#L241-L310

./node_modules/@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol#L36-L49

./contracts/BaalSummoner.sol#L180-L223

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L111-L194

./contracts/Baal.sol#L319-L381

./contracts/Baal.sol#L625-L663

./contracts/Baal.sol#L489-L547

timestamp

Impact: Low Confidence: Medium

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L49-L68

./contracts/utils/BaalVotes.sol#L76-L107

./contracts/Baal.sol#L858-L892

./contracts/Baal.sol#L567-L579

./contracts/utils/BaalVotes.sol#L194-L223

./contracts/utils/BaalVotes.sol#L163-L188

./contracts/Baal.sol#L489-L547

./contracts/Baal.sol#L319-L381

./contracts/Baal.sol#L385-L411

assembly

Impact: Informational Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/common/StorageAccessible.sol#L36-L46

./node_modules/@gnosis.pm/safe-contracts/contracts/base/GuardManager.sol#L34-L41

./node_modules/@gnosis.pm/safe-contracts/contracts/libraries/MultiSend.sol#L26-L65

./node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#L57-L88

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L87-L143

./node_modules/@openzeppelin/contracts/utils/Address.sol#L201-L221

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L59-L75

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L15-L25

./node_modules/@gnosis.pm/safe-contracts/contracts/base/Executor.sol#L8-L26

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxy.sol#L26-L43

./node_modules/@gnosis.pm/safe-contracts/contracts/common/SecuredTokenTransfer.sol#L11-L34

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L55-L135

./node_modules/@gnosis.pm/safe-contracts/contracts/base/FallbackManager.sol#L32-L52

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L240-L304

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L44-L54

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L61-L75

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L80-L101

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L114-L132

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L340-L347

./node_modules/@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol#L19-L34

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L25-L35

./node_modules/@gnosis.pm/safe-contracts/contracts/common/StorageAccessible.sol#L13-L23

./node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#L174-L194

./node_modules/@gnosis.pm/safe-contracts/contracts/base/GuardManager.sol#L43-L49

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L42-L55

./node_modules/@gnosis.pm/safe-contracts/contracts/common/SignatureDecoder.sol#L11-L35

./node_modules/@gnosis.pm/safe-contracts/contracts/base/FallbackManager.sol#L14-L20

pragma

Impact: Informational Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L2

solc-version

Impact: Informational Confidence: High

  • ID-92 solc-0.8.13 is not recommended for deployment

  • ID-93 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/utils/Poster.sol#L14

  • ID-94 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/mock/TestERC20.sol#L2

  • ID-95 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/mock/TestAvatar.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/common/SelfAuthorized.sol#L2

  • ID-97 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/mock/MockBaal.sol#L2

  • ID-98 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#L4

  • ID-99 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4

./node_modules/@gnosis.pm/zodiac/contracts/factory/FactoryFriendly.sol#L4

  • ID-101 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4

  • ID-102 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/SharesERC20.sol#L1

  • ID-103 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/fixtures/GnosisImports.sol#L2

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L4

  • ID-105 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/Arrays.sol#L4

  • ID-106 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/ERC721TokenReceiver.sol#L2

  • ID-108 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/math/Math.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/common/Singleton.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/external/GnosisSafeMath.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/libraries/MultiSend.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/common/Enum.sol#L2

  • ID-113 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/Context.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/ERC1155TokenReceiver.sol#L2

  • ID-115 Pragma version^0.8.2 allows old versions

./node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol#L4

  • ID-116 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/LootERC20.sol#L2

  • ID-117 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/Strings.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/common/StorageAccessible.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/base/GuardManager.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/base/FallbackManager.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L2

  • ID-123 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L4

  • ID-124 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/BaalSummoner.sol#L2

  • ID-125 Pragma version^0.8.1 allows old versions

./node_modules/@openzeppelin/contracts/utils/Address.sol#L4

  • ID-126 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/tools/TributeMinion.sol#L2

  • ID-127 Pragma version>=0.8.0 allows old versions

./node_modules/@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol#L2

  • ID-128 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#L4

  • ID-129 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/utils/BaalVotes.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/ERC777TokensRecipient.sol#L2

  • ID-131 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/interfaces/IBaal.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/SignMessage.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/IProxyCreationCallback.sol#L2

./node_modules/@gnosis.pm/zodiac/contracts/interfaces/IGuard.sol#L2

  • ID-135 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/Counters.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/common/SecuredTokenTransfer.sol#L2

  • ID-137 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L4

./node_modules/@gnosis.pm/zodiac/contracts/guard/Guardable.sol#L2

  • ID-139 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L2

  • ID-142 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/DefaultCallbackHandler.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/base/Executor.sol#L2

  • ID-145 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/interfaces/IBaalToken.sol#L2

  • ID-146 Pragma version0.8.13 necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7

./contracts/Baal.sol#L10

./node_modules/@gnosis.pm/safe-contracts/contracts/common/SignatureDecoder.sol#L2

./node_modules/@gnosis.pm/zodiac/contracts/interfaces/IAvatar.sol#L4

  • ID-149 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/access/Ownable.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxy.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/IERC165.sol#L2

  • ID-152 Pragma version^0.8.2 allows old versions

./node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#L4

./node_modules/@gnosis.pm/zodiac/contracts/guard/BaseGuard.sol#L2

  • ID-154 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#L4

  • ID-155 Pragma version^0.8.1 allows old versions

./node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/common/EtherPaymentFallback.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L2

  • ID-158 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L4

  • ID-159 Pragma version^0.8.0 allows old versions

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#L4

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L2

./node_modules/@gnosis.pm/safe-contracts/contracts/interfaces/ISignatureValidator.sol#L2

low-level-calls

Impact: Informational Confidence: High

./contracts/mock/TestAvatar.sol#L32-L41

./contracts/mock/TestAvatar.sol#L43-L52

./node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#L128-L139

./node_modules/@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol#L36-L49

./node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#L60-L65

./node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#L157-L166

./contracts/Baal.sol#L587-L594

./contracts/Baal.sol#L625-L663

./contracts/Baal.sol#L319-L381

./node_modules/@openzeppelin/contracts/utils/Address.sol#L60-L65

./node_modules/@openzeppelin/contracts/utils/Address.sol#L128-L139

./node_modules/@openzeppelin/contracts/utils/Address.sol#L157-L166

./node_modules/@openzeppelin/contracts/utils/Address.sol#L184-L193

missing-inheritance

Impact: Informational Confidence: High

./node_modules/@gnosis.pm/zodiac/contracts/guard/BaseGuard.sol#L8-L38

naming-convention

Impact: Informational Confidence: High

./contracts/mock/TestAvatar.sol#L24

./contracts/mock/TestAvatar.sol#L16

./contracts/tools/TributeMinion.sol#L125

./contracts/Baal.sol#L590

./contracts/Baal.sol#L589

./contracts/BaalSummoner.sol#L65

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L76

./contracts/Baal.sol#L954

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L100

./contracts/Baal.sol#L217

./node_modules/@gnosis.pm/zodiac/contracts/guard/Guardable.sol#L19

./contracts/BaalSummoner.sol#L130

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L66

./contracts/SharesERC20.sol#L17

./contracts/mock/MockBaal.sol#L26

./contracts/Baal.sol#L217

./node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#L36

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L22

./contracts/BaalSummoner.sol#L183

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L77

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L31

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L117

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L29-L31

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L83

./contracts/mock/MockBaal.sol#L26

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L51

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L94

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L73

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L37

./contracts/SharesERC20.sol#L16

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L375

./contracts/Baal.sol#L588

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L43

./contracts/BaalSummoner.sol#L130

./node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#L21-L22

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L33

./contracts/Baal.sol#L673

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L37

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L22

./contracts/tools/TributeMinion.sol#L125

./contracts/BaalSummoner.sol#L90

./contracts/Baal.sol#L820

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L66

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L32

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L81-L83

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L418

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L23

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L28

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L33-L35

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/SignMessage.sol#L20

./contracts/BaalSummoner.sol#L65

./contracts/Baal.sol#L672

./contracts/Baal.sol#L241

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L35

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L28

./contracts/LootERC20.sol#L14

./contracts/mock/MockBaal.sol#L30

./contracts/utils/BaalVotes.sol#L31

./node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#L18-L19

./contracts/LootERC20.sol#L13

./contracts/mock/MockBaal.sol#L30

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L31

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L62

./node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#L36

redundant-statements

Impact: Informational Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L92

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L91

reentrancy-unlimited-gas

Impact: Informational Confidence: Medium

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L111-L194

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L75-L97

too-many-digits

Impact: Informational Confidence: Medium

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L59-L75

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L44-L54

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxy.sol#L26-L43

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L25-L35

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L44-L54

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L25-L35

./node_modules/@openzeppelin/contracts/proxy/Clones.sol#L59-L75

unimplemented-functions

Impact: Informational Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L10-L144

./node_modules/@gnosis.pm/zodiac/contracts/guard/BaseGuard.sol#L8-L38

unused-state

Impact: Informational Confidence: High

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L94

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L18

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L17

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L37

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L12

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L13

./node_modules/@gnosis.pm/safe-contracts/contracts/common/Singleton.sol#L10

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L20

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L52

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L10

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L14

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L8

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L16

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L37

constable-states

Impact: Optimization Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L13

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L14

./node_modules/@gnosis.pm/safe-contracts/contracts/common/Singleton.sol#L10

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L8

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L17

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L52

./node_modules/@gnosis.pm/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol#L18

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L37

external-function

Impact: Optimization Confidence: High

./node_modules/@gnosis.pm/safe-contracts/contracts/libraries/MultiSend.sol#L26-L65

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L70-L86

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L136-L148

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L158-L167

./node_modules/@gnosis.pm/safe-contracts/contracts/common/StorageAccessible.sol#L13-L23

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L111-L194

./node_modules/@openzeppelin/contracts/access/Ownable.sol#L61-L63

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L47-L54

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L49-L68

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L94-L111

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L87-L89

./contracts/utils/BaalVotes.sol#L228-L240

./contracts/utils/BaalVotes.sol#L76-L107

./contracts/Baal.sol#L241-L310

./node_modules/@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol#L408-L421

./contracts/utils/BaalVotes.sol#L67-L69

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L43-L45

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L201-L210

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L113-L117

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L181-L185

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L105-L107

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#L106-L110

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L28-L30

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L130-L132

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L31-L35

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L33-L35

./node_modules/@gnosis.pm/safe-contracts/contracts/base/FallbackManager.sol#L26-L29

./node_modules/@openzeppelin/contracts/access/Ownable.sol#L69-L72

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#L115-L119

./node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#L73-L75

./contracts/utils/BaalVotes.sol#L194-L223

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L51-L62

./node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#L66-L68

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L80-L101

./node_modules/@gnosis.pm/safe-contracts/contracts/base/ModuleManager.sol#L32-L40

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L136-L140

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L82-L91

./node_modules/@gnosis.pm/safe-contracts/contracts/base/OwnerManager.sol#L126-L128

./node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L70-L72

./node_modules/@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol#L15-L25

./node_modules/@gnosis.pm/safe-contracts/contracts/handler/CompatibilityFallbackHandler.sol#L28-L38

./node_modules/@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol#L36-L49

./node_modules/@gnosis.pm/zodiac/contracts/core/Module.sol#L23-L27

./ analyzed (73 contracts with 78 detectors), 319 result(s) found