paritytech / polkadot-sdk

The Parity Polkadot Blockchain SDK
https://polkadot.network/
1.78k stars 645 forks source link

Bounty Pallet Overhaul #5033

Open joepetrowski opened 2 months ago

joepetrowski commented 2 months ago

We should make some changes to pallet-bounties for better usability and some new features. Here is a list of what I have in mind, feel free to add more in comments here:

ggwpez commented 2 months ago

Maybe also include https://github.com/paritytech/polkadot-sdk/issues/4947

kianenigma commented 2 months ago

With a strong mentorship of a core FRAME dev, this should be do-able by an external developer. We can reward this well with a tip. Marking as mentor to signal this.

Ironically, we need a bounty for this..

gui1117 commented 2 months ago

batching stuff could be achieved without global IDs by providing a new call which executes the whole batch:

lolmcshizz commented 2 months ago

Currently, bounties must be "extended" every 90 days - this makes sense to ensure that they are alive and still needed, however, it feels unnecessary if there are otherwise signs of activity e.g. if there have been child bounties awarded. It would be great if the 90 days could be from the last activity from the bounty.

xlc commented 2 months ago

The 90 days extend requirement was meant to require the curator to remark some updates about the bounty. while the bounty could indeed be active, I think it is still reasonable to expect the curator to provide some public updates to the community every 90 days. What's missing is a good UI to remark such update and make it visible to public.

lolmcshizz commented 1 month ago

Having this on-chain is pointless and just a source of friction - there are many other ways of providing updates. I do not see a universe where this is used in the "intended" way.

xlc commented 1 month ago

yeah it is unfortunate no one is using it as intended. another alternative is requiring a bounty duration when creating a bounty and requires a public proposal to renew/topup when it about to expire

PieWol commented 1 month ago
  • for bounties:

    • we can have a new call: propose_bounty_with_curator. and the curator would be another storage PendingCurator until bounty is accepted.
    • and propose_bounty_with_accepted_curator. implemented similarly.

What would be a reason to have propose_bounty_with_curator when you can have propose_bounty_with_accepted_curator?

PieWol commented 1 month ago

I'd like to execute this. @kianenigma. At least starting with implementing the possibility to create a bounty with curators at the same time. the rest can follow after there seems to be consensus on what needs to change.

xlc commented 1 month ago

Let me explain bit more initial design decision and see if want to and how to change those:

I will suggest go back to drawing board as the circumstance have been changed significantly since the initial version (Gov1 vs OpenGov) and we have lot more usages / experiences / feedbacks.

I will image steps of:

PieWol commented 1 month ago

Thanks for providing an explanation! Given that this is not only implementation I'll leave this issue be.

muharem commented 2 weeks ago

@xlc now the OpenGov can cancel the bounty and slash, I think the payout delay is still relevant. We might need to adjust the delay or the OpenGov track or/and have another body to take care of it.

xlc commented 2 weeks ago

In that case we need to find the right balance between of delay time. If too long, obviously bad, if too short, that requires OpenGov track voting time to be shorter, which could also be bad. I think we need a proper RFC with some numbers and lot more inputs from others before a decision can be made.