Working Period
, encoded as structure data in a standardized format.Working Period
.Working Period
.Judgement Period
, and therefore is due an outstanding share of the bounty funds, called reward .Judgement Period
judgement, and therefore is not owed any share of the bounty funds, but has outstanding stake that can be recovered.Judgement Period
as a malicious entry, and thus has had stake slashed.Working Period
stage. Lastly, if the funding period is limited and the time passes this time, then the bounty proceeds to the Bounty Failed
stage if there was at least one contribution made, otherwise it proceeds to the Expried Funding Period
stage.Judgement Period
.Bounty Failed
stage, otherwise a transition to Bounty Successful
stage is made if the set is non-empty. Cherry is not returned to creator in this case.ClosedContractSizeLimit
MinCherryLimit
MinOracleCherryLimit
MinFundingLimit
MinWorkEntrantStake
ModuleAccountId
LOCK_ID
origin
oracle
bounty_type
creator
cherry
oracle_cherry
entrant_stake
funding_period_type
working_period_length
judging_period_length
metadata
origin
corresponds to bounty_actor
.creator
ischerry
and the oracle cherry
.cherry
and the oracle cherry
.cherry
is no less than MinCherryLimit
.oracle cherry
is no less than MinOracleCherryLimit
.entrant_stake
is no less than MinWorkEntrantStake
.bounty_type
is closed, the number of members is no greater than ClosedContractSizeLimit
, and not zero.funding_period_type
isFunding Period
.cherry
and oracle cherry
from either the council budget or controller account of the creator, and credited to account ModuleAccountId
.origin
creator
bounty_id
origin
corresponds to creator
.bounty_id
corresponds to an existing bounty
.creator
created bounty identified by bounty_id
.bounty
is either in stage Funding Period
without any contributions, or is in stage Expried Funding Period
.cherry
is credited to creator
and deducted from ModuleAccountId
.oracle cherry
is credited to creator
and deducted from ModuleAccountId
.bounty
is terminated.origin
funder
bounty_id
amount
origin
corresponds to the funder
.bounty_id
corresponds to an existing bounty
.bounty
is in stage Funding Period
.funder
can cover amount
.amount
is no less than MinFundingLimit
.amount
would bring the total amount funded so far, denoted by current_funding
, equal to or over the target or max value, denoted by limit
, and transition to the Working Period
. Let _amount
denote the quantity of funds that can be contributed to the bounty without overflowing the limit, that is min(limit - current_funding, amount)
._amount
is debited from funder
and credited towards account **** ModuleAccountId
.funder
has already contributed to the bounty, then add _amount
to their net contribution, otherwise note their total contribution to be _amount
.origin
funder
bounty_id
origin
corresponds to the funder
.bounty_id
corresponds to an existing bounty
.bounty
is in stage Bounty Failed
.funder
has made a contribution to the bounty
that has not been withdrawn.amount
made by funder
to bounty
.funder
with amount
and debit ModuleAccountId
the corresponding amount.origin
member_id
bounty_id
staking_account_id
metadata
origin
corresponds to identifier member_id
for a member.bounty_id
corresponds to an existing bounty
.bounty
is in stage Working Period
.member_id
does not have an active work entry on bounty
.bounty
is a closed bounty, then memeber_id
is among the permitted participants.staking_account_id
is a staking account associated with the member, and has a free balance no less than MinWorkEntrantStake
and no conflicting staking locks present.Working
state.staking_account_id
has lock with Id LOCK_ID
and of size MinWorkEntrantStake
set.origin
member_id
bounty_id
entry_id
origin
corresponds to identifier member_id
for a member.bounty_id
corresponds to an existing bounty
.bounty
is in stage Working Period
.entry_id
corresponds to an entry entry
with status Working
and where the worker has identifierentry
status is set to Withdrawn
.LOCK_ID
removed, and the account is slashed a share of the staked balance equal to the share of the working period length for which the entry had the status Working
.origin
member_id
bounty_id
entry_id
work_data
origin
corresponds to identifier member_id
for a member.bounty_id
corresponds to an existing bounty
.bounty
is in stage Working Period
.entry_id
corresponds to an entry entry
with status Working
and where the worker has identifierNone
.origin
oracle
bounty_id
judgement
origin
corresponds to identifier member_id
for a member.bounty_id
corresponds to an existing bounty
.bounty
is in stage Working Period
.judgement
references two disjoint sets of entries that all have status Working
judgement
, credit worker account and debited from ModuleAccountId
, remove lock with Id LOCK_ID
, and set status to Winner
.judgement
, apply slashing, remove lock with Id LOCK_ID
, and set status to Rejected
.Bounty Failed
if there are no winners, otherwise transition to Bounty Successful
.ModuleAccountId
.origin
member_id
bounty_id
entry_id
origin
corresponds to identifier member_id
for a member.bounty_id
corresponds to an existing bounty bounty
.entry_id
corresponds to an entry entry
where worker has identifier member_id
and the status is not CashedOut
or Rejected
or Withdrawn
.bounty
is in stageWithdrawal Period
.entity
has status Winner
, then the associated reward is credited to member_id
controller account and debited from ModuleAccountId
.entity
staking account has lock with Id LOCK_ID
removed.entity
status is updated to CashedOut
.