In geth, the code is currently stored outside the tree. Reading from the tree will take time, and until this happens, code will be stored twice. Since code can no longer be written to after the first time, it makes sense to just encode code groups as their commitment and add them to the witness from the whole code read from the db.
Rationale
In geth, the code is currently stored outside the tree. Reading from the tree will take time, and until this happens, code will be stored twice. Since code can no longer be written to after the first time, it makes sense to just encode code groups as their commitment and add them to the witness from the whole code read from the db.