Open
Description
@alcuadrado and others proposed to expose the boundary between code and data in the emitted bytecode ( https://www.notion.so/Miscellaneous-debugging-symbols-Initial-proposal-2948f1a1f74742c0901ad54af05fa1ff ). I think this is a good idea, but we should not stop at only that number.
In essence, we have code, sub-objects (runtime code of the current contract or creation code of created contracts), data and metadata. This structure also matches what we have when we compile Yul objects, so I think a common data format can be found here.
Proposal:
Export an array of sections, each section is a json object of the following form:
{
start: x, // bytes
length: n, // bytes
kind: 'code' / 'data' / 'object' / 'deployObject' / 'metadata',
name: 'factory.sol:Factory'
]
Metadata
Metadata
Assignees
Labels
Changes are very prominent and affect users or the project in a major way.There is not much implementation work to be done. The task is very easy or tiny.Something we consider essential but not enough to prevent us from releasing Solidity 1.0 without it.The proposal is too vague to be implemented right awayPotential changes to ABI, meta data, standard JSON