Donation Contract #33

Open
opened 2023-10-31 15:40:01 -05:00 by ladd · 1 comment
Owner

There are some requirements for a donation contract, and some optional features.

A user may submit a proposal

  • The proposal is a post and may include citations of other posts
  • The proposal SHOULD cite a donation contract
    • This enables us to find all proposals of a given type
    • This enables distribution of rewards to donation contract authors

A user may submit a donation targeting a given proposal

  • The donation contract receives funds
  • The donation contract submits SOME or ALL of the funds to a validation pool targeting the given proposal
    • If approved, REP is awarded to the validators, proposal authors, and citations
    • Otherwise, REP is awarded to the validators who policed the action
    • The funds are distributed among all members, weighted by REP
  • The donation contract MAY distribute SOME or ALL of the remaining funds to an address or addresses specified by the given proposal

A user may submit work evidence targeting a given proposal

  • This work evidence is a post and may include citations of other posts
  • The user may specify the amount of the available funds they are requesting
  • The donation contract submits the requested funds to a validation pool targeting the work evidence
    • If approved, REP is awarded to the xalidators, worker, and citations
    • Otherwise, REP is awarded to the validators who policed the action
    • The funds are distributed among all members, weighted by REP

We can distinguish the following scenarios:

Proposal to distribute funds directly to a given address

  • The DAO votes to approve, at which point the transaction executes.
  • The proposal or the donation contract SHOULD specify a fraction or amount of the donation to donate to the validation pool and thus to the DAO members for policing.
  • The entire remaining amount will go to the single designated address.

Project proposal

  • The proposal MUST include a list of milestones, with designated fraction/amount of funding for each.
  • Work evidence MUST specify a corresponding milestone.
  • Only the corresponding amount is included in the validation pool targeting this work evidence.
  • The amount of funds sent to the validation pool MAY be a fraction of the total amount designated for the milestone.
  • The remaining funds MAY be transferred to the worker who submitted the work evidence.
  • If the work evidence is rejected, the remaining funds MAY continue to be held by the donation contract, eligible to be claimed by further work evidence submissions.
There are some requirements for a donation contract, and some optional features. ### A user may submit a proposal - The proposal is a post and may include citations of other posts - The proposal SHOULD cite a donation contract - This enables us to find all proposals of a given type - This enables distribution of rewards to donation contract authors ### A user may submit a donation targeting a given proposal - The donation contract receives funds - The donation contract submits SOME or ALL of the funds to a validation pool targeting the given proposal - If approved, REP is awarded to the validators, proposal authors, and citations - Otherwise, REP is awarded to the validators who policed the action - The funds are distributed among all members, weighted by REP - The donation contract MAY distribute SOME or ALL of the remaining funds to an address or addresses specified by the given proposal ### A user may submit work evidence targeting a given proposal - This work evidence is a post and may include citations of other posts - The user may specify the amount of the available funds they are requesting - The donation contract submits the requested funds to a validation pool targeting the work evidence - If approved, REP is awarded to the xalidators, worker, and citations - Otherwise, REP is awarded to the validators who policed the action - The funds are distributed among all members, weighted by REP We can distinguish the following scenarios: ## Proposal to distribute funds directly to a given address - The DAO votes to approve, at which point the transaction executes. - The proposal or the donation contract SHOULD specify a fraction or amount of the donation to donate to the validation pool and thus to the DAO members for policing. - The entire remaining amount will go to the single designated address. ## Project proposal - The proposal MUST include a list of milestones, with designated fraction/amount of funding for each. - Work evidence MUST specify a corresponding milestone. - Only the corresponding amount is included in the validation pool targeting this work evidence. - The amount of funds sent to the validation pool MAY be a fraction of the total amount designated for the milestone. - The remaining funds MAY be transferred to the worker who submitted the work evidence. - If the work evidence is rejected, the remaining funds MAY continue to be held by the donation contract, eligible to be claimed by further work evidence submissions.
Author
Owner
sequenceDiagram
participant A as Member/Donor
participant P as Post
participant C as Contract
participant V as Validation Pool

activate C

A ->> P : ℙ Post proposal
activate A
activate P

A ->> C : Submit proposal for approval
rect rgba(0, 0, 255, 0.2)
C ->> V : Initiate validation pool
activate V
A ->> V : ℝ Stake
alt Approved
V ->> C : Proposal approved
else Rejected
V ->> A : ℝ Reward for policing
deactivate A
deactivate V
end
end

A ->> C : $ Fund proposal
activate A
deactivate A

A ->> C : 𝔼 Submit work evidence
activate A
rect rgba(255, 0, 255, 0.2)
C ->> V : Initiate validation pool
activate V
V ->> V : ℝ Mint
A ->> V : ℝ Stake
alt Approved
V ->> C : ℝ Distribute
C ->> P : ℝ Distribute
P ->> A : ℝ Distribute
C ->> A : $ MAY Distribute
else Rejected
V ->> A : ℝ Reward for policing
deactivate A
deactivate V
end
end

deactivate P
deactivate C
```mermaid sequenceDiagram participant A as Member/Donor participant P as Post participant C as Contract participant V as Validation Pool activate C A ->> P : ℙ Post proposal activate A activate P A ->> C : Submit proposal for approval rect rgba(0, 0, 255, 0.2) C ->> V : Initiate validation pool activate V A ->> V : ℝ Stake alt Approved V ->> C : Proposal approved else Rejected V ->> A : ℝ Reward for policing deactivate A deactivate V end end A ->> C : $ Fund proposal activate A deactivate A A ->> C : 𝔼 Submit work evidence activate A rect rgba(255, 0, 255, 0.2) C ->> V : Initiate validation pool activate V V ->> V : ℝ Mint A ->> V : ℝ Stake alt Approved V ->> C : ℝ Distribute C ->> P : ℝ Distribute P ->> A : ℝ Distribute C ->> A : $ MAY Distribute else Rejected V ->> A : ℝ Reward for policing deactivate A deactivate V end end deactivate P deactivate C ```
Sign in to join this conversation.
No Label
API
NC
SC
UI
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: DGF/dgf-xprize#33
No description provided.