solc-js icon indicating copy to clipboard operation
solc-js copied to clipboard

Remove low-level interface (breaking)

Open axic opened this issue 5 years ago • 4 comments

The main reason the low-level interface exists is to support older compiler, in the case where the "standard json wrapper" is failing. This was a problem until we had testing enabled for multiple versions (#394).

At this point I'd argue that it is more beneficial to fix any potential wrapper issues and just remove the low-level interface.

axic avatar Nov 20 '19 00:11 axic

Decision in call: For now we make the low level stuff use the new interface (wrapper), and complettly remove it in 0.7.0.

leonardoalt avatar Nov 20 '19 15:11 leonardoalt

Did #410 fix this? Or is there still something to do?

cameel avatar Oct 06 '21 19:10 cameel

For now we make the low level stuff use the new interface (wrapper), and complettly remove it in 0.7.0.

I think #410 did the first part.

axic avatar Nov 05 '21 02:11 axic

We have this now:

    lowlevel: {
      compileSingle: compileJSON,
      compileMulti: compileJSONMulti,
      compileCallback: compileJSONCallback,
      compileStandard: compileStandard
    },
    features: {
      legacySingleInput: compileJSON !== null,
      multipleInputs: compileJSONMulti !== null || compileStandard !== null,
      importCallback: compileJSONCallback !== null || compileStandard !== null,
      nativeStandardJSON: compileStandard !== null
    },
    compile: compileStandardWrapper,

I think it is fine. The goal here was to remove the lowlevel + features section.

axic avatar Nov 05 '21 02:11 axic