Miscellaneous work by Patches during Round 8
Who is the proposed retrospective award recipient?
Patches - patches.eth
What specific project or work is the retrospective award in recognition of? Please detail what the project or work entailed and the duration over which it took place.
- Prompt if the user would prefer to skip key recovery when recovering wallet with unsynced clients by jshufro · Pull Request #425 · rocket-pool/smartnode · GitHub - 0.3 hours
- Print rescue node plugin info even when the EC is syncing by jshufro · Pull Request #419 · rocket-pool/smartnode · GitHub - 0.5 hours
- Remove envsubst by jshufro · Pull Request #420 · rocket-pool/smartnode · GitHub - 10 hours
- Dedup calls to LoadConfig by jshufro · Pull Request #418 · rocket-pool/smartnode · GitHub - 1 hour
Are the subjects of this award entirely open source (MIT, GPL, Apache, CC BY license or similar)? If not, which parts will not be, why, and under what license will they be published?
Yes - smartnode is GPLv3
Benefits - enter N/A where appropriate
Only NOs
- Prompt if the user would prefer to skip key recovery when recovering wallet with unsynced clients by jshufro · Pull Request #425 · rocket-pool/smartnode · GitHub
- This change makes key recovery smoother. Following a complaint that the smartnode errored out if clients are not synced but only after tediously entering the 24 word mnemonic, I updated smartnode to check sync status first and offer to the user to proceed with recovering only the wallet when clients aren’t synced. Reduces frustration for NOs.
- Print rescue node plugin info even when the EC is syncing by jshufro · Pull Request #419 · rocket-pool/smartnode · GitHub
- Improves the Smartnode / Rescue Node Addon integration by informing users that the rescue node is active even when their eth1 client is busy syncing.
- Remove envsubst by jshufro · Pull Request #420 · rocket-pool/smartnode · GitHub
- Removing envsubst from smartnode is a nonfunctional change for users, but provides two improvements.
- First, and most importantly, future changes to smartnode can take advantage of a full-fledged templating engine to create container definitions. This will be critical for bundling more complex software into smartnode, specifically, in my case, for implementing the notification system. This work was time consuming and I believe it unblocks a lot of improvements to smartnode to be made in the future, but it was not strictly required for the notification system bounty, so I believe it to be distinctly rewardable. We can also leverage this new template engine to reduce certain elements of complexity within the stack (for example, start-bn.sh, start-ec.sh and start-vc.sh can all be drastically simplified), which is a virtue in itself.
- Second, we reduce the surface area we expose to supply chain attacks be removing a third party library in favor of a golang standard library
- Removing envsubst from smartnode is a nonfunctional change for users, but provides two improvements.
- Dedup calls to LoadConfig by jshufro · Pull Request #418 · rocket-pool/smartnode · GitHub
- Meaninglessly faster responses for certain smartnode commands, but more importantly, a reduction in complexity / demining of landmines.
Payment
How much USD $ is the applicant requesting be awarded to the recipient?
11.8 hours at $80 - total $944
Is the applicant requesting RPL or LUSD?
No preference. RPL if evenly convenient for the GMC.
Conflict of Interest
Does the person or persons requesting the retrospective award have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if you have nominated a member of the GMC for this retrospective award).
No