Check if Metadata settings match with compiler Standard-JSON settings
In https://github.com/foundry-rs/foundry/issues/6707 I raised it was said that the evmVersion field to metadata was added in 0.8.20 which was only a docs update by me https://github.com/ethereum/solidity/commit/1a23b7a60afcbf9f1cc97abc83ed6f912fb34a0f
This although leaves me thinking if it's true that the settings in metadata "Reflects the settings in the JSON input during compilation". Because for example the evmVersion field is not under jsonInput.settings but jsonInput.evmVersion whereas in the metadata this is metadata.settings.evmVersion. In contrast things like optimizer, remappings etc. are under both metadata.settings and jsonInput.settings.
JSON Input docs: https://docs.soliditylang.org/en/v0.8.20/using-the-compiler.html#input-description Metadata docs: https://docs.soliditylang.org/en/v0.8.20/metadata.html Example metadata: https://repo.sourcify.dev/contracts/full_match/11155111/0x2738d13E81e30bC615766A0410e7cF199FD59A83/metadata.json
I am not really sure this line we are using is correct in CheckedContract.ts
solcJsonInput.settings = JSON.parse(JSON.stringify(metadata.settings));
View in Huly HI-495