argotorg / argotorg/solidity

Remove abi.encodePacked

Open
#11,593 20 comments 0 reactions 0 assignees View on GitHub
breaking change :warning: has dependencies language design :rage4: low effort medium impact must have eventually
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
2d 19h
Merged PRs (30d)
29

Description

`abi.encodePacked` was introduced in 0.4.22 as a backwards compatibility measure for the irregular "packed" encoding.

Since then we have introduced `bytes.concat` (#10903) and learned that most projects (rightly) do not rely on the packed encoding, but only concatenation. I suggest we drop `abi.encodePacked` in the next breaking release.

(We could consider introducing a message with #11508 if we want to test the waters 😅 , but would rather refrain from this.)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing abi.encodePacked implementation and the bytes.concat change referenced in #10903, then compare the compatibility implications with the message proposal in #11508. Done means removing abi.encodePacked in the next breaking release while preserving the intended concatenation use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.