4 ms·
This postmortem is disingenious at best and lying at worst. > The restructuring of the original multi-sig wallet contract happened as part of a much larger cha
by nemetroid 9y ago
This postmortem is disingenious at best and lying at worst.
> The restructuring of the original multi-sig wallet contract happened as part of a much larger change, namely the introduction of the Wallet user-interface, a 4000-line, almost entirely Javascript, CSS and HTML alteration.
The pull request in question[0] adds 2228 lines and removes 918. Not sure how this adds up to 4000 lines. But let's look at those lines:
* 685 were in a related "wallet.sol" file, though most of it due to changing indentation from 2 to 4 spaces. If you revert that, the diff goes down to 79 lines.
* 793 were in the buggy contract, "enhanced_wallet.sol". Same thing applies here, 520 lines were due to the change in indentation spaces.
* 477 + 466 lines are what appears to be auto-generated JSON related to the above.
Summing it up, out of the claimed 4000 lines:
* 854 were pure exaggeration,
* 1126 were whitespace changes,
* 943 were autogenerated files related to the contracts,
* 79 were in a related contract,
* 273 were in the buggy contract,
* 725 were other changes,
* 0 were HTML or CSS changes.
Perhaps the "alteration" referred to also includes related changes not part of the same pull request, though I was not able to find any related pull requests close in time to this one. But since the article refers to a 4000-line "alteration" which supposedly consists mainly of HTML, CSS and Javascript, I sure hope there is some other changeset referred to, and that this is not just a blatant lie.
> The first and biggest change will be to ensure that any alterations to the codebase that involve live contract code (which can be generally identified through .sol files) be reviewed by Solidity experts. At present the multi-sig wallet is the only Solidity code that is user-deployable and in wide use within Parity.
A few paragraphs up, you say that you already had exactly that policy:
> Changes which are understood to be sensitive (such as with contracts or core consensus code) are tagged as such and undergo a greater level of review, generally two or more expert reviews.
At no point does Parity seem to take responsibility for what happened, and the article ends with a paragraph trying to shift blame to the design of the Solidity language.
[0]: https://github.com/paritytech/parity/pull/4805 https://github.com/paritytech/parity/pull/4805