Skip to content

Conversation

@GiovanniTorrisi-ChainSecurity
Copy link
Collaborator

@GiovanniTorrisi-ChainSecurity GiovanniTorrisi-ChainSecurity commented Jul 14, 2025

Included empty-string mapping keys in the storage variables.

This was done by relaxing the SHA3 filter in contract_state. Before, only byte sequences longer than 32 bytes were accepted as SHA3 input. However, empty-string mapping keys produce SHA3("" || slot), therefore yielding a hash input of exactly 32 bytes.

If the stricter length check was necessary to filter out false positives, let me know.

Resolves #34.

@GiovanniTorrisi-ChainSecurity GiovanniTorrisi-ChainSecurity marked this pull request as draft July 21, 2025 07:04
@GiovanniTorrisi-ChainSecurity GiovanniTorrisi-ChainSecurity added the bug Something isn't working label Jul 25, 2025
@GiovanniTorrisi-ChainSecurity GiovanniTorrisi-ChainSecurity marked this pull request as ready for review July 26, 2025 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mapping with an empty string as key is not decoded correctly

2 participants