-
Notifications
You must be signed in to change notification settings - Fork 28
Description
The ethPM spec would be an ideal format for creating the output interface specification for our EVM compilers. Solidity already has a similar JSON output format that has informed the ethPM spec partially, but we have a chance to optimize a common format so that each EVM language compiler stores it's output compiled assets in a format compatible with package managers (to encourage re-use of common contracts using infrastructure instead of recreating common patterns), as well as enabling ecosystem tools requiring compiled assets (testing tools, deployment managers, simulations, formal verifiers, etc.) to make use of this common format for their own purposes.
Optionally, the ethPM spec may be able to formalize the compiler input interface so that any wrappers can leverage this format in order to delegate compilation processes in a common way. An example of this would be how populus would leverage py-solc or vyper's python package directly in order to pass a JSON object representing the input compiler settings and source code to these packages and add to the output.
Came out of discussions with @pipermerriam and @axic