I'll like to offer the following bounties for whoever does these and get them merged in Electron-Cash as plugins that can be opt-in activated:





1. Privacy plugin: Change elimination (0.2 BCH by itself)

1.1 This plugin should have a GUI interface that allows you to specify a recipient address, a maximum amount in BCH, and a minimum age.

1.2 The recipient address is intended to be a semi-busy donation address, for example @eatBCH's donation address at pp8skudq3x5hzw8ew7vzsw8tn4k8wxsqsv0lt0mf3g.

1.3 Whenever Electron-cash starts up, the plugin (if active) scans the change outputs for outputs that are below the maximum amount specified, and above the minimum age specified. "Received" outputs are unaffected.

1.4 If it detects any such output(s), a dialog box pops up and asks you something along the line of "Leftover small change 0.00052 BCH detected. Donate to improve privacy. Proceed? Y/N"; Clicking yes will donate the change output in a 1-in-1-out transaction.

1.5 The plugin can be deactivated or reactivated anytime through GUI.

1.6 Optional: The plugin may allow entering multiple recipient addresses that it rotates through, further improving privacy.

Motivation: Leftover change in a wallet will eventually be combined, making the multi-address privacy in an HD wallet vulnerable to being joined by chain analysis. Privacy-minded users can already manually get rid of their small change in Electron-cash; however, automating the process can encourage more people to do so. It will also benefit charities and projects who could use the money.





2. Recurring payments plugin (0.3 BCH by itself)

2.1 This plugin should have a GUI interface that allows you to specify multiple recipient addresses, an amount of BCH associated with each of them, a time interval associated (day of the month/week at what time, etc.), as well as a checkbox "confirm?" that applies to non-password-protected wallets.

2.2 At the specified time(s), as long as Electron-cash is active, the plugin pays out the specified amount of BCH to each recipient. If the wallet is password-protected, it asks for the password (EC does not store password for encrypted wallets). If it's not password-protected, the payment is done with just an after-the-fact notification, unless the "confirm" checkbox was checked, in which case it asks before paying.

2.3 If multiple entries share an identical payment time, they will be paid in the same transaction as multiple outputs.

2.4 If Electron-cash is not active or the plugin is not active at the time of payment, nothing happens. The plugin will pop up a confirmation dialog ("You have X payment due! Pay now?") the next time you open Electron-cash or activate the plugin.

2.5 The plugin can be deactivated or reactivated anytime via GUI.

Motivation: Recurring payments, whether for donations (a potential Patreon replacement) or bills (in the future) is a very desirable feature to have. Smart contracts lock up your money, require more development to integrate with the rest of the system or be intuitive to use, and are public in nature. I believe a simple software solution has a place and can be done today.





3. 0.05 BCH extra will be paid for each if their features can also be used via the command line.





This bounty applies to plugins that can be used in the desktop variants of Electron-cash. Getting them integrated in (future) mobile versions are very nice, but not mandatory.

Electron-cash repo here:

If you got your plugin working and merged, contact me to claim bounty! I'm @im_uname on Twitter, and @im_uname at the BCF Discord at ambassador.cash, and /u/imaginary_username on Reddit. You need to prove you are actually associated with the Github account submitting the PR.

FAQ

Why do this?

I do these things already and will like to see them automated. I also like the idea of having people easily improve their privacy while benefiting projects, as well as easily pay someone routinely while remaining in full control. My Python is also unfortunately shit so I can't do it myself.

Isn't the bounty way too small? You know how much a pro developer costs?

I'm fully aware that pro developers are expensive, but I'm also not terribly wealthy. If you'll like to contribute to the pot, chuck some my way below.

Shouldn't the recurring payments thing incorporate <insert advanced feature>, like Stealth addresses, multisig security control, recipient communication etc.?

It's an already tiny 0.3 BCH bounty, dude. I can't ask too much. One step at a time.

I noticed something obvious I think you should add in your bounty.

Leave a comment below!

I want to do it!

Please do.

I hate this!

It's a plugin, you don't have to activate it.

Doesn't Lightning network already do the recurring payments thing?

This is BCH territory.

Is there anything behind the $5 paywall?

No, but I'll plow the paywall into the bounty pot.

The bounty is denominated in BCH. If the price rises a lot is it still valid?

Yes.

What if price drops a lot?

It still applies, just might be less appealing. On a side note, please don't.

What if Fyookball and I got into a fistfight a while ago, and he refuses to merge my stuff despite it working perfectly?

Fork the repo and we can test the thing separately.

How do I know you'll pay out?

Checksum0 knows where I live.

Update:

Is there a place I can track the pot so I know how much additional coins from here and elsewhere have been plowed into the bounty?

Sure! I'm collecting them here: bitcoincash:qpqgflx8yvd887nw32228fy3rakqv82xpcrfsqsluh

Update2: The total bounty just exceeded 0.7 BCH.