Handle standard JSON translation with `outputSelection` for `=<0.4.19`
- Dominant language
- TypeScript
- Stars
- 1.5k
- Forks
- 349
- Avg merge
- 8m
- Merged PRs (30d)
- 1
Description
We've come across an issue while recompiling a contract with `0.4.19` as laid out here: https://github.com/ethereum/sourcify/issues/1017
TLDR: The compiler gives empty JSON output without throwing because the `outputSelection` fields were introduced in `0.4.18` and updated in `0.4.19`.
I believe the `outputSelection` field needs to be handled by the JSON translator [translate.ts](https://github.com/ethereum/solc-js/blob/master/translate.ts) of `solc-js` for the earlier versions.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in translate.ts and trace how outputSelection is translated for Solidity compiler versions 0.4.18 and 0.4.19. Confirm the empty JSON output case described in the issue, then verify that earlier compiler versions handle standard JSON translation with outputSelection without throwing or producing empty output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- solidity, typescript
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100