Bounties
Description
The bounties submodule is used to query the Bounties Network's hosted API. This allows developers to build on the bounties protocol while still achieve great response times and filtering abilities. A more thorough discussion of the BountiesAPI can be found in its documentation.
Usage
Each filtering action on the bounties module ends up dispatching two actions: the intended filter and the loadBounties
actions. This will force the bounties module to fetch the new bounties based on the newly updated filters. In order to avoid this behavior and issue multiple actions at a time before loading, the batch
action can be dispatched with a value of true
. Ever filter set from that point until a subsequent batch
action with the value false
will only update the filter state and not produce a loadBounties
.
Actions
setSort(sort, sortOrder)
Determines how the loaded bounties
should be sorted. sort
is an enum that can take either 'usd_price'
, 'bounty_created'
, or 'deadline'
. sortOrder
can be either 'ascd'
or 'desc'
.
resetFilter(filter)
Reset only a specific filter. This filter can be any of the following: search
, stage
, difficulty
, address
, category
, platform
, and sort
.
resetFilters()
Reset all filters.
setSearch(search)
Update the search filter with search
.
toggleStageFilter(stage)
Toggle the boolean value of stage
in stageFilters
.
setStageFilter(stage, isSet)
Explicitly set the value of stage
to isSet
in stageFilters
.
allStageFilters()
Set all stage filters to true
.
toggleDifficultyFilter(difficulty)
Toggle boolean value of difficulty
in difficultyFilters
.
setDifficultyFilter(difficulty, isSet)
Explicitly set the value of difficulty
to isSet
in difficultyFilters
.
addCategoryFilter(category)
Add category
to the categoryFilters
set.
addPlatformFilter(platform)
Add platform
to the platformFilters
set.
addIssuerFilter(address)
Set the issuer filter to address
to only load bounties issue by that address.
addFulfillerFilter(address)
Set the fulfiller filter to address
to only load bounties fulfilled by that address.
removeCategoryFilter(category)
Remove category
from the categoryFilters
set.
removePlatformFilter(platform)
Remove category
from the categoryFilters
set.
toggleCategoryFilter(category)
Toggle filtering based on category
.
togglePlatformFilter(platform)
Toggle filtering based on platform
.
loadBounties()
Load the bounties that match the current specified filters. This does not load all matching bounties, only the first 25.
loadMoreBounties()
Load the next 25 bounties based on the current specified filters.
batch(isBatch)
Sets the batch flag in the module's state. When set, new actions issued do not reload bounties
. The batch flag will have to be removed before it will load again.
resetState()
Reset filters to their initial state.
State
{
"batch": bool,
"loading": bool,
"loaded": bool,
"error": bool,
"loadingMore": bool,
"loadingMoreError": bool,
"offset": bool,
"count": number,
"bounties": array,
"search": string,
"stageFilters": {
"drafts": bool,
"active": bool,
"completed": bool,
"expired": bool,
"dead": bool
},
"difficultyFilters": {
"beginner": bool,
"intermediate": bool,
"expert": bool
},
"addressFilter": {
"issuer": string,
"fulfiller": string
},
"categoryFilters": set,
"platformFilters": set,
"sort": string,
"sortOrder": string
}
Selectors
bountiesSelector(state)
Retrieves bounties
from the state
bountiesStateSelector(state)
Retrieves loading
, loaded
, error
, and batch
from the state
bountiesCountSelector
Retrieves the total number of bounties that matches the current filters
bountiesSortFilterSelector
Retrieves sort
from the state
bountiesCategoryFiltersSelector
Retrieves categoryFilters
from the state
bountiesPlatformFiltersSelector
Retrieves platformFilters
from the state
anyStageFiltersSelected
Returns whether any stage filters are currently selected
anyDifficultyFiltersSelected
Returns whether any difficulty filters are currently selected
Updated less than a minute ago