Skip to content

Commit

Permalink
Add Bounty Context to Treasury Page (#5307)
Browse files Browse the repository at this point in the history
* moved old treasury paragraph

- added banner to guides

* modified text

* added on-chain info

* fetched on-chain data

* added info about deposit

* grammar check

* minor edits

* grammar check

* Update docs/learn/learn-guides-bounties.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-guides-bounties.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-guides-bounties.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Anaelle | Parity <[email protected]>

* minor edit

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* Update docs/learn/learn-polkadot-opengov-treasury.md

Co-authored-by: Radha <[email protected]>

* grammar chack

* grammar check

---------

Co-authored-by: Anaelle | Parity <[email protected]>
Co-authored-by: Radha <[email protected]>
  • Loading branch information
3 people authored Nov 3, 2023
1 parent 31df364 commit cb28a34
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 8 deletions.
12 changes: 6 additions & 6 deletions docs/learn/learn-bridges.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,10 @@ Please read the blog article for fuller descriptions of each one of these option

### Bitcoin Bridge (XCLAIM <-> Substrate <-> Polkadot)

The Interlay team has written a [specification](https://spec.interlay.io/) on a
Bitcoin bridge that is based on the [XCLAIM](https://eprint.iacr.org/2018/643.pdf) design paper. The
protocol enables a two-way bridge between Polkadot and Bitcoin. It allows holders of BTC to
"teleport" their assets to Polkadot as iBTC, and holders of iBTC to burn their assets for
BTC on the Bitcoin chain.
The Interlay team has written a [specification](https://spec.interlay.io/) on a Bitcoin bridge that
is based on the [XCLAIM](https://eprint.iacr.org/2018/643.pdf) design paper. The protocol enables a
two-way bridge between Polkadot and Bitcoin. It allows holders of BTC to "teleport" their assets to
Polkadot as iBTC, and holders of iBTC to burn their assets for BTC on the Bitcoin chain.

The Bitcoin bridge, as documented in the specification, is composed of two logically different
components:
Expand Down Expand Up @@ -152,4 +151,5 @@ There is now a
Edgeware chain (a Substrate-based chain) - now defunct and not maintained, but a good example.
- [XCLAIM](https://eprint.iacr.org/2018/643.pdf) - XCLAIM is a framework for achieving trustless and
efficient cross-chain exchanges using cryptocurrency-backed assets.
- [Celer cBridge](https://github.com/celer-network/cBridge-contracts) - a bridge to transfer assets from Ethereum & Binance Smart Chain to the Astar Polkadot EVM.
- [Celer cBridge](https://github.com/celer-network/cBridge-contracts) - a bridge to transfer assets
from Ethereum & Binance Smart Chain to the Astar Polkadot EVM.
16 changes: 15 additions & 1 deletion docs/learn/learn-guides-bounties.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ keyword: [treasury, bounties, guides, child bounty]
slug: ../learn-guides-bounties
---

import RPC from "./../../components/RPC-Connection";

For these guides, you will use the [Polkadot-JS UI](https://polkadot.js.org/apps/#/explorer).

:::info Notify the Polkadot Direction Channel
Expand All @@ -32,6 +34,17 @@ proposal as an OpenGov referendum, the bounty will show as "funded" at the end o
[Bounties page](https://polkadot.js.org/apps/#/bounties). You can then proceed with assigning
curators to the bounty.

To minimize storage on chain in the same way as any proposal, bounties don't contain contextual
information. When a user submits a bounty spending proposal, they will need to find an off-chain
medium to explain the proposal, for example a bounty proposal document on
[Polkassembly](https://polkadot.polkassembly.io/opengov) or
[Subsquare](https://polkadot.subsquare.io/).
[This template](https://docs.google.com/document/d/1-IBz_owspV5OcvezWXpksWDQReWowschD0TFuaVKKcU/edit?usp=sharing)
can be used to submit all the information needed by OpenGov voters to make an informed decision.

Submitting a bounty proposal will reserve
{{ polkadot: <RPC network="polkadot" path="consts.bounties.bountyDepositBase" defaultValue={10000000000} filter="humanReadable"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.bountyDepositBase" defaultValue={33333333300} filter="humanReadable"/> :kusama }}.

## Assign a Curator to a Bounty

Once your bounty is shown as "funded" on the main
Expand Down Expand Up @@ -80,7 +93,8 @@ bounty 17 refers to the Community Events Bounty, which has 183 child bounties.

![polkassembly-child-bounties](../assets/polkassembly-child-bounties.png)

After a child bounty has been awarded and the {{ polkadot: 8 :polkadot }}{{ kusama: 4 :kusama }}-day
After a child bounty has been awarded and the
{{ polkadot: <RPC network="polkadot" path="consts.bounties.bountyDepositPayoutDelay" defaultValue={115200} filter="blocksToDays"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.bountyDepositPayoutDelay" defaultValue={57600} filter="blocksToDays"/> :kusama }}-day
delay elapsed, follow the guidelines in the video tutorial below to learn how to claim a child
bounty reward. Note that the extrinsic to claim the child bounty reward is permissionless, and
anyone can initiate the claim on behalf of the beneficiary.
Expand Down
70 changes: 70 additions & 0 deletions docs/learn/learn-polkadot-opengov-treasury.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,73 @@ track on-chain. Learn how to submit a treasury proposal for referendum
[here](./learn-guides-treasury#creating-a-treasury-proposal).

:::

## Bounties

:::info Bounty Guides

See the [bounty guides](./learn-guides-bounties.md) to learn about how to
[create a bounty](./learn-guides-bounties.md#submit-a-bounty-proposal),
[assign a curator](./learn-guides-bounties.md#assign-a-curator-to-a-bounty) to a bounty, as well as
[creating and awarding child bounties](./learn-guides-bounties.md#create-and-award-child-bounties)
and [claiming child bounties rewards](./learn-guides-bounties.md#claim-a-child-bounty-reward).

:::

### Parent Bounties

Getting treasury funding through OpenGov, depending on which treasury track you submit your
referendum, can be a long and uncertain process. This is not always a suitable option, for example,
for event organizers who need to pay costs upfront or close to the event's date. Bounties solve this
problem by procuring access to treasury funds in a single shot and using them to fund multiple
events later on through [child bounties](#child-bounties). This is why bounties are also called
_parent_ bounties.

Parent bounty proposals aim to reserve a portion of treasury funds once, which will be used later.
They save proponents the time needed to create and obtain approval for several OpenGov referenda.
Bounties are managed by curators, where the curator is usually a
[multi-signature account](./learn-account-multisig.md). Bounties can access a large amount of funds,
so managing those funds with a multisig is a good practice to enhance security. Essentially,
curators are multisig addresses with agency over a portion of the treasury to promote events, fix a
bug or vulnerability, develop a strategy, or monitor a set of tasks related to a specific topic, all
for the benefit of the {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} ecosystem.

A proposer can [submit a bounty proposal](./learn-guides-bounties.md#submit-a-bounty-proposal) to
OpenGov,
[with a curator to be defined later](./learn-guides-bounties.md#assign-a-curator-to-a-bounty), whose
background and expertise is such that they can determine when the task is complete.

When submitting the value of the bounty, the proposer can specify a fee that will be paid to
curators willing to invest their time and expertise in the task; this amount will be included in the
total value of the bounty. In this sense, the curator's fee can be defined as the difference between
the amounts paid to child bounty awardees and the total value of the bounty.

Curators are selected through OpenGov referendum after the bounty proposal passes; and they need to
pay an upfront deposit to take the position. The deposit is calculated by multiplying the curator
fee by
{{ polkadot: <RPC network="polkadot" path="consts.bounties.curatorDepositMultiplier" defaultValue={500000} filter="permillToPercent"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.curatorDepositMultiplier" defaultValue={500000} filter="permillToPercent"/> :kusama }}%,
and it can range between a minimum of
{{ polkadot: <RPC network="polkadot" path="consts.bounties.curatorDepositMin" defaultValue={100000000000} filter="humanReadable"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.curatorDepositMin" defaultValue={3333333330} filter="humanReadable"/> :kusama }}
and a maximum of
{{ polkadot: <RPC network="polkadot" path="consts.bounties.curatorDepositMax" defaultValue={2000000000000} filter="humanReadable"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.curatorDepositMax" defaultValue={166666666500} filter="humanReadable"/> :kusama }}.
This deposit can be used to punish curators if they act maliciously. However, if they are successful
in managing the bounty to completion, they will receive their deposit back, and part of the bounty
funding as a payment for their efforts.

Curators are expected to have a decent track record in addressing the issues the bounty wants to
solve. They should be very knowledgeable on the topics covered by the bounty and have proven project
management skills or experience. These recommendations help ensure an effective use of the bounty
mechanism. A Bounty is a reward for a specified body of work or set of objectives that needs to be
executed for a predefined treasury amount designated to be paid out. The responsibility of assigning
a payout address once the specified set of objectives is completed is delegated to the curator.

The bounty has a predetermined duration of
{{ polkadot: <RPC network="polkadot" path="consts.bounties.bountyUpdatePeriod" defaultValue={1296000} filter="blocksToDays"/> :polkadot }}{{ kusama: <RPC network="kusama" path="consts.bounties.bountyUpdatePeriod" defaultValue={1296000} filter="blocksToDays"/> :kusama }}
days, with possible extension(s) to be requested by the curator. To maintain flexibility during the
tasks’ curation, the curator will also be able to create child bounties for more granularity in the
allocation of funds and as part of a nested iteration of the bounty mechanism.

### Child Bounties

Child bounties are spawned from [parent bounties](#parent-bounties). Child bounties are used to
access funds directly from the parent bounty without going through an OpenGov referendum.
3 changes: 2 additions & 1 deletion docs/maintain/maintain-guides-async-backing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ to set the stage.

:::info

For more contextual information about asynchronous backing, see [this page](../learn/learn-async-backing.md).
For more contextual information about asynchronous backing, see
[this page](../learn/learn-async-backing.md).

:::

Expand Down

0 comments on commit cb28a34

Please sign in to comment.