crytic / crytic/slither

[Bug-Candidate]: too-many-digits check flagging use of type(BeaconProxy).creationCode

Open
#1,223 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
6.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

### Describe the issue:

The `too-many-digits` check is flagging the use of `bytes memory creationCode = type(BeaconProxy).creationCode;`.

As no digits are involved in this code it shouldn't be flagged at all.

### Code example to reproduce the issue:
```

pragma solidity ^0.8.2;
import '@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol';

contract C {
struct S {
address o;
}

function test() public returns (bytes memory){
bytes memory code = type(BeaconProxy).creationCode;

return code;
}
}
```

### Version:

0.8.3

### Relevant log output:

```shell
C.test() (test_contract.sol#9-13) uses literals with too many digits:
- code = type()(BeaconProxy).creationCode (test_contract.sol#10)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.