Funding Queue (FundingQueue)
Funding Queues are a core mechanic described in the Colony whitepaper, allowing for teams to allocate resources in a distributed manner. Members of a colony can make and back funding proposals, requesting that some number of tokens be transferred between domains. The more reputation backing a proposal, the more quickly the proposal is fulfilled, up to a maximum of half of the source domain's assets per week. By creating and bacing funding proposals throughout the colony, a steady flow of resources from the root through the domains can be achieved.
Interface Methods
▸ backProposal(uint256 _id, uint256 _backing, uint256 _currPrevId, uint256 _newPrevId, bytes memory _key, bytes memory _value, uint256 _branchMask, bytes32[] memory _siblings)
Back a funding proposal and advance it along the list
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
| _backing | uint256 | The amount of backing to give the proposal (up to user's reputation) | 
| _currPrevId | uint256 | The current previous proposal in the list | 
| _newPrevId | uint256 | The new previous proposal after we re-arrange | 
| _key | bytes | A reputation hash tree key, of the caller's reputation in _domainId | 
| _value | bytes | Reputation value indicating the caller's reputation in _domainId | 
| _branchMask | uint256 | The branchmask of the proof | 
| _siblings | bytes32[] | The siblings of the proof | 
▸ cancelProposal(uint256 _id, uint256 _prevId)
Cancel a funding proposal and remove from linked list
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
| _prevId | uint256 | The id of the preceding proposal in the linked list | 
▸ createProposal(uint256 _domainId, uint256 _fromChildSkillIndex, uint256 _toChildSkillIndex, uint256 _fromPot, uint256 _toPot, uint256 _totalRequested, address _token)
Create a new funding proposal
Parameters
| Name | Type | Description | 
|---|---|---|
| _domainId | uint256 | The domain the extension has the funding permission | 
| _fromChildSkillIndex | uint256 | The index of the fromPot's domain in _domainId.children[] | 
| _toChildSkillIndex | uint256 | The index of the toPot's domain in _domainId.children[] | 
| _fromPot | uint256 | Funding pot id providing the funds | 
| _toPot | uint256 | Funding pot id receiving the funds | 
| _totalRequested | uint256 | The total amount being requested | 
| _token | address | The token being transferred | 
▸ deprecate(bool _deprecated)
Called when deprecating (or undeprecating) the extension
Parameters
| Name | Type | Description | 
|---|---|---|
| _deprecated | bool | Indicates whether the extension should be deprecated or undeprecated | 
▸ finishUpgrade()
Called when upgrading the extension
▸ getMetatransactionNonce(address userAddress):uint256 nonce
Gets the next nonce for a meta-transaction
Parameters
| Name | Type | Description | 
|---|---|---|
| userAddress | address | The user's address | 
Return Parameters
| Name | Type | Description | 
|---|---|---|
| nonce | uint256 | The nonce | 
▸ getNextProposalId(uint256 _id):uint256 nextId
Gets the id of the next proposal in the list
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
Return Parameters
| Name | Type | Description | 
|---|---|---|
| nextId | uint256 | The next proposal Id in the list | 
▸ getProposal(uint256 _id):Proposal proposal
Get the proposal struct for a given proposal
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
Return Parameters
| Name | Type | Description | 
|---|---|---|
| proposal | Proposal | The proposal struct | 
▸ getProposalCount():uint256 count
Get the total number of proposals
Return Parameters
| Name | Type | Description | 
|---|---|---|
| count | uint256 | The count | 
▸ getSupport(uint256 _id, address _supporter):uint256 support
Gets the reputation support from a user to a proposal
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
| _supporter | address | The supporter | 
Return Parameters
| Name | Type | Description | 
|---|---|---|
| support | uint256 | The support amount | 
▸ identifier():bytes32 _identifier
Returns the identifier of the extension
Return Parameters
| Name | Type | Description | 
|---|---|---|
| _identifier | bytes32 | The extension's identifier | 
▸ install(address _colony)
Configures the extension
Parameters
| Name | Type | Description | 
|---|---|---|
| _colony | address | The colony in which the extension holds permissions | 
▸ pingProposal(uint256 _id)
Transfer the marginal funds
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
▸ reclaimStake(uint256 _id)
Reclaim the stake after the proposal is funded
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
▸ stakeProposal(uint256 _id, bytes memory _key, bytes memory _value, uint256 _branchMask, bytes32[] memory _siblings)
Stake a funding proposal
Parameters
| Name | Type | Description | 
|---|---|---|
| _id | uint256 | The proposal Id | 
| _key | bytes | A reputation hash tree key, of the total reputation in _domainId | 
| _value | bytes | Reputation value indicating the total reputation in _domainId | 
| _branchMask | uint256 | The branchmask of the proof | 
| _siblings | bytes32[] | The siblings of the proof | 
▸ uninstall()
Called when uninstalling the extension
▸ version():uint256 _version
Returns the version of the extension
Return Parameters
| Name | Type | Description | 
|---|---|---|
| _version | uint256 | The extension's version number |